On 06/14/2017 09:19 AM, Bart Van Assche wrote:
> Subject: [PATCH] block: Fix a blk_exit_rl() regression
>
> Avoid that the following complaint is reported:
>
> BUG: sleeping function called from invalid context at kernel/workqueue.c:2790
> in_atomic(): 1, irqs_disabled(): 0, pid: 41, name: rcuop/3
> 1 lock held by rcuop/3/41:
> #0: (rcu_callback){......}, at: [<ffffffff8111f9a2>]
> rcu_nocb_kthread+0x282/0x500
> Call Trace:
> dump_stack+0x86/0xcf
> ___might_sleep+0x174/0x260
> __might_sleep+0x4a/0x80
> flush_work+0x7e/0x2e0
> __cancel_work_timer+0x143/0x1c0
> cancel_work_sync+0x10/0x20
> blk_throtl_exit+0x25/0x60
> blkcg_exit_queue+0x35/0x40
> blk_release_queue+0x42/0x130
> kobject_put+0xa9/0x190
I added this, but the above is really a horrible changelog. It doesn't
say how the problem is fixed. I added some verbiage to that effect.
--
Jens Axboe