From: Linus Torvalds <torvalds@linux-foundation.org>
To: Jens Axboe <axboe@kernel.dk>
Cc: mtk.manpages@gmail.com,
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>,
Andrew Morton <akpm@linux-foundation.org>,
Miklos Szeredi <miklos@szeredi.hu>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [patch] pipe: add support for shrinking and growing pipes
Date: Tue, 1 Jun 2010 08:22:25 -0700 (PDT) [thread overview]
Message-ID: <alpine.LFD.2.00.1006010813440.3637@i5.linux-foundation.org> (raw)
In-Reply-To: <20100601074805.GM1660@kernel.dk>
On Tue, 1 Jun 2010, Jens Axboe wrote:
>
> > Also, the minuimum size of the buffer is 2 pages. Why is it not 1?
> > (Notwithstanding Linus's assertion, a buffer size of 1 page did give
> > us POSIX compliance in kernels before 2.6.10.)
>
> I'll defer to Linus on that, I remember some emails on that part from
> way back when. As far as I can tell, POSIX wants atomic writes of "less
> than a page size", which would make more sense as "of a page size and
> less". And since it should not be a page size from either side on a
> uni-directional pipe, then 1 page seems enough for that guarantee at
> least.
Hmm. You guys may well be right that a single slot is sufficient. It still
gives us PIPE_BUF worth of data for writing atomically. I had this memory
that we needed two because of the merging logic (we have that special case
for re-using the previous page, so that we don't use waste of memory for
lots of small writes), but looking at the code there is no reason at all
for me to hav thought so.
So I don't know why I thought we needed the extra slot, and a single slot
(if anybody really wants slow writes) looks to be fine.
Linus
next prev parent reply other threads:[~2010-06-01 15:27 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-19 16:45 Miklos Szeredi
2010-05-19 16:49 ` Linus Torvalds
2010-05-19 18:05 ` Jens Axboe
2010-05-19 19:05 ` Jens Axboe
2010-05-20 8:33 ` Miklos Szeredi
2010-05-20 8:37 ` Jens Axboe
2010-05-20 17:42 ` Linus Torvalds
2010-05-20 17:48 ` Jens Axboe
2010-05-21 17:13 ` Rick Sherm
2010-05-23 5:30 ` Michael Kerrisk
2010-05-23 2:38 ` Andrew Morton
2010-05-23 5:52 ` Michael Kerrisk
2010-05-23 7:09 ` Jens Axboe
2010-05-23 9:24 ` Michael Kerrisk
2010-05-23 17:47 ` Jens Axboe
2010-05-24 1:43 ` OGAWA Hirofumi
2010-05-24 4:43 ` Michael Kerrisk
2010-05-24 7:05 ` Jens Axboe
2010-05-24 7:27 ` Michael Kerrisk
2010-05-24 17:35 ` Jens Axboe
2010-05-24 17:52 ` Michael Kerrisk
2010-05-24 17:56 ` Jens Axboe
2010-05-25 4:01 ` Michael Kerrisk
2010-06-01 7:48 ` Jens Axboe
2010-06-01 15:22 ` Linus Torvalds [this message]
2010-06-01 16:36 ` Loke, Chetan
2010-05-27 6:49 ` Michael Kerrisk
2010-06-01 7:45 ` Jens Axboe
2010-06-02 19:25 ` Michael Kerrisk
2010-06-03 6:10 ` Jens Axboe
2010-06-03 6:46 ` Michael Kerrisk
2010-06-03 7:01 ` Jens Axboe
2010-06-03 7:05 ` Michael Kerrisk
2010-06-03 7:48 ` Michael Kerrisk
2010-06-03 7:58 ` Michael Kerrisk
2010-06-03 8:29 ` Michael Kerrisk
2010-06-03 8:53 ` Michael Kerrisk
[not found] ` <4C07862D.4090709@fusionio.com>
[not found] ` <AANLkTincO5thcP-yASUtIV41TtY3ZmG9YSU-J5nT2sFg@mail.gmail.com>
2010-06-03 11:11 ` Jens Axboe
[not found] ` <4C078610.6020901@fusionio.com>
[not found] ` <AANLkTinhO5oRDPXyXaeAOZU3i55eBKsx4iFMOzwm98na@mail.gmail.com>
[not found] ` <AANLkTin_8MU3AbJ_KeXr2uTxtRFJ5ABmBAyigU6m-C6u@mail.gmail.com>
2010-06-03 11:12 ` Jens Axboe
2010-06-03 11:32 ` Miklos Szeredi
2010-06-03 11:37 ` Jens Axboe
2010-06-03 12:45 ` Miklos Szeredi
2010-06-03 12:50 ` Jens Axboe
2010-06-19 5:45 ` Michael Kerrisk
2010-06-19 18:13 ` Jens Axboe
2010-06-20 5:37 ` Michael Kerrisk
2010-06-03 16:06 ` Miklos Szeredi
2010-05-24 7:04 ` Jens Axboe
2010-05-24 7:28 ` Michael Kerrisk
2010-05-24 7:49 ` OGAWA Hirofumi
2010-05-24 14:51 ` Brian Bloniarz
2010-05-24 15:43 ` Michael Kerrisk
2010-05-24 7:46 ` OGAWA Hirofumi
2010-05-24 17:15 ` Jens Axboe
2010-05-24 18:12 ` OGAWA Hirofumi
2010-05-24 18:16 ` Michael Kerrisk
2010-05-20 12:52 ` Andi Kleen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.LFD.2.00.1006010813440.3637@i5.linux-foundation.org \
--to=torvalds@linux-foundation.org \
--cc=akpm@linux-foundation.org \
--cc=axboe@kernel.dk \
--cc=hirofumi@mail.parknet.co.jp \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=miklos@szeredi.hu \
--cc=mtk.manpages@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome