On Thu, 2025-01-02 at 20:00 -0500, cel@xxxxxxxxxx wrote: > From: Chuck Lever <chuck.lever@xxxxxxxxxx> > > Youzhong Yang <youzhong@xxxxxxxxx> noticed the workqueue subsystem > complaining about how long the filecache laundrette was running. > This resulted in switching from using the system_wq for the > laundrette to system_unbound_wq (see commit 4b84551a35e3 ("nfsd: use > system_unbound_wq for nfsd_file_gc_worker()"). > > However, I've seen the laundrette running for multiple milliseconds > on some workloads, delaying other work. For the purpose of > scheduling fairness, perhaps a better choice would be to process > filecache disposal queues on the system_long_wq instead. > > Cc: Tejun Heo <tj@xxxxxxxxxx> > Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> > --- > 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 a1cdba42c4fa..91a535c2dede 100644 > --- a/fs/nfsd/filecache.c > +++ b/fs/nfsd/filecache.c > @@ -112,7 +112,7 @@ static void > nfsd_file_schedule_laundrette(void) > { > if (test_bit(NFSD_FILE_CACHE_UP, &nfsd_file_flags)) > - queue_delayed_work(system_unbound_wq, &nfsd_filecache_laundrette, > + queue_delayed_work(system_long_wq, &nfsd_filecache_laundrette, > NFSD_LAUNDRETTE_DELAY); > } > TIL that there is system_long_wq! Seems like a reasonable thing to do since this is generally low-priority work. Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxx>