[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <38FA0353-5303-4A3D-86A5-EF1E989CD497@oracle.com>
Date: Wed, 21 Jun 2023 15:26:22 +0000
From: Chuck Lever III <chuck.lever@...cle.com>
To: Tejun Heo <tj@...nel.org>
CC: open list <linux-kernel@...r.kernel.org>,
Linux NFS Mailing List <linux-nfs@...r.kernel.org>
Subject: contention on pwq->pool->lock under heavy NFS workload
Hi Tejun-
lock_stat reports that the pool->lock kernel/workqueue.c:1483 is the highest
contended lock on my test NFS client. The issue appears to be that the three
NFS-related workqueues, rpciod_workqueue, xprtiod_workqueue, and nfsiod all
get placed in the same worker_pool, so they have to fight over one pool lock.
I notice that ib_comp_wq is allocated with the same flags, but I don't see
significant contention there, and a trace_printk in __queue_work shows that
work items queued on that WQ seem to alternate between at least two different
worker_pools.
Is there a preferred way to ensure the NFS WQs get spread a little more fairly
amongst the worker_pools?
Thanks in advance.
--
Chuck Lever
Powered by blists - more mailing lists