Re: [PATCH] nfsd: queue laundrette to filecache_wq instead of system_wq
From: Jeff Layton <jlayton@kernel.org>
Date: 2022-11-07 15:55:09
On Mon, 2022-11-07 at 15:11 +0000, Chuck Lever III wrote:
Hi Jeff -quoted
On Nov 7, 2022, at 10:01 AM, Jeff Layton [off-list ref] wrote: nfsd has grown a dedicated workqueue for the filecache, but this job is still queued to the system_wq. Change it to use the filecache_wq.Actually... there doesn't seem to be anything special about nfsd_filecache_wq. 9542e6a643fc ("nfsd: Containerise filecache laundrette") does not make clear why it was added. Playing devil's advocate: why not make the converse change and replace it with system_wq?
Good question. At one time, allocating a workqueue gave you a dedicated pool of threads, but that's no longer the case. Documentation/core-api/workqueue.rst says: "A wq no longer manages execution resources but serves as a domain for forward progress guarantee, flush and work item attributes." Given that we're allocating this workqueue exactly the same way we allocate the system_wq, I don't think we need our own workqueue at all. I'd be fine with changing this to be the reverse if you prefer.
quoted
Signed-off-by: Jeff Layton <jlayton@kernel.org> --- fs/nfsd/filecache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/fs/nfsd/filecache.c b/fs/nfsd/filecache.c index 1e76b0d3b83a..018fd1565193 100644 --- a/fs/nfsd/filecache.c +++ b/fs/nfsd/filecache.c@@ -212,7 +212,7 @@ static voidnfsd_file_schedule_laundrette(void) { if (test_bit(NFSD_FILE_CACHE_UP, &nfsd_file_flags)) - queue_delayed_work(system_wq, &nfsd_filecache_laundrette, + queue_delayed_work(nfsd_filecache_wq, &nfsd_filecache_laundrette, NFSD_LAUNDRETTE_DELAY); } -- 2.38.1-- Chuck Lever
-- Jeff Layton [off-list ref]