Re: [pgsql-hackers-win32] win32 performance - fsync question - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: [pgsql-hackers-win32] win32 performance - fsync question
Date
Msg-id 6BCB9D8A16AC4241919521715F4D8BCE4769AA@algol.sollentuna.se
Whole thread Raw
List pgsql-hackers
> > * Win32, with fsync, write-cache disabled: no data corruption
> > * Win32, with fsync, write-cache enabled: no data corruption
> > * Win32, with osync, write cache disabled: no data corruption
> > * Win32, with osync, write cache enabled: no data corruption. Once I
> > got:
> > 2005-02-24 12:19:54 LOG:  could not open file "C:/Program
> > Files/PostgreSQL/8.0/data/pg_xlog/000000010000000000000010"
> (log file
> > 0, segment 16): No such file or directory
> >   but the data in the database was consistent.
>
> It disturbs me that you couldn't produce data corruption in
> the cases where it theoretically should occur.  Seems like
> this is an indication that your test was insufficiently
> severe, or that there is something going on we don't understand.

The Windows driver knows abotu the write cache, and at least fsync()
pushes through the write cache even if it's there. This seems to
indicate taht O_SYNC at least partiallyi does this as well. This is why
there is no performance difference at all on fsync() with write cache on
or off.

I don't know if this is true for all IDE disks. COuld be that my disk is
particularly well-behaved.

//Magnus

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [pgsql-hackers-win32] win32 performance - fsync question
Next
From: pgsql@mohawksoft.com
Date:
Subject: Re: [pgsql-hackers-win32] win32 performance - fsync