RE: RE: [COMMITTERS] pgsql/src/backend/access/transam ( xact.c xlog.c) - Mailing list pgsql-hackers

From Mikheev, Vadim
Subject RE: RE: [COMMITTERS] pgsql/src/backend/access/transam ( xact.c xlog.c)
Date
Msg-id 8F4C99C66D04D4118F580090272A7A234D3189@sectorbase1.sectorbase.com
Whole thread Raw
List pgsql-hackers
> > You are going to kernel call/yield anyway to fsync, so why 
> > not try and if someone does the fsync, we don't need to do it.
> > I am suggesting re-checking the need for fsync after the return
> > from sleep(0).
> 
> It might make more sense to keep a private copy of the last time
> the file was modified per-backend by that particular backend and
> a timestamp of the last fsync shared globally so one can forgo the
> fsync if "it hasn't been dirtied by me since the last fsync"
> 
> This would provide a rendevous point for the fsync call although
> cost more as one would need to periodically call gettimeofday to
> set the modified by me timestamp as well as the post-fsync shared
> timestamp.

Already made, but without timestamps. WAL maintains last byte of log
written/fsynced in shmem, so XLogFlush(_last_byte_to_be_flushed_)
will do nothing if data are already on disk.

Vadim


pgsql-hackers by date:

Previous
From: Alfred Perlstein
Date:
Subject: Re: RE: [COMMITTERS] pgsql/src/backend/access/transam ( xact.c xlog.c)
Next
From: "Mikheev, Vadim"
Date:
Subject: RE: RE: [COMMITTERS] pgsql/src/backend/access/transam ( xact.c xlog.c)