From: Ingo Molnar Date: Tue, 23 Sep 2008 21:26:42 +0000 (+0200) Subject: Merge branch 'timers/urgent' into x86/xen X-Git-Tag: firefly_0821_release~17807^2^2~7 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=07bbc16a8676b06950a21f35b59f69b2fe763bbd;p=firefly-linux-kernel-4.4.55.git Merge branch 'timers/urgent' into x86/xen Conflicts: arch/x86/kernel/process_32.c arch/x86/kernel/process_64.c Manual merge: arch/x86/kernel/smpboot.c Signed-off-by: Ingo Molnar --- 07bbc16a8676b06950a21f35b59f69b2fe763bbd diff --cc arch/x86/kernel/smpboot.c index 66b04e598817,7985c5b3f916..06f1407d5542 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@@ -52,6 -52,6 +52,7 @@@ #include #include #include ++#include #include #include #include @@@ -1408,31 -1402,8 +1409,32 @@@ void native_cpu_die(unsigned int cpu } printk(KERN_ERR "CPU %u didn't die...\n", cpu); } + +void play_dead_common(void) +{ + idle_task_exit(); + reset_lazy_tlbstate(); + irq_ctx_exit(raw_smp_processor_id()); ++ c1e_remove_cpu(raw_smp_processor_id()); + + mb(); + /* Ack it */ + __get_cpu_var(cpu_state) = CPU_DEAD; + + /* + * With physical CPU hotplug, we should halt the cpu + */ + local_irq_disable(); +} + +void native_play_dead(void) +{ + play_dead_common(); + wbinvd_halt(); +} + #else /* ... !CONFIG_HOTPLUG_CPU */ -int __cpu_disable(void) +int native_cpu_disable(void) { return -ENOSYS; }