From: | Heikki Linnakangas <hlinnakangas(at)vmware(dot)com> |
---|---|
To: | Joachim Wieland <joe(at)mcknight(dot)de> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: posix_fadvise missing in the walsender |
Date: | 2013-02-18 08:16:27 |
Message-ID: | 5121E35B.7010303@vmware.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 17.02.2013 14:55, Joachim Wieland wrote:
> In access/transam/xlog.c we give the OS buffer caching a hint that we
> won't need a WAL file any time soon with
>
> posix_fadvise(openLogFile, 0, 0, POSIX_FADV_DONTNEED);
>
> before closing the WAL file, but only if we don't have walsenders.
> That's reasonable because the walsender will reopen that same file
> shortly after.
>
> However the walsender doesn't call posix_fadvise once it's done with
> the file and I'm proposing to add this to walsender.c for consistency
> as well.
>
> Since there could be multiple walsenders, only the "slowest" one
> should call this function. Finding out the slowest walsender can be
> done by inspecting the shared memory and looking at the sentPtr of
> each walsender.
I doubt it's worth it, the OS cache generally does a reasonable job at
deciding what to keep. In the non-walsender case, it's pretty clear that
we don't need the WAL file anymore, but if we need to work any harder
than a one-line posix_fadvise call, meh. I could be convinced otherwise
with some performance test results, of course.
- Heikki
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2013-02-18 08:55:23 | Re: [PATCH] Add PQconninfoParseParams and PQconninfodefaultsMerge to libpq |
Previous Message | Heikki Linnakangas | 2013-02-18 08:11:08 | Re: [PATCH] Add PQconninfoParseParams and PQconninfodefaultsMerge to libpq |