[PATCH] xfs: mark the xfssyncd workqueue as non-reentrant

Ben Myers bpm at sgi.com
Tue Dec 20 10:45:07 CST 2011


On Mon, Dec 19, 2011 at 11:02:27AM +1100, Dave Chinner wrote:
> On Mon, Dec 05, 2011 at 03:53:21AM -0500, Christoph Hellwig wrote:
> > 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 at lst.de>
> 
> Ok, I've had a look in detail at what the WQ_NON_REENTRANT flag does
> and I agree that this is the correct behaviour for the xfssyncd -
> only one instance per filesystem should run at any given time.
> 
> Reviewed-by: Dave Chinner <dchinner at redhat.com>

FWICS this seems reasonable...

Reviewed-by: Ben Myers <bpm at sgi.com>




More information about the xfs mailing list