Re: [PATCHES] SRA Win32 sync() code
Bruce Momjian <pgman@candle.pha.pa.us>
From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL-patches <pgsql-patches@postgresql.org>, PostgreSQL Win32 port list <pgsql-hackers-win32@postgresql.org>
Date: 2003-11-16T18:06:48Z
Lists: pgsql-hackers
Tom Lane wrote: > Bruce Momjian <pgman@candle.pha.pa.us> writes: > > Tom Lane wrote: > >> One reason I like the idea of adopting a sync-when-you-write policy is > >> that it eliminates the need for anything as messy as that. > > > Yes, but can we do it without causing a performance degredation, and I > > would hate to change something to make things easier on Win32 while > > penalizing all platforms. > > Having to keep a list of modified files in shared memory isn't a penalty? > > Seriously though, if we can move the bulk of the writing work into > background processes then I don't believe that there will be any > significant penalty for regular backends. And I believe that it would > be a huge advantage from a correctness point of view if we could stop > depending on sync(). The fact that Windows hasn't got sync() is merely > another reason we should stop using it. If the background writer starts using fsync(), we can have normal backends that do a write() set a shared memory boolean. We can then test that boolean and do sync() only if other backends had to do their own writes. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073