Re: [BUG] blk-throttle panic on 32bit machine after startup
From: Tejun Heo <hidden>
Date: 2021-10-19 17:46:02
Also in:
linux-block
From: Tejun Heo <hidden>
Date: 2021-10-19 17:46:02
Also in:
linux-block
On Mon, Oct 18, 2021 at 03:08:53PM +0800, Youfu Zhang wrote:
Hi, I ran into a kernel bug related to blk-throttle on CentOS 7 AltArch for i386. Userspace programs may panic the kernel if they hit the I/O limit within 5 minutes after startup. Root cause: 1. jiffies was initialized to -300HZ during boot on 32bit machines 2. enable blkio cgroup hierarchy __DEVEL__sane_behavior for cgroup v1 or default hierarchy for cgroup v2 EL7 kernel modified throtl_pd_init and always enable hierarchical throttling 3. enable & trigger blkio throttling within 5 minutes after startup bio propagated from child tg to parent 4. enter throtl_start_new_slice_with_credit if(time_after_eq(start, tg->slice_start[rw])) aka. time_after_eq(0xFFFxxxxx, 0) does not hold parent tg->slice_start[rw] was zero-initialized and not updated 5. enter throtl_trim_slice BUG_ON(time_before(tg->slice_end[rw], tg->slice_start[rw])) aka. time_before(0xFFFxxxxx, 0) triggers a panic
This doesn't reproduce on 5.14. Thanks. -- tejun