]> git.baikalelectronics.ru Git - kernel.git/commit
nvmet: fix workqueue MEM_RECLAIM flushing dependency
authorSagi Grimberg <sagi@grimberg.me>
Wed, 28 Sep 2022 06:39:10 +0000 (09:39 +0300)
committerChristoph Hellwig <hch@lst.de>
Wed, 19 Oct 2022 10:43:13 +0000 (12:43 +0200)
commit6e4aa04d37ef4f4a34642f690b7d944d051ae5aa
tree565761b751fd1423e3ab77401e274806de63263c
parent30b8bd365b4a7ede2828ea6f46db079b54e99a52
nvmet: fix workqueue MEM_RECLAIM flushing dependency

The keep alive timer needs to stay on nvmet_wq, and not
modified to reschedule on the system_wq.

This fixes a warning:
------------[ cut here ]------------
workqueue: WQ_MEM_RECLAIM
nvmet-wq:nvmet_rdma_release_queue_work [nvmet_rdma] is flushing
!WQ_MEM_RECLAIM events:nvmet_keep_alive_timer [nvmet]
WARNING: CPU: 3 PID: 1086 at kernel/workqueue.c:2628
check_flush_dependency+0x16c/0x1e0

Reported-by: Yi Zhang <yi.zhang@redhat.com>
Fixes: 4d5dd2f4c30d ("nvmet: use a private workqueue instead of the system workqueue")
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/target/core.c