[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <tip-a70c352a37671fe1ebcbd317b439aa4760f4ccb7@git.kernel.org>
Date: Wed, 1 Jul 2009 10:54:47 GMT
From: tip-bot for Pekka Enberg <penberg@...helsinki.fi>
To: linux-tip-commits@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, hpa@...or.com, mingo@...hat.com,
penberg@...helsinki.fi, jeremy.fitzhardinge@...rix.com,
lists@...dbynature.de, tglx@...utronix.de, mingo@...e.hu
Subject: [tip:x86/urgent] xen: Use kcalloc() in xen_init_IRQ()
Commit-ID: a70c352a37671fe1ebcbd317b439aa4760f4ccb7
Gitweb: http://git.kernel.org/tip/a70c352a37671fe1ebcbd317b439aa4760f4ccb7
Author: Pekka Enberg <penberg@...helsinki.fi>
AuthorDate: Wed, 1 Jul 2009 11:51:18 +0300
Committer: Ingo Molnar <mingo@...e.hu>
CommitDate: Wed, 1 Jul 2009 11:19:47 +0200
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: Jeremy Fitzhardinge <jeremy.fitzhardinge@...rix.com>
Tested-by: Christian Kujau <lists@...dbynature.de>
Reported-by: Christian Kujau <lists@...dbynature.de>
Signed-off-by: Pekka Enberg <penberg@...helsinki.fi>
Cc: lists@...dbynature.de
Cc: jeremy.fitzhardinge@...rix.com
LKML-Reference: <1246438278.22417.28.camel@...berg-laptop>
Signed-off-by: Ingo Molnar <mingo@...e.hu>
---
drivers/xen/events.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index 891d2e9..abad71b 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -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();
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists