Re: Can O_SYNC be implemented by using fsync?

From: Andi Kleen (ak@suse.de)
Date: Tue May 16 2000 - 04:01:13 EST


On Mon, May 15, 2000 at 06:57:57PM -0600, Jeff V. Merkey wrote:
> Van and I worked together for several years on Oracle for NetWare (I
> guess this part was obvious). He is getting together some info for us
> on what would be the most ideal. A block oriented version of fsync() is
> probably the way to go the get Oracle the highest numbers possible on
> Linux rather then force a flush of every dirty block for a file each
> time an Oracle data table is written to.

There are other databases than just Oracle too which run on Linux ;)
iirc the slow fsync problem was mostly reported with Solid servers.

For example mail servers use fsync extensively too.

>
> We should probably add (int block, int blocks) to fsync() to give
> callers the ability to selectively push blocks out of cache. IMHO.

That's msync(MS_INVALIDATE) when you it mmaped().
If you don't want to flush you can also use madvise(MADV_DONTNEED)
(that was even added at the request of some big database vendor)

I guess Oracle will use POSIX aio with O_SYNC anyways.

-Andi

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



This archive was generated by hypermail 2b29 : Tue May 23 2000 - 21:00:10 EST