Re: posix_fadvise missing in the walsender
От | Heikki Linnakangas |
---|---|
Тема | Re: posix_fadvise missing in the walsender |
Дата | |
Msg-id | 5121E35B.7010303@vmware.com обсуждение исходный текст |
Ответ на | posix_fadvise missing in the walsender (Joachim Wieland <joe@mcknight.de>) |
Ответы |
Re: posix_fadvise missing in the walsender
|
Список | 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
В списке pgsql-hackers по дате отправления: