diff options
author | Yinghai Lu <yinghai@kernel.org> | 2009-01-12 20:39:24 -0500 |
---|---|---|
committer | Mike Travis <travis@sgi.com> | 2009-01-12 20:39:24 -0500 |
commit | 4a046d1754ee6ebb6f399696805ed61ea0444d4c (patch) | |
tree | 9b9e8e63d9490aea4c2f06263ad541cb8115eb63 /kernel | |
parent | e65e49d0f3714f4a6a42f6f6a19926ba33fcda75 (diff) |
x86: arch_probe_nr_irqs
Impact: save RAM with large NR_CPUS, get smaller nr_irqs
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Mike Travis <travis@sgi.com>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/irq/handle.c | 9 | ||||
-rw-r--r-- | kernel/softirq.c | 5 |
2 files changed, 7 insertions, 7 deletions
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index 04d3e46031e5..375d68cd5bf0 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c | |||
@@ -59,10 +59,6 @@ EXPORT_SYMBOL_GPL(nr_irqs); | |||
59 | 59 | ||
60 | #ifdef CONFIG_SPARSE_IRQ | 60 | #ifdef CONFIG_SPARSE_IRQ |
61 | 61 | ||
62 | #ifndef max_nr_irqs | ||
63 | #define max_nr_irqs(nr_cpus) NR_IRQS | ||
64 | #endif | ||
65 | |||
66 | static struct irq_desc irq_desc_init = { | 62 | static struct irq_desc irq_desc_init = { |
67 | .irq = -1, | 63 | .irq = -1, |
68 | .status = IRQ_DISABLED, | 64 | .status = IRQ_DISABLED, |
@@ -137,9 +133,8 @@ int __init early_irq_init(void) | |||
137 | int legacy_count; | 133 | int legacy_count; |
138 | int i; | 134 | int i; |
139 | 135 | ||
140 | /* initialize nr_irqs based on nr_cpu_ids */ | 136 | /* initialize nr_irqs based on nr_cpu_ids */ |
141 | nr_irqs = max_nr_irqs(nr_cpu_ids); | 137 | arch_probe_nr_irqs(); |
142 | |||
143 | printk(KERN_INFO "NR_IRQS:%d nr_irqs:%d\n", NR_IRQS, nr_irqs); | 138 | printk(KERN_INFO "NR_IRQS:%d nr_irqs:%d\n", NR_IRQS, nr_irqs); |
144 | 139 | ||
145 | desc = irq_desc_legacy; | 140 | desc = irq_desc_legacy; |
diff --git a/kernel/softirq.c b/kernel/softirq.c index bdbe9de9cd8d..0365b4899a3d 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c | |||
@@ -795,6 +795,11 @@ int __init __weak early_irq_init(void) | |||
795 | return 0; | 795 | return 0; |
796 | } | 796 | } |
797 | 797 | ||
798 | int __init __weak arch_probe_nr_irqs(void) | ||
799 | { | ||
800 | return 0; | ||
801 | } | ||
802 | |||
798 | int __init __weak arch_early_irq_init(void) | 803 | int __init __weak arch_early_irq_init(void) |
799 | { | 804 | { |
800 | return 0; | 805 | return 0; |