Re: [PATCH 0/8]: blk-mq: use static_rqs to iterate busy tags
From: Keith Busch <kbusch@kernel.org>
Date: 2019-03-19 15:24:42
Also in:
linux-nvme, lkml
From: Keith Busch <kbusch@kernel.org>
Date: 2019-03-19 15:24:42
Also in:
linux-nvme, lkml
On Tue, Mar 19, 2019 at 08:10:22AM -0700, Bart Van Assche wrote:
On Tue, 2019-03-19 at 09:25 +0800, jianchao.wang wrote:quoted
Do you mean this patch from Jens ? https://marc.info/?l=linux-block&m=154534605914798&w=2 + rcu_read_lock(); sbitmap_for_each_set(&bt->sb, bt_iter, &iter_data); + rcu_read_unlock(); The busy_iter_fn could sleep for nvme blk_mq_check_expired -> blk_mq_rq_timed_out -> q->mq_ops->timeout nvme_timeout -> nvme_dev_disable -> mutex_lock dev->shutdown_lockHi Jianchao, I think that's an additional reason to rewrite NVMe error handling ...
Nonesense. Block timeout handling runs in a work queue precicesly so handlers can actually do useful work in line with the notification.