Hi!
I follow the recent thread about swapping and fadvise.
So, I made a little shared library that hooks read, lseek and close.
After 128KiB readed (configurable by a environment variable) this
functions call fadvise.
Code is at: http://kernel.umbrella.ro/index.php?vm=1
What is this good for?
If you know that you'll need a file once, use this program so
it will not pollute the pagecache.
I know it is not perfect.
Patches are welcomed.
Examples:
noca cat BIG_FILE_THAT_IS_NEEDED_ONLY_ONCE > /dev/null
and watch "vmstat 1".
Comments welcomed.
P.S. It only works on i386 for now.
It was tested on Slackware with a hack for fadvise64_64 (on Slack, glibc
does call kernel's fadvise).
---
Catalin(ux aka Dino) BOIE
catab at deuroconsult.ro
http://kernel.umbrella.ro/