Re: Experimental patch for inter-page delay in VACUUM

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Greg Stark <gsstark@mit.edu>
Cc: pgsql-hackers@postgresql.org
Date: 2003-11-04T21:10:53Z
Lists: pgsql-hackers
Greg Stark <gsstark@mit.edu> writes:
> Tom Lane <tgl@sss.pgh.pa.us> writes:
>> The main problem with this is knowing which files need to be fsync'd.

> Why could the postmaster not just fsync *every* file?

You want to find, open, and fsync() every file in the database cluster
for every checkpoint?  Sounds like a non-starter to me.  In typical
situations I'd expect there to be lots of files that have no writes
during any given checkpoint interval (system catalogs for instance).

> I'm assuming fsync syncs writes issued by other processes on the same file,
> which isn't necessarily true though.

It was already pointed out that we can't rely on that assumption.

> Or using aio write ahead as much as you want and then just make checkpoint
> block until all the writes are completed. You don't actually need to rush them
> at all, just know when they're done.

If the objective is to avoid an i/o storm, I don't think this does it.
The system could easily delay most of the writes until the next syncer()
pass.

			regards, tom lane