From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Axboe Subject: Re: [patch] pipe: add support for shrinking and growing pipes Date: Wed, 19 May 2010 21:05:11 +0200 Message-ID: <20100519190510.GZ25951@kernel.dk> References: <20100519180554.GY25951@kernel.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Miklos Szeredi , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org To: Linus Torvalds Return-path: Received: from 0122700014.0.fullrate.dk ([95.166.99.235]:59150 "EHLO kernel.dk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752561Ab0ESTFN (ORCPT ); Wed, 19 May 2010 15:05:13 -0400 Content-Disposition: inline In-Reply-To: <20100519180554.GY25951@kernel.dk> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Wed, May 19 2010, Jens Axboe wrote: > On Wed, May 19 2010, Linus Torvalds wrote: > > > > > > On Wed, 19 May 2010, Miklos Szeredi wrote: > > > > > > One issue I see is that it's possible to grow pipes indefinitely. > > > Should this be restricted to privileged users? > > > > Yes. But perhaps only if it grows past the default (or perhaps "default*2" > > or similar). That way a normal user could shrink the pipe buffers, and > > then grow them again if he wants to. > > That's still a bit arbitrary, I don't think allowing default*2 only for > non-root is going to be hugely interesting. But limiting makes sense, > but lets at least allow a larger max limit for the normal user. I'm > suspecting that the media application that wants to use this will not be > running as root, and we don't make the feature properly available to the > ones that want to use it, then we may as well not do it. > > Or we could expose a sysctl for instance that holds the max non-root > size. And make that default to default*16 or something. How does that > sound? > > > Oh, and I think you need to also require that there be at least two > > buffers. Otherwise we can't guarantee POSIX behavior, I think. > > Good point, and at least that part is easily doable :-) So I updated the patch, that branch was pretty ancient... The fcntl pipe numbers were also screwed up, so got that fixed. New patch is here: http://git.kernel.dk/?p=linux-2.6-block.git;a=commit;h=23dcb845246946aeda5a5e398c6911381ad28365 and I implemented a /proc/sys/fs/pipe-max-pages addon, that part is here: http://git.kernel.dk/?p=linux-2.6-block.git;a=commit;h=6ef1fd2ea2fdba7a47706a46f0ca564ab2c46a52 Totally untested. -- Jens Axboe