Re: [PATCH V5 00/12] perf: Add Icelake support (kernel only, except Topdown)

Liang, Kan
2019-04-08T16:25:21Z

>> @@ -963,40 +963,42 @@ static u64 pebs_update_adaptive_cfg(stru
>>       u64 pebs_data_cfg = 0;
>>       bool gprs, tsx_weight;
>> -    if ((sample_type & ~(PERF_SAMPLE_IP|PERF_SAMPLE_TIME)) ||
>> -        attr->precise_ip < 2) {
>> +    if (!(sample_type & ~(PERF_SAMPLE_IP|PERF_SAMPLE_TIME)) &&
>> +        attr->precise_ip > 1)
>> +        return pebs_data_cfs;

Sorry, there are two typos. I didn't find in the previous email.
Should be pebs_data_cfg.

>> -        if (sample_type & PERF_PEBS_MEMINFO_TYPE)
>> -            pebs_data_cfg |= PEBS_DATACFG_MEMINFO;
>> +    if (sample_type & PERF_PEBS_MEMINFO_TYPE)
>> +        pebs_data_cfg |= PEBS_DATACFG_MEMINFO;
>> +    /*
>> +     * We need GPRs when:
>> +     * + user requested them
>> +     * + precise_ip < 2 for the non event IP
>> +     * + For RTM TSX weight we need GPRs for the abort code.
>> +     */
>> +    gprs = (sample_type & PERF_SAMPLE_REGS_INTR) &&
>> +           (attr->sample_regs_intr & PEBS_GPRS_REGS);
>> +
>> +    tsx_weight = (sample_type & PERF_SAMPLE_WEIGHT) &&
>> +             ((attr->config & INTEL_ARCH_EVENT_MASK) ==
>> +              x86_pmu.rtm_abort_event);
>> +
>> +    if (gprs || (attr->precise_ip < 2) || tsx_weight)
>> +        pebs_data_cfg |= PEBS_DATACFG_GPRS;
>> +
>> +    if ((sample_type & PERF_SAMPLE_REGS_INTR) &&
>> +        (attr->sample_regs_intr & PERF_XMM_REGS))

Should be PEBS_XMM_REGS.

Thanks,
Kan