lkml.org 
[lkml]   [2015]   [Oct]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH V2 22/30] coresight: etm-perf: new PMU driver for ETM tracers
    Date
    Mathieu Poirier <mathieu.poirier@linaro.org> writes:

    > +static int etm_event_pmu_start(struct perf_event *event)
    > +{
    > + int cpu, ret;
    > + cpumask_t mask;
    > + struct coresight_device *csdev;
    > +
    > + cpumask_clear(&mask);
    > + if (event->cpu != -1)
    > + cpumask_set_cpu(event->cpu, &mask);
    > + else
    > + cpumask_copy(&mask, cpu_online_mask);
    > +
    > + for_each_cpu(cpu, &mask) {
    > + csdev = per_cpu(csdev_src, cpu);
    > +
    > + if (!source_ops(csdev)->perf_start)
    > + continue;
    > +
    > + ret = source_ops(csdev)->perf_start(csdev);
    > + if (ret)
    > + goto err;

    So long as "perf_start" and "perf_stop" here mean
    "pm_runtime_get()/put()", this can work, but in that case maybe a better
    name should be used, because no real starting or stopping of anything
    takes place here. Since pmu::event_init and event::destroy happen in
    allocation/deallocation paths and at event scheduling, it's not a good
    idea to actually start anything here.

    Regards,
    --
    Alex


    \
     
     \ /
      Last update: 2015-10-19 18:01    [W:2.320 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site