Re: [PATCH] blktrace: fix 'BUG: sleeping function called from invalid context' in case of PREEMPT_RT

From: Sebastian Andrzej Siewior
Date: Tue Dec 15 2020 - 11:09:34 EST


On 2020-12-15 20:06:04 [+0800], Ming Lei wrote:
>
> [ 284.527619] BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:968
> [ 284.527626] in_atomic(): 1, irqs_disabled(): 0, pid: 6705, name: mandb
> [ 284.527631] 4 locks held by mandb/6705:
> [ 284.527634] #0: ffff88853f4f2eb0 (&f->f_pos_lock){+.+.}-{0:0}, at: __fdget_pos+0xaf/0xe0
> [ 284.527662] #1: ffff8885eb814048 (&sb->s_type->i_mutex_key#13){++++}-{0:0}, at: xfs_ilock+0x17d/0x590 [xfs]
> [ 284.527838] #2: ffffffffa24d22c0 (rcu_read_lock){....}-{1:2}, at: blk_add_trace_bio+0x0/0x2f0
> [ 284.527859] #3: ffffffffa22177a0 (running_trace_lock){+.+.}-{2:2}, at: __blk_add_trace+0x9ea/0xdf0
> [ 284.527877] Preemption disabled at:
> [ 284.527886] [<ffffffff9f936743>] get_lock_stats+0x13/0x120
> [ 284.527897] CPU: 53 PID: 6705 Comm: mandb Kdump: loaded Not tainted 4.18.0-259.rt7.24.el8.x86_64+debug #1

4.18?
I just gave it a try with 5.10-RT and I don't see a splat. Please retest
with v5.10-RT.

>
> Thanks,
> Ming

Sebastian