Christoph Lameter wrote: > Ok could I see the kernel logs with the warnings? Sure.
---------- testcase ---------- volatile unsigned int size; for (size = 4 * 1024 * 1024; size <= 32 * 1024 * 1024; size <<= 1) { void *ptr = kmalloc(size, GFP_KERNEL); printk("kmalloc(%u)=%p\n", size, ptr); kfree(ptr); } ---------- testcase ---------- ---------- before applying this patch ---------- kmalloc(4194304)=d9c00000 kmalloc(8388608)= (null) kmalloc(16777216)= (null) ------------[ cut here ]------------ Kernel BUG at c10b9c5b [verbose debug info unavailable] invalid opcode: 0000 [#1] SMP Modules linked in: test(OF+) binfmt_misc CPU: 0 PID: 3881 Comm: insmod Tainted: GF O 3.9.0-rc8-next-20130426 #1 Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 08/15/2008 task: df2a3b30 ti: de0a0000 task.ti: de0a0000 EIP: 0060:[<c10b9c5b>] EFLAGS: 00010202 CPU: 0 EIP is at cache_alloc_refill+0x56b/0x590 EAX: 00000040 EBX: df002680 ECX: 00000000 EDX: 00000010 ESI: df000ac0 EDI: 00000000 EBP: 00000001 ESP: de0a1e08 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 CR0: 8005003b CR2: b769f3e0 CR3: 1f0fc000 CR4: 000006d0 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 DR6: ffff0ff0 DR7: 00000400 Stack: 00000000 00000000 00000000 000000d0 00000000 00000010 00000040 00000246 000000d0 00000000 00000000 df000ac0 00000202 000000d0 c10b9d0e ffffffff 00000000 e0838040 00000001 00000000 e083a01c e0838024 01000000 00000000 Call Trace: [<c10b9d0e>] ? __kmalloc+0x8e/0xd0 [<e083a01c>] ? test_init+0x1c/0x5c [test] [<c1000102>] ? do_one_initcall+0x32/0x170 [<c10b3098>] ? __vunmap+0xa8/0xe0 [<e083a000>] ? 0xe0839fff [<c106e066>] ? load_module+0x1196/0x1560 [<c106e7e0>] ? SyS_init_module+0xb0/0xd0 [<c143273a>] ? sysenter_do_call+0x12/0x22 Code: 85 c0 0f 84 05 ff ff ff 31 c9 89 ea 89 f0 e8 8d f9 ff ff e9 f5 fe ff ff 0f 0b eb fe 8b 6e 20 f7 c5 01 00 00 00 0f 84 95 fd ff ff <0f> 0b eb fe 0f 0b eb fe 0f b6 44 24 1f 89 da 8b 4c 24 20 89 04 EIP: [<c10b9c5b>] cache_alloc_refill+0x56b/0x590 SS:ESP 0068:de0a1e08 ---[ end trace f0be5ebb0e2c1371 ]--- ---------- before applying this patch ---------- ---------- after applying this patch ---------- kmalloc(4194304)=d7000000 ------------[ cut here ]------------ WARNING: at mm/slab_common.c:377 kmalloc_slab+0x57/0x70() Modules linked in: test(OF+) binfmt_misc CPU: 1 PID: 4337 Comm: insmod Tainted: GF W O 3.9.0-rc8-next-20130426-dirty #2 Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 08/15/2008 c142f6a1 c102fbcb c1538e8c c153f938 00000179 c10a5197 c10a5197 d7000000 e1584040 00000001 000000d0 c102fc1b 00000009 00000000 c10a5197 d7000000 c10ba3da 00000286 d7000000 e1584040 00000001 00000000 e158601c e1584024 Call Trace: [<c142f6a1>] ? dump_stack+0xa/0x19 [<c102fbcb>] ? warn_slowpath_common+0x6b/0xa0 [<c10a5197>] ? kmalloc_slab+0x57/0x70 [<c10a5197>] ? kmalloc_slab+0x57/0x70 [<c102fc1b>] ? warn_slowpath_null+0x1b/0x20 [<c10a5197>] ? kmalloc_slab+0x57/0x70 [<c10ba3da>] ? __kmalloc+0x1a/0xd0 [<e158601c>] ? test_init+0x1c/0x5c [test] [<c1000102>] ? do_one_initcall+0x32/0x170 [<c10b30b8>] ? __vunmap+0xa8/0xe0 [<e1586000>] ? 0xe1585fff [<c106e066>] ? load_module+0x1196/0x1560 [<c106e7e0>] ? SyS_init_module+0xb0/0xd0 [<c143273a>] ? sysenter_do_call+0x12/0x22 ---[ end trace b6ab930b322ad480 ]--- kmalloc(8388608)= (null) ------------[ cut here ]------------ WARNING: at mm/slab_common.c:377 kmalloc_slab+0x57/0x70() Modules linked in: test(OF+) binfmt_misc CPU: 1 PID: 4337 Comm: insmod Tainted: GF W O 3.9.0-rc8-next-20130426-dirty #2 Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 08/15/2008 c142f6a1 c102fbcb c1538e8c c153f938 00000179 c10a5197 c10a5197 00000000 e1584040 00000001 000000d0 c102fc1b 00000009 00000000 c10a5197 00000000 c10ba3da ffffffff 00000000 e1584040 00000001 00000000 e158601c e1584024 Call Trace: [<c142f6a1>] ? dump_stack+0xa/0x19 [<c102fbcb>] ? warn_slowpath_common+0x6b/0xa0 [<c10a5197>] ? kmalloc_slab+0x57/0x70 [<c10a5197>] ? kmalloc_slab+0x57/0x70 [<c102fc1b>] ? warn_slowpath_null+0x1b/0x20 [<c10a5197>] ? kmalloc_slab+0x57/0x70 [<c10ba3da>] ? __kmalloc+0x1a/0xd0 [<e158601c>] ? test_init+0x1c/0x5c [test] [<c1000102>] ? do_one_initcall+0x32/0x170 [<c10b30b8>] ? __vunmap+0xa8/0xe0 [<e1586000>] ? 0xe1585fff [<c106e066>] ? load_module+0x1196/0x1560 [<c106e7e0>] ? SyS_init_module+0xb0/0xd0 [<c143273a>] ? sysenter_do_call+0x12/0x22 ---[ end trace b6ab930b322ad481 ]--- kmalloc(16777216)= (null) ------------[ cut here ]------------ WARNING: at mm/slab_common.c:377 kmalloc_slab+0x57/0x70() Modules linked in: test(OF+) binfmt_misc CPU: 1 PID: 4337 Comm: insmod Tainted: GF W O 3.9.0-rc8-next-20130426-dirty #2 Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 08/15/2008 c142f6a1 c102fbcb c1538e8c c153f938 00000179 c10a5197 c10a5197 00000000 e1584040 00000001 000000d0 c102fc1b 00000009 00000000 c10a5197 00000000 c10ba3da ffffffff 00000000 e1584040 00000001 00000000 e158601c e1584024 Call Trace: [<c142f6a1>] ? dump_stack+0xa/0x19 [<c102fbcb>] ? warn_slowpath_common+0x6b/0xa0 [<c10a5197>] ? kmalloc_slab+0x57/0x70 [<c10a5197>] ? kmalloc_slab+0x57/0x70 [<c102fc1b>] ? warn_slowpath_null+0x1b/0x20 [<c10a5197>] ? kmalloc_slab+0x57/0x70 [<c10ba3da>] ? __kmalloc+0x1a/0xd0 [<e158601c>] ? test_init+0x1c/0x5c [test] [<c1000102>] ? do_one_initcall+0x32/0x170 [<c10b30b8>] ? __vunmap+0xa8/0xe0 [<e1586000>] ? 0xe1585fff [<c106e066>] ? load_module+0x1196/0x1560 [<c106e7e0>] ? SyS_init_module+0xb0/0xd0 [<c143273a>] ? sysenter_do_call+0x12/0x22 ---[ end trace b6ab930b322ad482 ]--- kmalloc(33554432)= (null) ---------- after applying this patch ---------- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/