diff options
author | Tejun Heo <tj@kernel.org> | 2010-12-18 10:30:05 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2010-12-30 06:22:03 -0500 |
commit | 7b543a5334ff4ea2e3ad3b777fc23cdb8072a988 (patch) | |
tree | 8fbdf5275411190f78f3bdee3c40e87285bf8e30 /arch/x86/kernel/process.c | |
parent | 0a3aee0da4402aa19b66e458038533c896fb80c6 (diff) |
x86: Replace uses of current_cpu_data with this_cpu ops
Replace all uses of current_cpu_data with this_cpu operations on the
per cpu structure cpu_info. The scala accesses are replaced with the
matching this_cpu ops which results in smaller and more efficient
code.
In the long run, it might be a good idea to remove cpu_data() macro
too and use per_cpu macro directly.
tj: updated description
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'arch/x86/kernel/process.c')
-rw-r--r-- | arch/x86/kernel/process.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c index 57d1868a86aa..dae1c0766d9a 100644 --- a/arch/x86/kernel/process.c +++ b/arch/x86/kernel/process.c | |||
@@ -445,7 +445,7 @@ void mwait_idle_with_hints(unsigned long ax, unsigned long cx) | |||
445 | { | 445 | { |
446 | trace_power_start(POWER_CSTATE, (ax>>4)+1, smp_processor_id()); | 446 | trace_power_start(POWER_CSTATE, (ax>>4)+1, smp_processor_id()); |
447 | if (!need_resched()) { | 447 | if (!need_resched()) { |
448 | if (cpu_has(¤t_cpu_data, X86_FEATURE_CLFLUSH_MONITOR)) | 448 | if (cpu_has(__this_cpu_ptr(&cpu_info), X86_FEATURE_CLFLUSH_MONITOR)) |
449 | clflush((void *)¤t_thread_info()->flags); | 449 | clflush((void *)¤t_thread_info()->flags); |
450 | 450 | ||
451 | __monitor((void *)¤t_thread_info()->flags, 0, 0); | 451 | __monitor((void *)¤t_thread_info()->flags, 0, 0); |
@@ -460,7 +460,7 @@ static void mwait_idle(void) | |||
460 | { | 460 | { |
461 | if (!need_resched()) { | 461 | if (!need_resched()) { |
462 | trace_power_start(POWER_CSTATE, 1, smp_processor_id()); | 462 | trace_power_start(POWER_CSTATE, 1, smp_processor_id()); |
463 | if (cpu_has(¤t_cpu_data, X86_FEATURE_CLFLUSH_MONITOR)) | 463 | if (cpu_has(__this_cpu_ptr(&cpu_info), X86_FEATURE_CLFLUSH_MONITOR)) |
464 | clflush((void *)¤t_thread_info()->flags); | 464 | clflush((void *)¤t_thread_info()->flags); |
465 | 465 | ||
466 | __monitor((void *)¤t_thread_info()->flags, 0, 0); | 466 | __monitor((void *)¤t_thread_info()->flags, 0, 0); |