Re: SRA Win32 sync() code - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: SRA Win32 sync() code
Date
Msg-id 200311161806.hAGI6mu11492@candle.pha.pa.us
Whole thread Raw
In response to Re: SRA Win32 sync() code  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: SRA Win32 sync() code  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-patches
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

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: SIGPIPE handling
Next
From: Manfred Spraul
Date:
Subject: Re: SIGPIPE handling