[PATCH] slub: Disable the lockless allocator

From: Ingo Molnar
Date: Sat Mar 26 2011 - 07:40:30 EST


This boot crash:

Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
Memory: 1011352k/1048512k available (11595k kernel code, 452k absent, 36708k reserved, 6343k data, 1024k init)
BUG: unable to handle kernel paging request at ffff87ffc1fdd020
IP: [<ffffffff812b50c2>] this_cpu_cmpxchg16b_emu+0x2/0x1c
PGD 0
Oops: 0000 [#1]
last sysfs file:
CPU 0
Pid: 0, comm: swapper Not tainted 2.6.38-08569-g16c29da #110593 System manufacturer System Product Name/A8N-E
RIP: 0010:[<ffffffff812b50c2>] [<ffffffff812b50c2>] this_cpu_cmpxchg16b_emu+0x2/0x1c
RSP: 0000:ffffffff82003e78 EFLAGS: 00010086
RAX: ffff88003f8020c0 RBX: ffff88003f802180 RCX: 0000000000000002
RDX: 0000000000000001 RSI: ffff88003ffc2020 RDI: ffffffff8219be43
RBP: ffffffff82003ed8 R08: 0000000000000000 R09: ffffea0000de40d0
R10: ffffffff821666b0 R11: ffffffff821666b0 R12: ffff88003f8020c0
R13: ffff88003f802000 R14: ffffffffffffffff R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffffffff8201b000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: ffff87ffc1fdd020 CR3: 000000000200b000 CR4: 00000000000006b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process swapper (pid: 0, threadinfo ffffffff82002000, task ffffffff82015300)
Stack:
0000000000000086 ffffffff810dcd03 ffffffffffffffff 0000000000093e30
ffffffff82003ef8 0000000000000000 00000000000000c0 0000000000000000
ffff88003f800000 ffff88003f8000c0 ffffffffffffffff 0000000000093e30
Call Trace:
[<ffffffff810dcd03>] ? kmem_cache_alloc+0x53/0x130
[<ffffffff8219be43>] kmem_cache_init+0xeb/0x2b0
[<ffffffff821869eb>] start_kernel+0x1cb/0x322
[<ffffffff82186338>] x86_64_start_reservations+0xfe/0x102
[<ffffffff82186140>] ? early_idt_handlers+0x140/0x140
[<ffffffff82186409>] x86_64_start_kernel+0xcd/0xdc
Code: 47 08 48 89 47 10 48 89 47 18 48 89 47 20 48 89 47 28 48 89 47 30 48 89 47 38 48 8d 7f 40 75 d9 90 c3 90 90 90 90 90 90 90 9c fa
48 3b 06 75 14 65 48 3b 56 08 75 0d 65 48 89 1e 65 48 89 4e
RIP [<ffffffff812b50c2>] this_cpu_cmpxchg16b_emu+0x2/0x1c
RSP <ffffffff82003e78>
CR2: ffff87ffc1fdd020
---[ end trace a7919e7f17c0a725 ]---

Occurs due to:

8a5ec0ba42c4: Lockless (and preemptless) fastpaths for slub

Disable this code for now, it's not yet fully cooked.

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
mm/slub.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/mm/slub.c b/mm/slub.c
index f881874..37ccf77 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -30,6 +30,7 @@

#include <trace/events/kmem.h>

+#undef CONFIG_CMPXCHG_LOCAL
/*
* Lock order:
* 1. slab_lock(page)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/