xfs
[Top] [All Lists]

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

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH] xfs: mark the xfssyncd workqueue as non-reentrant
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Mon, 19 Dec 2011 11:02:27 +1100
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20111205085321.GA10986@xxxxxxxxxxxxx>
References: <20111205085321.GA10986@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
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@xxxxxx>

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@xxxxxxxxxx>

-- 
Dave Chinner
david@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>