xfs
[Top] [All Lists]

Re: [PATCH] xfs: Do background CIL flushes via a workqueue

To: Vivek Goyal <vgoyal@xxxxxxxxxx>
Subject: Re: [PATCH] xfs: Do background CIL flushes via a workqueue
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Tue, 27 Mar 2012 12:03:00 -0400
Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>, Dave Chinner <david@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
In-reply-to: <20120327155759.GB28707@xxxxxxxxxx>
References: <1332841605-3538-1-git-send-email-david@xxxxxxxxxxxxx> <20120327143127.GA11434@xxxxxxxxxxxxx> <20120327155759.GB28707@xxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Tue, Mar 27, 2012 at 11:57:59AM -0400, Vivek Goyal wrote:
> On Tue, Mar 27, 2012 at 10:31:27AM -0400, Christoph Hellwig wrote:
> > Vivek, does CFQ still need any hints for this sort of handoff?
> > 
> 
> Christoph, I don't understand the issue enough to comment on it.
> 
> Had a quick look at the patch. Looks like some action (writing log), has
> been moved to a worker thread.  And in some cases (log force triggered
> flush, whatever it is), we seem to prefer to do it from the submitter's
> context.

Yes.  This is to workaround the old problem of cfq getting utterly
confused if cooperating I/O beeing submitted from different threads.

The case in the previous version of this patch was:

 - thread doing the fsync will write out data, and wait for it
 - then we'd force the log by kicking a workqueue and waiting for it

quite similar to the ext3/4 fsync issues that we had long discussions
about.

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