Re: [blk] WARNING: CPU: 0 PID: 300 at kernel/softirq.c:156 _local_bh_enable_ip()

From: Jens Axboe
Date: Mon Apr 21 2014 - 21:06:13 EST


On 2014-04-20 14:30, Jet Chen wrote:
Hi Zhiguo,

I got the below dmesg and the first bad commit is

git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
commit 2c575026fae6e63771bd2a4c1d407214a8096a89
Author: Hong Zhiguo <zhiguohong@xxxxxxxxxxx>
AuthorDate: Wed Nov 20 10:35:05 2013 -0700
Commit: Jens Axboe <axboe@xxxxxxxxx>
CommitDate: Wed Nov 20 15:33:04 2013 -0700

Update of blkg_stat and blkg_rwstat may happen in bh context.
While u64_stats_fetch_retry is only preempt_disable on 32bit
UP system. This is not enough to avoid preemption by bh and
may read strange 64 bit value.
Signed-off-by: Hong Zhiguo <zhiguohong@xxxxxxxxxxx>
Acked-by: Tejun Heo <tj@xxxxxxxxxx>
Cc: stable@xxxxxxxxxx
Signed-off-by: Jens Axboe <axboe@xxxxxxxxx>



+-----------------------------------------------------------+------------+------------+
| | 82023bb7f7 | 2c575026fa |
+-----------------------------------------------------------+------------+------------+
| boot_successes | 47 | 0 |
| boot_failures | 13 | 20 |
| BUG:kernel_boot_hang | 13 | 5 |
| inconsistent_IN-SOFTIRQ-W-SOFTIRQ-ON-W_usage | 0 | 15 |
| backtrace:smpboot_thread_fn | 0 | 15 |
| backtrace:vfs_read | 0 | 9 |
| backtrace:SyS_read | 0 | 9 |
| WARNING:CPU:PID:at_kernel/softirq.c:_local_bh_enable_ip() | 0 | 7 |
| BUG:spinlock_lockup_suspected_on_CPU | 0 | 1 |
| backtrace:do_mount | 0 | 6 |
| backtrace:SyS_mount | 0 | 6 |
| backtrace:async_run_entry_fn | 0 | 0 |
+-----------------------------------------------------------+------------+------------+

[ 12.318816] WARNING: CPU: 0 PID: 300 at kernel/softirq.c:156 _local_bh_enable_ip+0x34/0x97()

Does this still happen with 3.15-rc2?

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/