Re: Closing some 8.4 open items

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Closing some 8.4 open items
Date: 2009-04-08 17:23:22
Message-ID: 49DCDD8A.3050904@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Josh Berkus wrote:
> On 4/8/09 9:44 AM, Tom Lane wrote:
>> Josh Berkus<josh(at)agliodbs(dot)com> writes:
>>> What about seq scans?
>>
>> If the kernel can't read-ahead a seqscan by itself, it's unlikely to
>> be smart enough to be helped by posix_fadvise ... or at least so I
>> would think. Do you have reason to think differently?
>
> Well, Solaris 10 + UFS should be helped by fadvise -- in theory at
> least, it would eliminate the need to modify your mount points for
> better readahead when setting up a PG-Solaris server. Solaris-UFS quite
> lazy about readahead. Zdenek, Jignesh?
>
> You're probably correct about Linux and FreeBSD. I don't know if OSX +
> HFS supports fadvise. If so, it could only help; readahead on HFS right
> now is nonexistant.
>
> Presumably fadvise is useless on Windows. Anyone know?

It's important to distinguish what kind of fadvise we're talking about.
The bitmap scan code issues hints about individual pages, using
posix_fadvise(... POSIX_FADV_WILLNEED). For increasing the readahead of
a sequential scan, you'd want to use POSIX_FADV_SEQUENTIAL. I believe
the support for the latter is much more widespread than for the former.

xlog.c now also uses POSIX_FADV_WONTNEED to drop WAL pages from the OS
cache after writing them.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kevin Grittner 2009-04-08 17:31:15 Re: Closing some 8.4 open items
Previous Message Dave Page 2009-04-08 17:22:01 Re: Closing some 8.4 open items