Re: [RFC] relaxed barrier semantics

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

On 07/28/2010 10:24 AM, Christoph Hellwig wrote:
> In fact for XFS I'm working on doing some bit of that, too, but it's not
> actually that easy.  For one we don't actually have a non-barrier cache
> flush primitive currently, although the conversion of cache flushes
> to FS requests and the addition of REQ_FLUSH helps greatly with it.
> Second the usual primitive for log writes actually is a WRITE_FUA,
> that is a WRITE that needs to go to disk, without consequences to
> the rest of the cache.  I've stared implementing that, including
> proper emulation for devices only supporting cache flushes but got
> stuck with the barrier machinery.

The barrier machinery can be easily changed to drop the DRAIN and
ordering stages, so all we need to do is an interface for the
filesystem to tell the barrier implementation that it will take care
of ordering itself and barriers (a bit of misnomer but well it isn't
too bad) can be handled as FUA writes which get executed after all
previous commansd are committed to NV media.  On write-through device
w/ FUA support, it will simply become a FUA write.  On a device w/
write back cache and w/o FUA support, it will become flush, write,
flush sequence.  On a device inbetween, flush, FUA write.  Would that
be enough for filesystems?  If so, the transition would be pretty
painless, md already splits barriers correctly and the modification is
confined to barrier implementation itself and filesystem which want to
use more relaxed ordering.

Thanks.

-- 
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux