diff options
author | Mike Travis <travis@sgi.com> | 2008-04-04 21:11:12 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-19 13:44:58 -0400 |
commit | d366f8cbc16882e93538d9a52423c2f50dad7c06 (patch) | |
tree | 64202cd91a942dc3ea9b88adb6da562c2fb191a8 | |
parent | f46bdf2db25dfaff3b611c9711705645cdb03acc (diff) |
cpumask: Cleanup more uses of CPU_MASK and NODE_MASK
* Replace usages of CPU_MASK_NONE, CPU_MASK_ALL, NODE_MASK_NONE,
NODE_MASK_ALL to reduce stack requirements for large NR_CPUS
and MAXNODES counts.
* In some cases, the cpumask variable was initialized but then overwritten
with another value. This is the case for changes like this:
- cpumask_t oldmask = CPU_MASK_ALL;
+ cpumask_t oldmask;
Signed-off-by: Mike Travis <travis@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/kernel/io_apic_64.c | 2 | ||||
-rw-r--r-- | kernel/irq/chip.c | 2 | ||||
-rw-r--r-- | mm/allocpercpu.c | 3 |
3 files changed, 4 insertions, 3 deletions
diff --git a/arch/x86/kernel/io_apic_64.c b/arch/x86/kernel/io_apic_64.c index b54464b2665..9ba11d07920 100644 --- a/arch/x86/kernel/io_apic_64.c +++ b/arch/x86/kernel/io_apic_64.c | |||
@@ -785,7 +785,7 @@ static void __clear_irq_vector(int irq) | |||
785 | per_cpu(vector_irq, cpu)[vector] = -1; | 785 | per_cpu(vector_irq, cpu)[vector] = -1; |
786 | 786 | ||
787 | cfg->vector = 0; | 787 | cfg->vector = 0; |
788 | cfg->domain = CPU_MASK_NONE; | 788 | cpus_clear(cfg->domain); |
789 | } | 789 | } |
790 | 790 | ||
791 | void __setup_vector_irq(int cpu) | 791 | void __setup_vector_irq(int cpu) |
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index fdb3fbe2b0c..964964baefa 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c | |||
@@ -47,7 +47,7 @@ void dynamic_irq_init(unsigned int irq) | |||
47 | desc->irq_count = 0; | 47 | desc->irq_count = 0; |
48 | desc->irqs_unhandled = 0; | 48 | desc->irqs_unhandled = 0; |
49 | #ifdef CONFIG_SMP | 49 | #ifdef CONFIG_SMP |
50 | desc->affinity = CPU_MASK_ALL; | 50 | cpus_setall(desc->affinity); |
51 | #endif | 51 | #endif |
52 | spin_unlock_irqrestore(&desc->lock, flags); | 52 | spin_unlock_irqrestore(&desc->lock, flags); |
53 | } | 53 | } |
diff --git a/mm/allocpercpu.c b/mm/allocpercpu.c index b0012e27fea..f4026bae6ee 100644 --- a/mm/allocpercpu.c +++ b/mm/allocpercpu.c | |||
@@ -82,9 +82,10 @@ EXPORT_SYMBOL_GPL(percpu_populate); | |||
82 | int __percpu_populate_mask(void *__pdata, size_t size, gfp_t gfp, | 82 | int __percpu_populate_mask(void *__pdata, size_t size, gfp_t gfp, |
83 | cpumask_t *mask) | 83 | cpumask_t *mask) |
84 | { | 84 | { |
85 | cpumask_t populated = CPU_MASK_NONE; | 85 | cpumask_t populated; |
86 | int cpu; | 86 | int cpu; |
87 | 87 | ||
88 | cpus_clear(populated); | ||
88 | for_each_cpu_mask(cpu, *mask) | 89 | for_each_cpu_mask(cpu, *mask) |
89 | if (unlikely(!percpu_populate(__pdata, size, gfp, cpu))) { | 90 | if (unlikely(!percpu_populate(__pdata, size, gfp, cpu))) { |
90 | __percpu_depopulate_mask(__pdata, &populated); | 91 | __percpu_depopulate_mask(__pdata, &populated); |