linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* fadvise DONTNEED implementation (or lack thereof)
@ 2010-11-04  5:58 Ben Gamari
  2010-11-09  7:28 ` KOSAKI Motohiro
  0 siblings, 1 reply; 23+ messages in thread
From: Ben Gamari @ 2010-11-04  5:58 UTC (permalink / raw)
  To: linux-kernel, rsync, linux-mm

I've recently been trying to track down the root cause of my server's
persistent issue of thrashing horribly after being left inactive. It
seems that the issue is likely my nightly backup schedule (using rsync)
which traverses my entire 50GB home directory. I was surprised to find
that rsync does not use fadvise to notify the kernel of its use-once
data usage pattern.

It looks like a patch[1] was written (although never merged, it seems)
incorporating fadvise support, but I found its implementation rather
odd, using mincore() and FADV_DONTNEED to kick out only regions brought
in by rsync. It seemed to me the simpler and more appropriate solution
would be to simply flag every touched file with FADV_NOREUSE and let the
kernel manage automatically expelling used pages.

After looking deeper into the kernel implementation[2] of fadvise() the
reason for using DONTNEED became more apparant. It seems that the kernel
implements NOREUSE as a noop. A little googling revealed[3] that I not
the first person to encounter this limitation. It looks like a few
folks[4] have discussed addressing the issue in the past, but nothing
has happened as of 2.6.36. Are there plans to implement this
functionality in the near future? It seems like the utility of fadvise
is severely limited by lacking support for NOREUSE.

Cheers,

- Ben


[1] http://insights.oetiker.ch/linux/fadvise.html
[2] http://lxr.free-electrons.com/source/mm/fadvise.c?a=avr32
[3] https://issues.apache.org/jira/browse/CASSANDRA-1470
    http://chbits.blogspot.com/2010/06/lucene-and-fadvisemadvise.html
[4] http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg179576.html
    http://lkml.indiana.edu/hypermail/linux/kernel/0807.2/0442.html


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2010-11-18  3:46 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-04  5:58 fadvise DONTNEED implementation (or lack thereof) Ben Gamari
2010-11-09  7:28 ` KOSAKI Motohiro
2010-11-09  8:03   ` KOSAKI Motohiro
2010-11-09 12:54   ` Ben Gamari
2010-11-14  5:09     ` KOSAKI Motohiro
2010-11-14  5:20       ` Ben Gamari
2010-11-14 21:33         ` Brian K. White
2010-11-15  6:07       ` Minchan Kim
2010-11-15  7:09         ` KOSAKI Motohiro
2010-11-15  7:19           ` Minchan Kim
2010-11-15  7:28             ` KOSAKI Motohiro
2010-11-15  7:46               ` Minchan Kim
2010-11-15 12:46               ` Ben Gamari
2010-11-15  8:47         ` Peter Zijlstra
2010-11-15  9:05           ` Minchan Kim
2010-11-15 14:48             ` Rik van Riel
2010-11-17 10:16               ` Minchan Kim
2010-11-17 11:15                 ` Minchan Kim
2010-11-17 16:22                 ` Rik van Riel
2010-11-18  2:47                   ` Minchan Kim
2010-11-18  3:24                     ` Rik van Riel
2010-11-18  3:46                       ` Minchan Kim
2010-11-15  9:10           ` KOSAKI Motohiro

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).