[bug report] blktests nvme/tcp triggered WARNING at kernel/workqueue.c:2628 check_flush_dependency+0x110/0x14c

Christoph Hellwig hch at infradead.org
Thu Jul 21 21:46:00 PDT 2022


On Fri, Jul 22, 2022 at 01:13:26AM +0300, Sagi Grimberg wrote:
> The problem is that nvme_wq is MEM_RECLAIM, and nvme_tcp_wq is
> for the socket threads, that does not need to be MEM_RECLAIM workqueue.

Why don't we need MEM_RECLAIM for the socket threads?

> But reset/error-recovery that take place on nvme_wq, stop nvme-tcp
> queues, and that must involve flushing queue->io_work in order to
> fence concurrent execution.
> 
> So what is the solution? make nvme_tcp_wq MEM_RECLAIM?

I think so.



More information about the Linux-nvme mailing list