]> git.baikalelectronics.ru Git - kernel.git/commit
xfs: mark the xfssyncd workqueue as non-reentrant
authorChristoph Hellwig <hch@infradead.org>
Mon, 5 Dec 2011 08:53:21 +0000 (08:53 +0000)
committerBen Myers <bpm@sgi.com>
Tue, 20 Dec 2011 04:17:01 +0000 (22:17 -0600)
commit6fc46ad92e2158c7c197dff3107bf11dc7943308
treee0f41573d782b9c93306cd888b9cd7ff66d361df
parenta1179aab32fe0d2fb5c0789d3b18e806dbcb2408
xfs: mark the xfssyncd workqueue as non-reentrant

On a system with lots of memory pressure that is stuck on synchronous inode
reclaim the workqueue code will run one instance of the inode reclaim work
item on every CPU. which is not what we want.  Make sure to mark the
xfssyncd workqueue as non-reentrant to make sure there only is one instace
of each running globally.  Also stop using special paramater for the
workqueue; now that we guarantee each fs has only running one of each works
at a time there is no need to artificially lower max_active and compensate
for that by setting the WQ_CPU_INTENSIVE flag.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
fs/xfs/xfs_super.c