On Tue, 2019-03-19 at 09:25 +-0800, jianchao.wang wrote: +AD4 Do you mean this patch from Jens ? +AD4 https://marc.info/?l+AD0-linux-block+ACY-m+AD0-154534605914798+ACY-w+AD0-2 +AD4 +AD4 +- rcu+AF8-read+AF8-lock()+ADs +AD4 sbitmap+AF8-for+AF8-each+AF8-set(+ACY-bt-+AD4-sb, bt+AF8-iter, +ACY-iter+AF8-data)+ADs +AD4 +- rcu+AF8-read+AF8-unlock()+ADs +AD4 +AD4 The busy+AF8-iter+AF8-fn could sleep for nvme +AD4 blk+AF8-mq+AF8-check+AF8-expired +AD4 -+AD4 blk+AF8-mq+AF8-rq+AF8-timed+AF8-out +AD4 -+AD4 q-+AD4-mq+AF8-ops-+AD4-timeout +AD4 nvme+AF8-timeout +AD4 -+AD4 nvme+AF8-dev+AF8-disable +AD4 -+AD4 mutex+AF8-lock dev-+AD4-shutdown+AF8-lock Hi Jianchao, I think that's an additional reason to rewrite NVMe error handling ... Best regards, Bart.