[PATCH V7 24/24] perf tools: adding coresight etm PMU record capabilities

Mathieu Poirier mathieu.poirier at linaro.org
Wed Dec 23 08:46:29 PST 2015


On 19 December 2015 at 10:27, Rabin Vincent <rabin at rab.in> wrote:
> On Fri, Dec 18, 2015 at 01:59:20PM -0700, Mathieu Poirier wrote:
>> +struct auxtrace_record
>> +*auxtrace_record__init(struct perf_evlist *evlist, int *err)
>> +{
>> +     struct perf_pmu *cs_etm_pmu;
>> +     struct perf_evsel *evsel;
>> +     bool found_etm = false;
>> +
>> +     cs_etm_pmu = perf_pmu__find(CORESIGHT_ETM_PMU_NAME);
>> +
>> +      if (evlist) {
>> +             evlist__for_each(evlist, evsel) {
>> +                     if (cs_etm_pmu &&
>> +                         evsel->attr.type == cs_etm_pmu->type)
>> +                             found_etm = true;
>> +             }
>> +     }
>> +
>> +     if (found_etm)
>> +             return cs_etm_record_init(err);
>> +
>> +     *err = -EINVAL;
>
> This should not set an error code when found_etm is false.  Otherwise
> any attempt to uses perf record without a cs_etm event enabled errors
> out.

Yes, you're right.

Many thanks for the thorough review,
Mathieu

>
>> +     return NULL;
>> +}



More information about the linux-arm-kernel mailing list