aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/apic
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2010-10-06 10:28:51 -0400
committerThomas Gleixner <tglx@linutronix.de>2010-10-12 10:53:46 -0400
commit2ee39065988d632b403f8470942b0b5edee3632b (patch)
treeb7c62a775d71a39544e8c23ae8b7965e2e98603a /arch/x86/kernel/apic
parentbaa0d233afe765daa6dc01ff233aea8c5944f534 (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.c16
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
134static struct irq_pin_list *alloc_irq_pin_list(int node) 134static 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;
198out_domain: 198out_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 }