diff options
author | Ashok Raj <ashok.raj@intel.com> | 2005-06-25 17:55:00 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-25 19:24:30 -0400 |
commit | 76e4f660d9f4c6d1bb473f72be2988c35eaca948 (patch) | |
tree | 3a0b3ae0cc12d6f0d96bf1f3b564f8470e0f72ae /include | |
parent | e6982c671c560da4a0bc5c908cbcbec12bd5991d (diff) |
[PATCH] x86_64: CPU hotplug support
Experimental CPU hotplug patch for x86_64
-----------------------------------------
This supports logical CPU online and offline.
- Test with maxcpus=1, and then kick other cpu's off to test if init code
is all cleaned up. CONFIG_SCHED_SMT works as well.
- idle threads are forked on demand from keventd threads for clean startup
TBD:
1. Not tested on a real NUMA machine (tested with numa=fake=2)
2. Handle ACPI pieces for physical hotplug support.
Signed-off-by: Ashok Raj <ashok.raj@intel.com>
Acked-by: Andi Kleen <ak@muc.de>
Acked-by: Zwane Mwaikambo <zwane@arm.linux.org.uk>
Signed-off-by: Shaohua.li<shaohua.li@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-x86_64/irq.h | 5 | ||||
-rw-r--r-- | include/asm-x86_64/smp.h | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/include/asm-x86_64/irq.h b/include/asm-x86_64/irq.h index 3af50b3c3b05..eb3b7aa9eb9f 100644 --- a/include/asm-x86_64/irq.h +++ b/include/asm-x86_64/irq.h | |||
@@ -52,4 +52,9 @@ struct irqaction; | |||
52 | struct pt_regs; | 52 | struct pt_regs; |
53 | int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *); | 53 | int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *); |
54 | 54 | ||
55 | #ifdef CONFIG_HOTPLUG_CPU | ||
56 | #include <linux/cpumask.h> | ||
57 | extern void fixup_irqs(cpumask_t map); | ||
58 | #endif | ||
59 | |||
55 | #endif /* _ASM_IRQ_H */ | 60 | #endif /* _ASM_IRQ_H */ |
diff --git a/include/asm-x86_64/smp.h b/include/asm-x86_64/smp.h index a7425aa5a3b7..9c6242fb99db 100644 --- a/include/asm-x86_64/smp.h +++ b/include/asm-x86_64/smp.h | |||
@@ -77,6 +77,8 @@ extern __inline int hard_smp_processor_id(void) | |||
77 | } | 77 | } |
78 | 78 | ||
79 | extern int safe_smp_processor_id(void); | 79 | extern int safe_smp_processor_id(void); |
80 | extern int __cpu_disable(void); | ||
81 | extern void __cpu_die(unsigned int cpu); | ||
80 | 82 | ||
81 | #endif /* !ASSEMBLY */ | 83 | #endif /* !ASSEMBLY */ |
82 | 84 | ||