Re: Re[4]: Allowing WAL fsync to be done via O_SYNC

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alfred Perlstein <bright(at)wintelcom(dot)net>
Cc: Xu Yifeng <jamexu(at)telekbird(dot)com(dot)cn>, "Mikheev, Vadim" <vmikheev(at)SECTORBASE(dot)COM>, Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Re[4]: Allowing WAL fsync to be done via O_SYNC
Date: 2001-03-16 16:03:21
Message-ID: 24833.984758601@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Alfred Perlstein <bright(at)wintelcom(dot)net> writes:
>> couldn't the syncer process cache opened files? is there any problem I
>> didn't consider ?

> 1) IPC latency, the amount of time it takes to call fsync will
> increase by at least two context switches.

> 2) a working set (number of files needed to be fsync'd) that
> is larger than the amount of files you wish to keep open.

These days we're really only interested in fsync'ing the current WAL
log file, so working set doesn't seem like a problem anymore. However
context-switch latency is likely to be a big problem. One thing we'd
definitely need before considering this is to replace the existing
spinlock mechanism with something more efficient.

Vadim has designed the WAL stuff in such a way that a separate
writer/syncer process would be easy to add; in fact it's almost that way
already, in that any backend can write or sync data that's been added
to the queue by any other backend. The question is whether it'd
actually buy anything to have another process. Good stuff to experiment
with for 7.2.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jan Wieck 2001-03-16 16:12:47 Re: Performance monitor signal handler
Previous Message Tom Lane 2001-03-16 15:55:53 Re: ["Stephen C. Tweedie" <sct@redhat.com>] Re: O_DSYNC flag for open