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.