Commit c2558e0e authored by Brian Gerst's avatar Brian Gerst Committed by Tejun Heo

x86-64: Move isidle from PDA to per-cpu.

tj: s/isidle/is_idle/
Signed-off-by: default avatarBrian Gerst <brgerst@gmail.com>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent e7a22c1e
...@@ -23,7 +23,6 @@ struct x8664_pda { ...@@ -23,7 +23,6 @@ struct x8664_pda {
offset 40!!! */ offset 40!!! */
#endif #endif
short in_bootmem; /* pda lives in bootmem */ short in_bootmem; /* pda lives in bootmem */
short isidle;
} ____cacheline_aligned_in_smp; } ____cacheline_aligned_in_smp;
DECLARE_PER_CPU(struct x8664_pda, __pda); DECLARE_PER_CPU(struct x8664_pda, __pda);
......
...@@ -61,6 +61,7 @@ DEFINE_PER_CPU(struct task_struct *, current_task) = &init_task; ...@@ -61,6 +61,7 @@ DEFINE_PER_CPU(struct task_struct *, current_task) = &init_task;
EXPORT_PER_CPU_SYMBOL(current_task); EXPORT_PER_CPU_SYMBOL(current_task);
DEFINE_PER_CPU(unsigned long, old_rsp); DEFINE_PER_CPU(unsigned long, old_rsp);
static DEFINE_PER_CPU(unsigned char, is_idle);
unsigned long kernel_thread_flags = CLONE_VM | CLONE_UNTRACED; unsigned long kernel_thread_flags = CLONE_VM | CLONE_UNTRACED;
...@@ -80,13 +81,13 @@ EXPORT_SYMBOL_GPL(idle_notifier_unregister); ...@@ -80,13 +81,13 @@ EXPORT_SYMBOL_GPL(idle_notifier_unregister);
void enter_idle(void) void enter_idle(void)
{ {
write_pda(isidle, 1); percpu_write(is_idle, 1);
atomic_notifier_call_chain(&idle_notifier, IDLE_START, NULL); atomic_notifier_call_chain(&idle_notifier, IDLE_START, NULL);
} }
static void __exit_idle(void) static void __exit_idle(void)
{ {
if (test_and_clear_bit_pda(0, isidle) == 0) if (x86_test_and_clear_bit_percpu(0, is_idle) == 0)
return; return;
atomic_notifier_call_chain(&idle_notifier, IDLE_END, NULL); atomic_notifier_call_chain(&idle_notifier, IDLE_END, NULL);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment