Re: fix use of posix_fadvise in xlog.c

Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>

From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Mark Wong <markwkm@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2010-06-10T06:25:08Z
Lists: pgsql-hackers
On 10/06/10 06:47, Mark Wong wrote:
> I wanted to propose a fix for to xlog.c regarding the use of
> posix_fadvise() for 9.1 (unless someone feels it's ok for 9.0).
> Currently posix_fadvise() is used right before a log file is closed so
> it's effectively not doing anything, when posix_fadvise is to be
> called.  This patch moves the posix_fadvise() call into 3 other
> locations within XLogFileInit() where a file handle is returned.  The
> first case is where an existing open file handle is returned.  The
> next case is when a file is to be zeroed out.  The third case is
> returning a file handle, which may be the file that was just zeroed
> out.

I don't think POSIX_FADV_DONTNEED does what you think it does. It tells 
the kernel that "you don't need to keep these pages in the cache 
anymore, I won't be accessing them anymore". If you call it when you 
open the file, before reading/writing, there is nothing in the cache and 
the call will do nothing.

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