Messages in this thread | | | From | Thomas Renninger <> | Subject | Re: [PATCH 3/3] trace points: power: remove 'cpu_id' from trace_cpu_idle | Date | Mon, 22 Aug 2011 10:27:34 +0200 |
| |
On Saturday, August 20, 2011 04:40:09 AM Ming Lei wrote: > Hi, > > 2011/8/20 Thomas Renninger <trenn@suse.de>: > > On Friday, August 19, 2011 05:04:04 PM tom.leiming@gmail.com wrote: > >> From: Ming Lei <tom.leiming@gmail.com> > >> > >> This patch removes the 'cpu_id' parameter of the cpu_idle > >> trace point, based on the ideas below: > >> > >> - the cpu_id which is passed to trace point is always the current > >> cpu > > Are you sure this will always be true? > > It is sure at least now, the only place to pass 'dev->cpu' is inside > cpuidle_idle_call, It was known that cpu_id is always the current cpu with current implementation when this got introduced. But the perf events API must not change back and forth for userspace compatibility. Therefore the cpu_id was added in case that future implementations want to pass info where the current cpu is not the cpu which is sent to the sleep state.
> smp_processor_id() can't be used safely in preemptible context. I expect the only side effect that could happen is that if smp_process_id is interrupted you get the wrong core id on a cpu idle trace event. This only happens if cpuidle is not used and even then should happen very rarely, nothing to worry for a debug tool like that. And it should get fixed if these idle functions get fully integrated into cpuidle at some point of time.
Thomas
| |