On Mon, Nov 15, 2010 at 2:48 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Robert Haas <robertmh...@gmail.com> writes: >> I would be very surprised if we can find a system where gettimeofday() >> takes a significant amount of time compared with fsync(). It might be >> (probably is) too expensive to stick into code paths that are heavily >> CPU-bounded, but surely the cost here is going to be dwarfed by the >> fsync(), no? Unless maybe there's no I/O to be done anyway, but that >> case doesn't seem important to optimize for. > > I'm not sure I buy that --- the whole point of spread checkpoints is > that we hope the I/O happens before we actually call fsync.
Possibly. Even then, it's not guaranteed, because it might well be that fsync() has to do more grovelling through system data structures to determine that there is in fact no work to be done than what gettimeofday() has to do to read off a counter somewhere... >> Making it >> conditional on log_checkpoints seems entirely sufficient to me. > > But I'll agree with that. If you're turning on log_checkpoints then > you've given the system permission to indulge in extra overhead for > monitoring. ...but if we agree on the way forward then the details don't matter. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers