[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LSU.2.00.1106121842250.31463@sister.anvils>
Date: Sun, 12 Jun 2011 19:03:02 -0700 (PDT)
From: Hugh Dickins <hughd@...gle.com>
To: Christoph Lameter <cl@...ux-foundation.org>
cc: Pekka Enberg <penberg@...helsinki.fi>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
linuxppc-dev@...ts.ozlabs.org
Subject: [PATCH] slub: fix kernel BUG at mm/slub.c:1950!
3.0-rc won't boot with SLUB on my PowerPC G5: kernel BUG at mm/slub.c:1950!
Bisected to 1759415e630e "slub: Remove CONFIG_CMPXCHG_LOCAL ifdeffery".
After giving myself a medal for finding the BUG on line 1950 of mm/slub.c
(it's actually the
VM_BUG_ON((unsigned long)(&pcp1) % (2 * sizeof(pcp1)));
on line 268 of the morass that is include/linux/percpu.h)
I tried the following alignment patch and found it to work.
Signed-off-by: Hugh Dickins <hughd@...gle.com>
---
include/linux/slub_def.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- 3.0-rc2/include/linux/slub_def.h 2011-05-29 18:42:37.077880848 -0700
+++ linux/include/linux/slub_def.h 2011-06-12 17:17:51.000000000 -0700
@@ -43,7 +43,7 @@ struct kmem_cache_cpu {
#ifdef CONFIG_SLUB_STATS
unsigned stat[NR_SLUB_STAT_ITEMS];
#endif
-};
+} __attribute__((aligned(2 * sizeof(long))));
struct kmem_cache_node {
spinlock_t list_lock; /* Protect partial list and nr_partial */
--
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