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

Re: [wietse@porcupine.org: Re: syncronous directory operation for linux (ext2)]



Hi,

On Sun, Feb 03, 2002 at 06:07:56PM +0100, Ralf Hildebrandt wrote:
> There's a big thread about filesystems on postfix-users postfix org
> 
> From: wietse porcupine org (Wietse Venema)
> Lawrence Greenfield:
> >    Date: Sat, 2 Feb 2002 22:22:25 -0500 (EST)
> >    From: wietse porcupine org (Wietse Venema)
> > 
> >    This patch is not useful. On Linux file systems it has no effect
> >    at all.  On FFS it has no useful effect at all, either unless soft
> >    updates are turned on, which is not the default.
> > 
> > Huh?  That's not true at all.
> > 
> > On ext3fs, the fsync() afterwards will flush the log, thus forcing the
> > link() to disk, just like it forces the link() to disk in softupdates.
> 
> fsync() flushes the whole damned ext3 log? That would be lame.

On ext3, fsync forces the transaction out to the log, but it does NOT
flush the log out to disk.  The log is always reclaimed lazily as
needed.

> I expected they fixed that behavior long ago.

It has never behaved that way.

ext3 has one other nice feature here in current versions --- when it
does force a log commit for fsync, it performs a final "yield" before
closing the commit, allowing other threads to queue synchronous IOs
into the same transaction.  We found that in a heavily threaded
synchronous application, this *enormously* improves performance ---
postmark improved by a factor of about 30 in our tests, simply because
we can batch so many synchronous application IO requests into a single
sequential log update.

Cheers,
 Stephen





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