Hi Joonsoo, 0day kernel testing robot got the below dmesg and the first bad commit is git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master commit 8d8590d51e2b169f327a74c032333368f7f97f97 Author: Joonsoo Kim AuthorDate: Fri Sep 26 10:18:56 2014 +1000 Commit: Stephen Rothwell CommitDate: Fri Sep 26 10:18:56 2014 +1000 mm/slab: support slab merge Slab merge is good feature to reduce fragmentation. If new creating slab have similar size and property with exsitent slab, this feature reuse it rather than creating new one. As a result, objects are packed into fewer slabs so that fragmentation is reduced. Below is result of my testing. * After boot, sleep 20; cat /proc/meminfo | grep Slab Slab: 25136 kB Slab: 24364 kB We can save 3% memory used by slab. For supporting this feature in SLAB, we need to implement SLAB specific kmem_cache_flag() and __kmem_cache_alias(), because SLUB implements some SLUB specific processing related to debug flag and object size change on these functions. Signed-off-by: Joonsoo Kim Cc: Christoph Lameter Cc: Pekka Enberg Cc: David Rientjes Signed-off-by: Andrew Morton +-----------------------------------------------------------------+------------+------------+---------------+ | | f49e433b66 | 8d8590d51e | next-20140926 | +-----------------------------------------------------------------+------------+------------+---------------+ | boot_successes | 60 | 0 | 0 | | boot_failures | 0 | 20 | 11 | | WARNING:at_arch/x86/kernel/cpu/common.c:warn_pre_alternatives() | 0 | 20 | | | BUG:unable_to_handle_kernel | 0 | 20 | 11 | | Oops | 0 | 20 | 11 | | EIP_is_at_kernfs_add_one | 0 | 20 | | | Kernel_panic-not_syncing:Fatal_exception | 0 | 20 | 11 | | backtrace:kobject_create_and_add | 0 | 20 | | | backtrace:mnt_init | 0 | 20 | | | backtrace:vfs_caches_init | 0 | 20 | | | EIP_is_at_kernfs_put | 0 | 0 | 11 | | backtrace:sysfs_remove_group | 0 | 0 | 11 | | backtrace:param_sysfs_init | 0 | 0 | 11 | | backtrace:kernel_init_freeable | 0 | 0 | 11 | +-----------------------------------------------------------------+------------+------------+---------------+ [ 0.060070] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.064160] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.070024] ------------[ cut here ]------------ [ 0.072984] WARNING: CPU: 0 PID: 0 at arch/x86/kernel/cpu/common.c:1430 warn_pre_alternatives+0x30/0x40() [ 0.079331] You're using static_cpu_has before alternatives have run! [ 0.080000] CPU: 0 PID: 0 Comm: swapper Not tainted 3.17.0-rc6-00222-g8d8590d #2 [ 0.080000] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014 [ 0.080000] c21022f8 c21cdd64 c1d3c98c c21cdd98 c1070636 c2102348 c21cddc4 00000000 [ 0.080000] c21022f8 00000596 c1020830 00000596 c1020830 43a81621 c21cde6c c1057f20 [ 0.080000] c21cddb0 c107072a 00000009 c21cdda8 c2102348 c21cddc4 c21cddc4 c1020830 [ 0.080000] Call Trace: [ 0.080000] [] dump_stack+0x40/0x5e [ 0.080000] [] warn_slowpath_common+0xb6/0x100 [ 0.080000] [] ? warn_pre_alternatives+0x30/0x40 [ 0.080000] [] ? warn_pre_alternatives+0x30/0x40 [ 0.080000] [] ? kvm_read_and_reset_pf_reason+0x40/0x40 [ 0.080000] [] warn_slowpath_fmt+0x4a/0x60 [ 0.080000] [] warn_pre_alternatives+0x30/0x40 [ 0.080000] [] __do_page_fault+0x153/0xa80 [ 0.080000] [] ? kvm_clock_read+0x2f/0x60 [ 0.080000] [] ? sched_clock+0x17/0x30 [ 0.080000] [] ? kvm_read_and_reset_pf_reason+0x40/0x40 [ 0.080000] [] do_page_fault+0x36/0x50 [ 0.080000] [] do_async_page_fault+0x20/0xf0 [ 0.080000] [] error_code+0x65/0x6c [ 0.080000] [] ? proc_pid_status+0x620/0xff0 [ 0.080000] [] ? kernfs_add_one+0x119/0x270 [ 0.080000] [] ? kernfs_new_node+0x67/0x90 [ 0.080000] [] kernfs_create_dir_ns+0x6a/0xc0 [ 0.080000] [] sysfs_create_dir_ns+0x56/0x120 [ 0.080000] [] kobject_add_internal+0x20a/0x870 [ 0.080000] [] ? kvasprintf+0x86/0xa0 [ 0.080000] [] kobject_add_varg+0x43/0x90 [ 0.080000] [] kobject_add+0x40/0xb0 [ 0.080000] [] ? kobject_create+0xf5/0x110 [ 0.080000] [] kobject_create_and_add+0x5a/0xd0 [ 0.080000] [] mnt_init+0x1e4/0x380 [ 0.080000] [] ? files_init+0x2c/0x7c [ 0.080000] [] vfs_caches_init+0xe2/0x1b3 [ 0.080000] [] ? integrity_iintcache_init+0x2c/0x4d [ 0.080000] [] ? devcgroup_inode_mknod+0x90/0x90 [ 0.080000] [] start_kernel+0x8cf/0x97d [ 0.080000] [] i386_start_kernel+0xe9/0xfb [ 0.080000] ---[ end trace 8c750c6fe159171a ]--- [ 0.080000] BUG: unable to handle kernel paging request at 43a81621 git bisect start 4d8426f9ac601db2a64fa7be64051d02b9c9fe01 0f33be009b89d2268e94194dc4fd01a7851b6d51 -- git bisect good deb2ffc8689a85df3c127d6e6f8dc2901f4c7cd8 # 15:29 20+ 0 Merge remote-tracking branch 'i2c/i2c/for-next' git bisect good 462e0af1d10845875c68c4ebab8763e8aa745fc1 # 16:58 20+ 0 Merge remote-tracking branch 'tip/auto-latest' git bisect good 0a87e9437bf1d5d2947759165ed45d0e488e0958 # 17:08 20+ 0 Revert "ipr: don't log error messages when applications issues illegal requests" git bisect good 12308da406319a479375cf028966efca8aef6796 # 17:18 20+ 0 Merge remote-tracking branch 'random/dev' git bisect good 1f5c6373dd0714874a4870b6a94b8fc2510beb98 # 17:46 20+ 0 Merge remote-tracking branch 'signal-cleanup/signal_v4' git bisect bad e5d19a1e64b7124747bde87ff154ba1c7b1b9bd8 # 17:51 0- 2 Merge branch 'akpm-current/current' git bisect good a25c1d8786aeed7712fe04ce3f65b06f97d51072 # 18:01 20+ 0 sparc: io: fix for asm-generic: io: implement relaxed accessor macros as conditional wrappers git bisect bad 5be2e725b91d2b2e512ff66cfb23a239012dc955 # 18:10 0- 1 mm: page_alloc: avoid wakeup kswapd on the unintended node git bisect good caf144bbfe9ccab358ab7dd6c69a409f38002a89 # 18:25 20+ 0 proc/maps: make vm_is_stack() logic namespace-friendly git bisect bad 85139d6797ed11cfefbe7b9b47f83f3a2f26848c # 18:39 0- 3 block_dev: implement readpages() to optimize sequential read git bisect bad ef5783e1aa20c7d40ed952dfe9ace8f1f1a2e925 # 18:43 0- 1 mm/mmap.c: whitespace fixes git bisect good 106033415f2306c188fc3993983856ff1b61730d # 19:04 20+ 0 mm/slab: noinline __ac_put_obj() git bisect good 7beefd02978e077edeee6bca011ed3357cb88ab4 # 19:25 20+ 0 kernel/kthread.c: partial revert of 81c98869faa5 ("kthread: ensure locality of task_struct allocations") git bisect good f49e433b66f5d6a0a0feef60c0d984daccdce2c4 # 19:44 20+ 0 mm/slab_common: fix build failure if CONFIG_SLUB git bisect bad 997888488ef92da365b870247de773255227ce1f # 19:48 0- 1 mm/slab: use percpu allocator for cpu cache git bisect bad 8d8590d51e2b169f327a74c032333368f7f97f97 # 19:50 0- 1 mm/slab: support slab merge # first bad commit: [8d8590d51e2b169f327a74c032333368f7f97f97] mm/slab: support slab merge git bisect good f49e433b66f5d6a0a0feef60c0d984daccdce2c4 # 20:27 60+ 0 mm/slab_common: fix build failure if CONFIG_SLUB git bisect bad 4d8426f9ac601db2a64fa7be64051d02b9c9fe01 # 20:27 0- 11 Add linux-next specific files for 20140926 git bisect good 1e3827bf8aebe29af2d6e49b89d85dfae4d0154f # 20:48 60+ 0 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs git bisect bad 4d8426f9ac601db2a64fa7be64051d02b9c9fe01 # 20:49 0- 11 Add linux-next specific files for 20140926 This script may reproduce the error. ---------------------------------------------------------------------------- #!/bin/bash kernel=$1 kvm=( qemu-system-x86_64 -cpu kvm64 -enable-kvm -kernel $kernel -m 320 -smp 2 -net nic,vlan=1,model=e1000 -net user,vlan=1 -boot order=nc -no-reboot -watchdog i6300esb -rtc base=localtime -serial stdio -display none -monitor null ) append=( hung_task_panic=1 earlyprintk=ttyS0,115200 debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 panic=-1 softlockup_panic=1 nmi_watchdog=panic oops=panic load_ramdisk=2 prompt_ramdisk=0 console=ttyS0,115200 console=tty0 vga=normal root=/dev/ram0 rw drbd.minor_count=8 ) "${kvm[@]}" --append "${append[*]}" ---------------------------------------------------------------------------- Thanks, Fengguang