[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140307014233.GE8427@localhost>
Date: Fri, 7 Mar 2014 09:42:33 +0800
From: Fengguang Wu <fengguang.wu@...el.com>
To: Christoph Lameter <cl@...ux.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org
Subject: [percpu] BUG: using __this_cpu_add() in preemptible [00000000]
code: swapper/0/1
Hi Christoph,
FYI, this commit helps expose more information (a warning with
backtrace) on a previously clueless kernel crash.
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
commit a25982c15ae5298520033cd5848a82adf6a97376
Author: Christoph Lameter <cl@...ux.com>
AuthorDate: Thu Mar 6 11:05:21 2014 +1100
Commit: Stephen Rothwell <sfr@...b.auug.org.au>
CommitDate: Thu Mar 6 18:13:33 2014 +1100
percpu: add preemption checks to __this_cpu ops
We define a check function in order to avoid trouble with the include
files. Then the higher level __this_cpu macros are modified to invoke the
preemption check.
Signed-off-by: Christoph Lameter <cl@...ux.com>
Acked-by: Ingo Molnar <mingo@...nel.org>
Cc: Tejun Heo <tj@...nel.org>
Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
+-------------------------------------------------------+------------+------------+---------------+
| | 26d02cfa38 | a25982c15a | next-20140306 |
+-------------------------------------------------------+------------+------------+---------------+
| boot_successes | 72 | 0 | 0 |
| boot_failures | 8 | 20 | 19 |
| BUG:kernel_test_crashed | 1 | | |
| BUG:kernel_boot_crashed | 6 | | |
| BUG:kernel_boot_hang | 1 | | |
| BUG:using__this_cpu_add()in_preemptible_code:swapper | 0 | 20 | 19 |
| backtrace:getname_kernel | 0 | 6 | 10 |
| backtrace:run_init_process | 0 | 6 | 10 |
| BUG:using__this_cpu_add()in_preemptible_code:kthreadd | 0 | 3 | 1 |
| backtrace:__this_cpu_preempt_check | 0 | 1 | |
| backtrace:do_fork | 0 | 1 | |
| backtrace:kthreadd | 0 | 1 | |
| backtrace:do_execve | 0 | 1 | |
+-------------------------------------------------------+------------+------------+---------------+
[ 107.002146] #2: MTPAV on parallel port at 0x378
[ 107.138481] random: nonblocking pool is initialized
[ 107.276022] Freeing unused kernel memory: 800K (d2c49000 - d2d11000)
[ 107.417645] BUG: using __this_cpu_add() in preemptible [00000000] code: swapper/0/1
[ 107.703813] caller is __this_cpu_preempt_check+0x3b/0x60
[ 107.852357] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.14.0-rc5-next-20140306-06952-g0ffb2fe #1
[ 108.157111] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[ 108.319103] 00000000 00000000 d343deec d22ec747 00000000 d343df10 d13efdcd d290362c
[ 108.685150] d343df28 00000000 d34403d8 00000001 d343df28 d0745000 d343df58 d13efe2b
[ 109.086205] d343df28 00000028 d2902c14 d2a74fc6 68745f5f 635f7369 615f7570 29286464
[ 109.512575] Call Trace:
[ 109.718526] [<d22ec747>] dump_stack+0x4b/0x75
[ 109.927550] [<d13efdcd>] check_preemption_disabled+0xcd/0xe0
[ 110.138792] [<d13efe2b>] __this_cpu_preempt_check+0x3b/0x60
[ 110.351853] [<d106966b>] ? preempt_count_add+0x4b/0xa0
[ 110.564753] [<d10f3fa2>] kmem_cache_alloc+0xc2/0x190
[ 110.776294] [<d11077ff>] ? getname_kernel+0x3f/0x80
[ 110.983777] [<d11077ff>] getname_kernel+0x3f/0x80
[ 111.181555] [<d100036d>] run_init_process+0xd/0x20
[ 111.381971] [<d22e42d2>] kernel_init+0x32/0xe0
[ 111.578459] [<d230315b>] ret_from_kernel_thread+0x1b/0x30
[ 111.768674] [<d22e42a0>] ? rest_init+0x70/0x70
git bisect start 0ffb2fe7b9c30082876fa3a17da018bf0632cf03 09de192242d86ede449146ac423effca53bc1810 --
git bisect bad 439cde1f3d8230f858c0a55902381d24cd7a2df2 # 03:37 0- 4 Merge branch 'akpm/master'
git bisect good ce34778eb4d9fa0aaaeae76c1068026ee5255fd7 # 04:14 20+ 5 Merge branch 'akpm-current/current'
git bisect good 117314461e82adabb6b78dcb03259da75b50833b # 04:30 20+ 4 mm: don't implictly include linux/mm.h in linux/sched.h
git bisect bad 9d58cf7a388c1b4a06cb335980eb1bb1352ba876 # 04:35 0- 1 scheduler: replace __get_cpu_var with this_cpu_ptr
git bisect bad b2ff2cfebad92bebfca28bad650045821ed270c4 # 04:41 0- 6 tracing: replace __get_cpu_var uses with this_cpu_ptr
git bisect good 6fb77936481538ba05726345d86af4b39128a8a9 # 05:03 20+ 4 arm: move arm_dma_limit to setup_dma_zone
git bisect good d1cea07efbfa2723ca1b83d3a69d1f1000896d4d # 06:15 20+ 10 modules: use raw_cpu_write for initialization of per cpu refcount.
git bisect bad a25982c15ae5298520033cd5848a82adf6a97376 # 06:23 0- 3 percpu: add preemption checks to __this_cpu ops
git bisect good 26d02cfa385067c39c0407b022c01a011c2fbb51 # 06:46 20+ 3 net: replace __this_cpu_inc in route.c with raw_cpu_inc
# first bad commit: [a25982c15ae5298520033cd5848a82adf6a97376] percpu: add preemption checks to __this_cpu ops
git bisect good 26d02cfa385067c39c0407b022c01a011c2fbb51 # 07:23 60+ 8 net: replace __this_cpu_inc in route.c with raw_cpu_inc
git bisect bad 0ffb2fe7b9c30082876fa3a17da018bf0632cf03 # 07:23 0- 19 Add linux-next specific files for 20140306
git bisect good cb19098c9fa7af13a3efbe02076e8a4b17d86e38 # 07:59 60+ 8 Revert "percpu: add preemption checks to __this_cpu ops"
git bisect good c3bebc71c4bcdafa24b506adf0c1de3c1f77e2e0 # 08:22 60+ 1 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
git bisect bad 0ffb2fe7b9c30082876fa3a17da018bf0632cf03 # 08:22 0- 19 Add linux-next specific files for 20140306
Thanks,
Fengguang
View attachment "dmesg-yocto-ivytown2-18:20140307011851:i386-randconfig-an0-03070034:3.14.0-rc5-next-20140306-06952-g0ffb2fe:1" of type "text/plain" (72161 bytes)
Download attachment "i386-randconfig-an0-03070034-0ffb2fe7b9c30082876fa3a17da018bf0632cf03-BUG:-using----in-preemptible----code:-14502.log" of type "application/octet-stream" (32397 bytes)
View attachment "config-3.14.0-rc5-next-20140306-06952-g0ffb2fe" of type "text/plain" (103400 bytes)
_______________________________________________
LKP mailing list
LKP@...ux.intel.com
Powered by blists - more mailing lists