Re: Re: New Linux xfs/reiser file systems - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Re: New Linux xfs/reiser file systems
Date
Msg-id 200105031542.f43FgIX27124@candle.pha.pa.us
Whole thread Raw
In response to Re: Re: New Linux xfs/reiser file systems  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Re: New Linux xfs/reiser file systems  (Kaare Rasmussen <kar@webline.dk>)
List pgsql-hackers
> Matthew Kirkwood <matthew@hairy.beasts.org> writes:
> > From some stracing of 7.1, the most common syscall issued by
> > postgres is an lseek() to the end of the file, presumably to
> > find its length, which seems to happen up to about a dozen
> > times per (pgbench) transaction.
> 
> > Tablespaces would solve this (not that lseek is a particularly
> > expensive operation, of course).
> 
> No, they wouldn't; or at least they'd just create a different problem.
> The reason for the lseek is that the file length may have changed since
> the current backend last checked it.  To avoid lseek we'd need some
> shared data structure that maintains the current length of every active
> table, which would be a nuisance to maintain and probably a source of
> contention delays.

Seems we should cache the file lengths somehow.  Not sure how to do it
because our file system cache is local to each backend.


> (Of course, such a data structure would just be the tip of the iceberg
> of what we'd have to maintain for ourselves if we couldn't depend on the
> kernel to do it for us.  Reimplementing a filesystem doesn't strike me
> as a profitable use of our time.)

Ditto.  The database is complicated enough.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Packaging 7.1.1
Next
From: "Oliver Elphick"
Date:
Subject: Re: Unix sockets connection authentication - patch