Re: fix use of posix_fadvise in xlog.c
Mark Wong <markwkm@gmail.com>
From: Mark Wong <markwkm@gmail.com>
To: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Cc: "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2010-06-10T15:17:19Z
Lists: pgsql-hackers
On Jun 9, 2010, at 11:25 PM, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com > wrote: > 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. Oops, my bad. I think I was confused by the short description in the man page. I didn't read the longer descriptoon. :( Then would it be worth making the this call after the file is zeroed out? Regards, Mark