Re: [PATCH] drop page cache of a single file

From: Andrew Morton
Date: Thu Dec 28 2006 - 05:29:59 EST


On Thu, 28 Dec 2006 15:19:04 +0800
Fengguang Wu <fengguang.wu@xxxxxxxxx> wrote:

> On Wed, Dec 27, 2006 at 07:49:59PM -0800, Andrew Morton wrote:
> > On Thu, 28 Dec 2006 11:17:25 +0800
> > "Zhang, Yanmin" <yanmin_zhang@xxxxxxxxxxxxxxx> wrote:
> >
> > > Currently, by /proc/sys/vm/drop_caches, applications could drop pagecache,
> > > slab(dentries and inodes), or both, but applications couldn't choose to
> > > just drop the page cache of one file. An user of VOD (Video-On-Demand)
> > > needs this capability to have more detailed control on page cache release.
> >
> > The posix_fadvise() system call should be used for this. Probably in
> > combination with sys_sync_file_range().
>
> Yanmin: I've been using the fadvise tool from
> http://www.zip.com.au/~akpm/linux/patches/stuff/ext3-tools.tar.gz
>
> It's a nice tool:
>
> % fadvise
> Usage: fadvise filename offset length advice [loops]
> advice: normal sequential willneed noreuse dontneed asyncwrite writewait
> % fadvise /var/sparse 0 0x7fffffff dontneed
>

I was a bit reluctant to point at that because it has nasty hacks to make
it mostly-work on old glibc's which don't implement posix_fadvise().

Hopefully if you're running a recent distro, you have glibc support for
fadvise() and it's possible to write a portable version of that app which
doesn't need to know about per-arch syscall numbers.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/