Re: [RFC] [PATCH] drop_pagecache syscall

From: Andrea Righi
Date: Fri Apr 29 2011 - 04:18:43 EST


On Thu, Apr 28, 2011 at 04:22:10PM -0700, Joel Becker wrote:
> On Wed, Apr 27, 2011 at 11:01:28AM +0200, Andrea Righi wrote:
> > On Wed, Apr 27, 2011 at 10:14:53AM +1000, Dave Chinner wrote:
> > > On Tue, Apr 26, 2011 at 11:35:27PM +0200, Andrea Righi wrote:
> > > > Introduce sys_drop_pagecache() system call to drop the page cache pages of
> > > > a single filesystem.
> <snip>
> > > > This functionality can be used by all the applications that want to have a
> > > > better control over the page cache management (for example to immediately drop
> > > > pages that for sure will not be reused in the near future, without calling
> > > > posix_fadvise() for all the files they've touched), or to provide a more fine
> > > > grained debugging feature usable by the filesystem benchmarks.
> > > >
> > > > The system call does not require root privileges and it can be called by any
> > > > unprivileged application. For example, we can write a userspace tool to run
> > > > something like this:
> > > >
> > > > $ drop-pagecache /path/file_or_dir
> > >
> > > That's a potential DOS vector, I think. Drop the pagecache in a hard
> > > loop on the root fs of a busy server and watch it crawl...
> >
> > Yes, probably we could allow only the CAP_SYS_ADMIN tasks to execute
> > this syscall.
>
> The majority of apps that want this do not run as root. Do we
> want them all setuid? ;-)

Another solution could be to limit the rate of this syscall if executed
by a non-privileged user. And the rate limit could be also configurable
from userspace via /proc/sys/vm/ or something similar.

-Andrea
--
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/