Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757206Ab1D2ISj (ORCPT ); Fri, 29 Apr 2011 04:18:39 -0400 Received: from 67-20-127-205.bluehost.com ([67.20.127.205]:33717 "EHLO mail.betterlinuxtesting.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753927Ab1D2ISg (ORCPT ); Fri, 29 Apr 2011 04:18:36 -0400 Date: Fri, 29 Apr 2011 10:18:32 +0200 From: Andrea Righi To: Joel Becker Cc: Dave Chinner , Andrew Morton , Al Viro , Arnd Bergmann , linux-fsdevel@vger.kernel.org, linux-api@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [RFC] [PATCH] drop_pagecache syscall Message-ID: <20110429081832.GA1465@linux.develer.com> References: <1303853727-21444-1-git-send-email-andrea@betterlinux.com> <20110427001453.GD12436@dastard> <20110427085910.GA1749@linux.betterlinux.com> <20110428232210.GA4132@noexit.corp.google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20110428232210.GA4132@noexit.corp.google.com> User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1846 Lines: 38 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. > > > > > 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/