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); } -- 2.47.0