Re: [PATCH 3/3] trace points: power: remove 'cpu_id' from trace_cpu_idle
From: Thomas Renninger <hidden>
Date: 2011-08-22 08:27:48
Also in:
lkml
On Saturday, August 20, 2011 04:40:09 AM Ming Lei wrote:
Hi, 2011/8/20 Thomas Renninger [off-list ref]:quoted
On Friday, August 19, 2011 05:04:04 PM tom.leiming@gmail.com wrote:quoted
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 cpuAre 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