Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a70c352a authored by Pekka Enberg's avatar Pekka Enberg Committed by Ingo Molnar
Browse files

xen: Use kcalloc() in xen_init_IRQ()



The init_IRQ() function is now called with slab allocator initialized.
Therefore, we must not use the bootmem allocator in xen_init_IRQ().

Fixes the following boot-time warning:

  ------------[ cut here ]------------
  WARNING: at mm/bootmem.c:535 alloc_arch_preferred_bootmem+0x27/0x45()
  Modules linked in:
  Pid: 0, comm: swapper Not tainted 2.6.30 #1
  Call Trace:
   [<ffffffff8102d6e3>] ? warn_slowpath_common+0x73/0xb0
   [<ffffffff810210d9>] ? pvclock_clocksource_read+0x49/0x90
   [<ffffffff812e522f>] ? alloc_arch_preferred_bootmem+0x27/0x45
   [<ffffffff812e5761>] ? ___alloc_bootmem_nopanic+0x39/0xc9
   [<ffffffff812e57fa>] ? ___alloc_bootmem+0x9/0x2f
   [<ffffffff812e9e21>] ? xen_init_IRQ+0x25/0x61
   [<ffffffff812d69ee>] ? start_kernel+0x1b5/0x29e
  ---[ end trace 4eaa2a86a8e2da22 ]---

Acked-by: default avatarJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Tested-by: default avatarChristian Kujau <lists@nerdbynature.de>
Reported-by: default avatarChristian Kujau <lists@nerdbynature.de>
Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
Cc: lists@nerdbynature.de
Cc: jeremy.fitzhardinge@citrix.com
LKML-Reference: <1246438278.22417.28.camel@penberg-laptop>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 789d03f5
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -927,9 +927,9 @@ static struct irq_chip xen_dynamic_chip __read_mostly = {
void __init xen_init_IRQ(void)
{
	int i;
	size_t size = nr_cpu_ids * sizeof(struct cpu_evtchn_s);

	cpu_evtchn_mask_p = alloc_bootmem(size);
	cpu_evtchn_mask_p = kcalloc(nr_cpu_ids, sizeof(struct cpu_evtchn_s),
				    GFP_KERNEL);
	BUG_ON(cpu_evtchn_mask_p == NULL);

	init_evtchn_cpu_bindings();