On Tue, Jun 21, 2011 at 09:21:46AM +0200, Michael Monnerie wrote:
> On Dienstag, 21. Juni 2011 Dave Chinner wrote:
> > > The minor one is that we always flush all work items and not just
> > > those on the filesystem to be flushed. This might become an issue
> > > for lager systems, or when we apply a similar scheme to fsync,
> > > which has the same underlying issue.
> > For sync, I don't think it matters if we flush a few extra IO
> > completions on a busy system.
> Couldn't that be bad on a system with mixed fast/slow storage (say 15k
> SAS and 7.2k SATA), where on the busy fast SAS lots of syncs occur and
> lead to extra I/O on the SATA disks? Especially if there are 16 SAS
> disks in an array with RAID-0 against 4 SATA disks in RAID-6, to say the
> worst. If the SATAs are already heavy used (say >=50%), those extra
> writes could bring them to their knees.
We are not talking about issuing extra writes to disk, so you don't
have to worry about this. What we are talking about is how to
efficiently flush the XFS IO completion queues for writes that the
hardware has already completed. That's almost always just CPU
overhead and doesn't involve more IO.... ;)