diff options
author | Natalie Protasevich <Natalie.Protasevich@unisys.com> | 2005-10-30 17:59:32 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-30 20:37:12 -0500 |
commit | 9f40a72a7e819789f66910c8cd60aab005cdb413 (patch) | |
tree | d8006a8cea9b19f2871c5fdafa373d1dc5db46ec /arch/i386/kernel/irq.c | |
parent | ca140fdadbe4c031a20a970f46163908d09a116b (diff) |
[PATCH] x86: hot plug CPU to support physical add of new processors
The patch allows physical bring-up of new processors (not initially present
in the configuration) from facilities such as driver/utility implemented on
a platform. The actual method of making processors available is up to the
platform implementation.
Signed-off-by: Natalie Protasevich <Natalie.Protasevich@unisys.com>
Cc: Shaohua Li <shaohua.li@intel.com>
Cc: Ashok Raj <ashok.raj@intel.com>
Cc: Zwane Mwaikambo <zwane@holomorphy.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/i386/kernel/irq.c')
-rw-r--r-- | arch/i386/kernel/irq.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/i386/kernel/irq.c b/arch/i386/kernel/irq.c index ce66dcc26d90..1a201a932865 100644 --- a/arch/i386/kernel/irq.c +++ b/arch/i386/kernel/irq.c | |||
@@ -218,7 +218,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
218 | 218 | ||
219 | if (i == 0) { | 219 | if (i == 0) { |
220 | seq_printf(p, " "); | 220 | seq_printf(p, " "); |
221 | for_each_cpu(j) | 221 | for_each_online_cpu(j) |
222 | seq_printf(p, "CPU%d ",j); | 222 | seq_printf(p, "CPU%d ",j); |
223 | seq_putc(p, '\n'); | 223 | seq_putc(p, '\n'); |
224 | } | 224 | } |
@@ -232,7 +232,7 @@ int show_interrupts(struct seq_file *p, void *v) | |||
232 | #ifndef CONFIG_SMP | 232 | #ifndef CONFIG_SMP |
233 | seq_printf(p, "%10u ", kstat_irqs(i)); | 233 | seq_printf(p, "%10u ", kstat_irqs(i)); |
234 | #else | 234 | #else |
235 | for_each_cpu(j) | 235 | for_each_online_cpu(j) |
236 | seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]); | 236 | seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]); |
237 | #endif | 237 | #endif |
238 | seq_printf(p, " %14s", irq_desc[i].handler->typename); | 238 | seq_printf(p, " %14s", irq_desc[i].handler->typename); |
@@ -246,12 +246,12 @@ skip: | |||
246 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); | 246 | spin_unlock_irqrestore(&irq_desc[i].lock, flags); |
247 | } else if (i == NR_IRQS) { | 247 | } else if (i == NR_IRQS) { |
248 | seq_printf(p, "NMI: "); | 248 | seq_printf(p, "NMI: "); |
249 | for_each_cpu(j) | 249 | for_each_online_cpu(j) |
250 | seq_printf(p, "%10u ", nmi_count(j)); | 250 | seq_printf(p, "%10u ", nmi_count(j)); |
251 | seq_putc(p, '\n'); | 251 | seq_putc(p, '\n'); |
252 | #ifdef CONFIG_X86_LOCAL_APIC | 252 | #ifdef CONFIG_X86_LOCAL_APIC |
253 | seq_printf(p, "LOC: "); | 253 | seq_printf(p, "LOC: "); |
254 | for_each_cpu(j) | 254 | for_each_online_cpu(j) |
255 | seq_printf(p, "%10u ", | 255 | seq_printf(p, "%10u ", |
256 | per_cpu(irq_stat,j).apic_timer_irqs); | 256 | per_cpu(irq_stat,j).apic_timer_irqs); |
257 | seq_putc(p, '\n'); | 257 | seq_putc(p, '\n'); |