[PATCH] slub: Disable the lockless allocator

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The commit below solves this crash for me. Could we please apply this simple 
patch, until the real bug has been found, to keep upstream debuggable? The 
eventual fix can then re-enable the lockless allocator.

Thanks,

	Ingo

--------------->
>From bb764182707216faeb815c3bbdf6a9e9992a459a Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@xxxxxxx>
Date: Sat, 26 Mar 2011 12:40:30 +0100
Subject: [PATCH] slub: Disable the lockless allocator

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, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxxx  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]