diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2010-10-06 10:28:51 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-10-12 10:53:46 -0400 |
commit | 2ee39065988d632b403f8470942b0b5edee3632b (patch) | |
tree | b7c62a775d71a39544e8c23ae8b7965e2e98603a /arch/x86/kernel/apic | |
parent | baa0d233afe765daa6dc01ff233aea8c5944f534 (diff) |
x86: Switch sparse_irq allocations to GFP_KERNEL
No callers from atomic context (except boot) anymore.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/apic')
-rw-r--r-- | arch/x86/kernel/apic/io_apic.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index 057b0e13d1c3..20e47e045395 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c | |||
@@ -133,7 +133,7 @@ struct irq_pin_list { | |||
133 | 133 | ||
134 | static struct irq_pin_list *alloc_irq_pin_list(int node) | 134 | static struct irq_pin_list *alloc_irq_pin_list(int node) |
135 | { | 135 | { |
136 | return kzalloc_node(sizeof(struct irq_pin_list), GFP_ATOMIC, node); | 136 | return kzalloc_node(sizeof(struct irq_pin_list), GFP_KERNEL, node); |
137 | } | 137 | } |
138 | 138 | ||
139 | /* irq_cfg is indexed by the sum of all RTEs in all I/O APICs. */ | 139 | /* irq_cfg is indexed by the sum of all RTEs in all I/O APICs. */ |
@@ -162,8 +162,8 @@ int __init arch_early_irq_init(void) | |||
162 | 162 | ||
163 | for (i = 0; i < count; i++) { | 163 | for (i = 0; i < count; i++) { |
164 | set_irq_chip_data(i, &cfg[i]); | 164 | set_irq_chip_data(i, &cfg[i]); |
165 | zalloc_cpumask_var_node(&cfg[i].domain, GFP_NOWAIT, node); | 165 | zalloc_cpumask_var_node(&cfg[i].domain, GFP_KERNEL, node); |
166 | zalloc_cpumask_var_node(&cfg[i].old_domain, GFP_NOWAIT, node); | 166 | zalloc_cpumask_var_node(&cfg[i].old_domain, GFP_KERNEL, node); |
167 | /* | 167 | /* |
168 | * For legacy IRQ's, start with assigning irq0 to irq15 to | 168 | * For legacy IRQ's, start with assigning irq0 to irq15 to |
169 | * IRQ0_VECTOR to IRQ15_VECTOR on cpu 0. | 169 | * IRQ0_VECTOR to IRQ15_VECTOR on cpu 0. |
@@ -187,12 +187,12 @@ static struct irq_cfg *alloc_irq_cfg(unsigned int irq, int node) | |||
187 | { | 187 | { |
188 | struct irq_cfg *cfg; | 188 | struct irq_cfg *cfg; |
189 | 189 | ||
190 | cfg = kzalloc_node(sizeof(*cfg), GFP_ATOMIC, node); | 190 | cfg = kzalloc_node(sizeof(*cfg), GFP_KERNEL, node); |
191 | if (!cfg) | 191 | if (!cfg) |
192 | return NULL; | 192 | return NULL; |
193 | if (!zalloc_cpumask_var_node(&cfg->domain, GFP_ATOMIC, node)) | 193 | if (!zalloc_cpumask_var_node(&cfg->domain, GFP_KERNEL, node)) |
194 | goto out_cfg; | 194 | goto out_cfg; |
195 | if (!zalloc_cpumask_var_node(&cfg->old_domain, GFP_ATOMIC, node)) | 195 | if (!zalloc_cpumask_var_node(&cfg->old_domain, GFP_KERNEL, node)) |
196 | goto out_domain; | 196 | goto out_domain; |
197 | return cfg; | 197 | return cfg; |
198 | out_domain: | 198 | out_domain: |
@@ -595,14 +595,14 @@ struct IO_APIC_route_entry **alloc_ioapic_entries(void) | |||
595 | struct IO_APIC_route_entry **ioapic_entries; | 595 | struct IO_APIC_route_entry **ioapic_entries; |
596 | 596 | ||
597 | ioapic_entries = kzalloc(sizeof(*ioapic_entries) * nr_ioapics, | 597 | ioapic_entries = kzalloc(sizeof(*ioapic_entries) * nr_ioapics, |
598 | GFP_ATOMIC); | 598 | GFP_KERNEL); |
599 | if (!ioapic_entries) | 599 | if (!ioapic_entries) |
600 | return 0; | 600 | return 0; |
601 | 601 | ||
602 | for (apic = 0; apic < nr_ioapics; apic++) { | 602 | for (apic = 0; apic < nr_ioapics; apic++) { |
603 | ioapic_entries[apic] = | 603 | ioapic_entries[apic] = |
604 | kzalloc(sizeof(struct IO_APIC_route_entry) * | 604 | kzalloc(sizeof(struct IO_APIC_route_entry) * |
605 | nr_ioapic_registers[apic], GFP_ATOMIC); | 605 | nr_ioapic_registers[apic], GFP_KERNEL); |
606 | if (!ioapic_entries[apic]) | 606 | if (!ioapic_entries[apic]) |
607 | goto nomem; | 607 | goto nomem; |
608 | } | 608 | } |