mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
nvme-tcp: Use WQ_PERCPU explicitly if wq_unbound is false.
Since commit 21c05ca88a ("workqueue: Add warnings and ensure
one among WQ_PERCPU or WQ_UNBOUND is present"), we must explicitly
set WQ_PERCPU or WQ_UNBOUND when creating workqueue.
nvme_tcp_init_module() sets WQ_UNBOUND when the module param
wq_unbound is set, but otherwise, WQ_PERCPU is missing, triggering
the warning below:
workqueue: nvme_tcp_wq is using neither WQ_PERCPU or WQ_UNBOUND. Setting WQ_PERCPU.
WARNING: kernel/workqueue.c:5856 at __alloc_workqueue+0x1d02/0x2070 kernel/workqueue.c:5855, CPU#0: swapper/0/1
Let's set WQ_PERCPU if wq_unbound is false.
Reported-by: syzbot+d078cba4418e65f61984@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/all/6a1a9a86.323e8352.141b09.0001.GAE@google.com/
Tested-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
Reviewed-by: Nilay Shroff <nilay@linux.ibm.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Signed-off-by: Kuniyuki Iwashima <kuniyu@google.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
This commit is contained in:
parent
53cd102a7a
commit
8757fd9500
|
|
@ -3053,6 +3053,8 @@ static int __init nvme_tcp_init_module(void)
|
|||
|
||||
if (wq_unbound)
|
||||
wq_flags |= WQ_UNBOUND;
|
||||
else
|
||||
wq_flags |= WQ_PERCPU;
|
||||
|
||||
nvme_tcp_wq = alloc_workqueue("nvme_tcp_wq", wq_flags, 0);
|
||||
if (!nvme_tcp_wq)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user