Some more information: I started to perform the tests on one of the machines in my lab, and guess what, almost no difference between fsync and open_sync. Either on jfs or ext2.
The difference, Linux 2.6.3? My original tests where on Linux 2.4.25. The good part is that open_sync wasn't worse. Just a question about conceptually, "What is the right thing to do?" I started to think about this. To me, the O_SYNC flag is to ensure that what you write, at the time of write, is on the disk. In SQL terms it is like "auto commit." Calling fsync or fdatasync is so that one can batch write calls and flush it out to disk in one shot, conceptually, it is like transaction. Does it make sense, then, to say that WAL O_SYNC should be O_SYNC? If there are no reasons not too, doesn't it make sense to make this the default. It will give a boost for any 2.4 Linux machines and won't seem to hurt anyone else. ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly