Re: True fsync() in Linux (on IDE)

From: Jens Axboe
Date: Thu Mar 18 2004 - 14:52:28 EST


On Thu, Mar 18 2004, Peter Zaitsev wrote:
> On Wed, 2004-03-17 at 22:47, Jens Axboe wrote:
>
> > > There is solution just to disable drive write cache, but it seems to
> > > slowdown performance way to much.
> >
> > Chris and I have working real fsync() with the barrier patches. I'll
> > clean it up and post a patch for vanilla 2.6.5-rc today.
>
> Good to hear. How is it going to work from user point of view ?
> Just fsync working back again or there would be some special handling.

It's just going to work :)

> Also. What is about fsync() in 2.6 nowadays ?
>
> I've done some tests on 3WARE RAID array and it looks like it is
> different compared to 2.4 I've been testing previously.
>
> I have the simple test which has single page writes to the file followed
> by fsync(). First run give you the case when file grows with each
> write, second when you're writing to existing file space.
>
> The results I have on 2.4 is something like 40 sec per 1000 fsyncs for
> new file, and 0.6 sec for existing file.
>
> With 2.6.3 I have both existing file and new file to complete in less
> than 1 second.

I believe some missed set_page_writeback() calls caused fsync() to never
really wait on anything, pretty broken... IIRC, it's fixed in latest
-mm, or maybe it's just pending for next release.

--
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/