From: Ingo Molnar Date: Tue, 23 Sep 2008 21:26:42 +0000 (+0200) Subject: Merge branch 'timers/urgent' into x86/xen X-Git-Tag: v2.6.28-rc1~699^2^2~7 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=07bbc16a8676b06950a21f35b59f69b2fe763bbd;p=linux-2.6-omap-h63xx.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 66b04e59881,7985c5b3f91..06f1407d554 --- 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; }