On Wed, 24 May 2017, Paul E. McKenney wrote:
> > @@ -8920,7 +8912,7 @@ perf_event_mux_interval_ms_store(struct
> >     pmu->hrtimer_interval_ms = timer;
> > 
> >     /* update all cpuctx for this PMU */
> > -   get_online_cpus();
> > +   cpus_read_lock();
> 
> OK, I'll bite...
> 
> Why is this piece using cpus_read_lock() instead of pmus_lock?
> 
> My guess is for the benefit of the cpu_function_call() below, but if
> the code instead cycled through the perf_online_mask, wouldn't any
> CPU selected be guaranteed to be online?

Indeed.

> Or is there some reason that it would be necessary to specially handle
> CPUs that perf does not consider to be active, but that are still at
> least partway online?

I have to delegate that question to Peter :)

Thanks,

        tglx

Reply via email to