diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-02-11 03:22:04 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-02-11 03:22:04 -0500 |
commit | 95fd4845ed0ffcab305b4f30ce1c12dc34f1b56c (patch) | |
tree | aa2aac22a5b329b778a6771a87bbf1945ad49bbd /kernel/irq/handle.c | |
parent | d278c48435625cb6b7edcf6a547620768b175709 (diff) | |
parent | 8e4921515c1a379539607eb443d51c30f4f7f338 (diff) |
Merge commit 'v2.6.29-rc4' into perfcounters/core
Conflicts:
arch/x86/kernel/setup_percpu.c
arch/x86/mm/fault.c
drivers/acpi/processor_idle.c
kernel/irq/handle.c
Diffstat (limited to 'kernel/irq/handle.c')
-rw-r--r-- | kernel/irq/handle.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index 375d68cd5bf0..f51eaee921b6 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c | |||
@@ -40,6 +40,18 @@ void handle_bad_irq(unsigned int irq, struct irq_desc *desc) | |||
40 | ack_bad_irq(irq); | 40 | ack_bad_irq(irq); |
41 | } | 41 | } |
42 | 42 | ||
43 | #if defined(CONFIG_SMP) && defined(CONFIG_GENERIC_HARDIRQS) | ||
44 | static void __init init_irq_default_affinity(void) | ||
45 | { | ||
46 | alloc_bootmem_cpumask_var(&irq_default_affinity); | ||
47 | cpumask_setall(irq_default_affinity); | ||
48 | } | ||
49 | #else | ||
50 | static void __init init_irq_default_affinity(void) | ||
51 | { | ||
52 | } | ||
53 | #endif | ||
54 | |||
43 | /* | 55 | /* |
44 | * Linux has a controller-independent interrupt architecture. | 56 | * Linux has a controller-independent interrupt architecture. |
45 | * Every controller has a 'controller-template', that is used | 57 | * Every controller has a 'controller-template', that is used |
@@ -133,6 +145,8 @@ int __init early_irq_init(void) | |||
133 | int legacy_count; | 145 | int legacy_count; |
134 | int i; | 146 | int i; |
135 | 147 | ||
148 | init_irq_default_affinity(); | ||
149 | |||
136 | /* initialize nr_irqs based on nr_cpu_ids */ | 150 | /* initialize nr_irqs based on nr_cpu_ids */ |
137 | arch_probe_nr_irqs(); | 151 | arch_probe_nr_irqs(); |
138 | printk(KERN_INFO "NR_IRQS:%d nr_irqs:%d\n", NR_IRQS, nr_irqs); | 152 | printk(KERN_INFO "NR_IRQS:%d nr_irqs:%d\n", NR_IRQS, nr_irqs); |
@@ -229,6 +243,8 @@ int __init early_irq_init(void) | |||
229 | int count; | 243 | int count; |
230 | int i; | 244 | int i; |
231 | 245 | ||
246 | init_irq_default_affinity(); | ||
247 | |||
232 | printk(KERN_INFO "NR_IRQS:%d\n", NR_IRQS); | 248 | printk(KERN_INFO "NR_IRQS:%d\n", NR_IRQS); |
233 | 249 | ||
234 | desc = irq_desc; | 250 | desc = irq_desc; |