Re: [PATCH] mm/fadvise: discard partial pages iff endbyte is also eof
From: åå(Caspar)
Date: Thu Jan 04 2018 - 02:44:54 EST
On 2018/1/4 14:13, åå(Caspar) wrote:
This patch is trying to help to solve a real issue. Sometimes we need to
evict the whole file from page cache because we are sure it will not be
used in the near future. We try to use posix_fadvise() to finish our
work but we often see a "small tail" at the end of some files could not
be evicted, after digging a little bit, we find those file sizes are not
page-aligned and the "tail" turns out to be partial pages.
We fail to find a standard from posix_fadvise() manual page to subscribe
the function behaviors if the `offset' and `len' params are not
Oops, I find a 'standard' documented in latest man-pages.git[1], blame
my centos7, it runs with an old man-pages.rpm :-(
Thanks,
Caspar
[1]
https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/?h=ceb1c326b9f3e863dfd9bf33bc7118bb1fa29bfc
page-aligned, then we go to kernel tree and see this:
ÂÂÂÂÂÂÂ /*
ÂÂÂÂÂÂÂÂ * First and last FULL page! Partial pages are deliberately
ÂÂÂÂÂÂÂÂ * preserved on the expectation that it is better to preserve
ÂÂÂÂÂÂÂÂ * needed memory than to discard unneeded memory.
ÂÂÂÂÂÂÂÂ */