linux/drivers/nvme/target
Sagi Grimberg 22d908afbd nvmet-tcp: fix lockdep complaint on nvmet_tcp_wq flush during queue teardown
[ Upstream commit 533d2e8b4d ]

We probably need nvmet_tcp_wq to have MEM_RECLAIM as we are
sending/receiving for the socket from works on this workqueue.
Also this eliminates lockdep complaints:
--
[ 6174.010200] workqueue: WQ_MEM_RECLAIM
nvmet-wq:nvmet_tcp_release_queue_work [nvmet_tcp] is flushing
!WQ_MEM_RECLAIM nvmet_tcp_wq:nvmet_tcp_io_work [nvmet_tcp]
[ 6174.010216] WARNING: CPU: 20 PID: 14456 at kernel/workqueue.c:2628
check_flush_dependency+0x110/0x14c

Reported-by: Yi Zhang <yi.zhang@redhat.com>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2022-08-25 11:45:47 +02:00
..
admin-cmd.c nvmet: use a private workqueue instead of the system workqueue 2022-03-29 09:29:04 +02:00
configfs.c nvmet: add a clear_ids attribute for passthru targets 2022-06-30 08:23:24 +02:00
core.c nvmet: add a clear_ids attribute for passthru targets 2022-06-30 08:23:24 +02:00
discovery.c nvmet: register discovery subsystem as 'current' 2021-10-27 08:06:04 +02:00
fabrics-cmd.c nvmet: set 'CNTRLTYPE' in the identify controller data 2021-10-20 19:16:02 +02:00
fc.c nvmet: use a private workqueue instead of the system workqueue 2022-03-29 09:29:04 +02:00
fcloop.c nvmet: use a private workqueue instead of the system workqueue 2022-03-29 09:29:04 +02:00
io-cmd-bdev.c block: decouple REQ_OP_SECURE_ERASE from REQ_OP_DISCARD 2022-04-17 19:49:59 -06:00
io-cmd-file.c nvmet: use a private workqueue instead of the system workqueue 2022-03-29 09:29:04 +02:00
Kconfig nvme: Have NVME_FABRICS select NVME_CORE instead of transport drivers 2021-08-16 21:03:18 +02:00
loop.c nvmet: use a private workqueue instead of the system workqueue 2022-03-29 09:29:04 +02:00
Makefile nvmet: add ZBD over ZNS backend support 2021-06-17 15:51:21 +02:00
nvmet.h nvmet: add a clear_ids attribute for passthru targets 2022-06-30 08:23:24 +02:00
passthru.c nvmet: add a clear_ids attribute for passthru targets 2022-06-30 08:23:24 +02:00
rdma.c RDMA: Split kernel-only global device caps from uverbs device caps 2022-04-06 15:02:13 -03:00
tcp.c nvmet-tcp: fix lockdep complaint on nvmet_tcp_wq flush during queue teardown 2022-08-25 11:45:47 +02:00
trace.c nvmet: add set feature tracing support 2021-08-16 14:42:23 +02:00
trace.h nvmet: use min of device_path and disk len 2021-02-10 16:38:05 +01:00
zns.c block: add a bdev_max_zone_append_sectors helper 2022-04-17 19:49:59 -06:00