[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140930082105.GG9561@wfg-t540p.sh.intel.com>
Date: Tue, 30 Sep 2014 16:21:05 +0800
From: Fengguang Wu <fengguang.wu@...el.com>
To: Joonsoo Kim <iamjoonsoo.kim@....com>
Cc: Jet Chen <jet.chen@...el.com>, Su Tao <tao.su@...el.com>,
Yuanhan Liu <yuanhan.liu@...el.com>, LKP <lkp@...org>,
linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: [mm/slab] WARNING: CPU: 0 PID: 0 at
arch/x86/kernel/cpu/common.c:1430 warn_pre_alternatives()
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 <iamjoonsoo.kim@....com>
AuthorDate: Fri Sep 26 10:18:56 2014 +1000
Commit: Stephen Rothwell <sfr@...b.auug.org.au>
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
<Before>
Slab: 25136 kB
<After>
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 <iamjoonsoo.kim@....com>
Cc: Christoph Lameter <cl@...ux.com>
Cc: Pekka Enberg <penberg@...nel.org>
Cc: David Rientjes <rientjes@...gle.com>
Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
+-----------------------------------------------------------------+------------+------------+---------------+
| | 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] [<c1d3c98c>] dump_stack+0x40/0x5e
[ 0.080000] [<c1070636>] warn_slowpath_common+0xb6/0x100
[ 0.080000] [<c1020830>] ? warn_pre_alternatives+0x30/0x40
[ 0.080000] [<c1020830>] ? warn_pre_alternatives+0x30/0x40
[ 0.080000] [<c1057f20>] ? kvm_read_and_reset_pf_reason+0x40/0x40
[ 0.080000] [<c107072a>] warn_slowpath_fmt+0x4a/0x60
[ 0.080000] [<c1020830>] warn_pre_alternatives+0x30/0x40
[ 0.080000] [<c105d8a3>] __do_page_fault+0x153/0xa80
[ 0.080000] [<c105873f>] ? kvm_clock_read+0x2f/0x60
[ 0.080000] [<c1010067>] ? sched_clock+0x17/0x30
[ 0.080000] [<c1057f20>] ? kvm_read_and_reset_pf_reason+0x40/0x40
[ 0.080000] [<c105e5d6>] do_page_fault+0x36/0x50
[ 0.080000] [<c1057f40>] do_async_page_fault+0x20/0xf0
[ 0.080000] [<c1d53b3d>] error_code+0x65/0x6c
[ 0.080000] [<c1270000>] ? proc_pid_status+0x620/0xff0
[ 0.080000] [<c127a139>] ? kernfs_add_one+0x119/0x270
[ 0.080000] [<c1279bb7>] ? kernfs_new_node+0x67/0x90
[ 0.080000] [<c127a2fa>] kernfs_create_dir_ns+0x6a/0xc0
[ 0.080000] [<c127e036>] sysfs_create_dir_ns+0x56/0x120
[ 0.080000] [<c141986a>] kobject_add_internal+0x20a/0x870
[ 0.080000] [<c1432de6>] ? kvasprintf+0x86/0xa0
[ 0.080000] [<c141a153>] kobject_add_varg+0x43/0x90
[ 0.080000] [<c141a240>] kobject_add+0x40/0xb0
[ 0.080000] [<c14192f5>] ? kobject_create+0xf5/0x110
[ 0.080000] [<c141a30a>] kobject_create_and_add+0x5a/0xd0
[ 0.080000] [<c2551bc9>] mnt_init+0x1e4/0x380
[ 0.080000] [<c25511b5>] ? files_init+0x2c/0x7c
[ 0.080000] [<c255156f>] vfs_caches_init+0xe2/0x1b3
[ 0.080000] [<c25585de>] ? integrity_iintcache_init+0x2c/0x4d
[ 0.080000] [<c13d0b90>] ? devcgroup_inode_mknod+0x90/0x90
[ 0.080000] [<c251d6a3>] start_kernel+0x8cf/0x97d
[ 0.080000] [<c251c33b>] 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
View attachment "dmesg-quantal-ivb41-37:20140928195125:i386-randconfig-ib1-09281302::" of type "text/plain" (16988 bytes)
Download attachment "i386-randconfig-ib1-09281302-4d8426f9ac601db2a64fa7be64051d02b9c9fe01-BUG:-unable-to-handle-kernel-118693.log" of type "application/octet-stream" (53559 bytes)
View attachment "config-3.17.0-rc6-00222-g8d8590d" of type "text/plain" (74929 bytes)
_______________________________________________
LKP mailing list
LKP@...ux.intel.com
Powered by blists - more mailing lists