From: Jens Axboe <jens.axboe@oracle.com>
To: Ad van den Broek <advandenbroek.nl@gmail.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: PIPE_SIZE aspects
Date: Sat, 23 May 2009 21:54:05 +0200 [thread overview]
Message-ID: <20090523195405.GW11363@kernel.dk> (raw)
In-Reply-To: <9f924d250905220239k1dc36aaeib3c2ec955267038a@mail.gmail.com>
On Fri, May 22 2009, Ad van den Broek wrote:
> I searched the net regarding PIPE_SIZE aspects.
> This is what I found:
>
> * The constant PIPE_SIZE
> establishes the number of bytes allocated for a pipe
> (the size of the pipe buffer)
>
> * The default of PIPE_SIZE (in Linux 2.4) is PAGE_SIZE.
> * The default of PIPE_SIZE (in Linux 2.6) is 64K.
>
> * PAGE_SIZE (in Linux 2.4) is CPU/hw depending,
> may not be changed and is 4K for x86.
> * PAGE_SIZE (in Linux 2.6) is 64K.
No changes for PAGE_SIZE, it's still hw dependent (and, one some archs,
dependent on kernel config).
> * PIPE_SIZE can be changed in Linux 2.4,
> but it should be NOT larger than PAGE_SIZE
> or a patch should be implemented
>
> I found a patch (I believe the author is Julian Bradfield) at
> http://lse.sourceforge.net/pipe/2.4.9-pipe.patch
> and this patch is modified by Manfred Spraul which version can be found at
> http://linuxperf.sourceforge.net/patches/2.4.13-largepipe.patch
> It is tested with PIPE_SIZE from 1 upto 2,4,8 pages.
> and the result is at http://lse.sourceforge.net/pipe/pipe-report.txt
>
>
> My questions:
> Is the above info correct ?
> Is the large pipe patch still correct for last 2.4.x versions ?
> Is such a patch also required/possible in Linux 2.6
> to allow PIPE_SIZE > PAGE_SIZE or is that different in 2.6 ?
2.6 uses an array of pages for the pipe. So while the x86 page size is
still 4kb, a pipe is by default 64kb because the array holds 16 pages.
I wrote a patch to set/get the pipe size for 2.6 if you are interested.
Find it here:
http://git.kernel.dk/?p=linux-2.6-block.git;a=commit;h=24547ac4d97bebb58caf9ce58bd507a95c812a3f
--
Jens Axboe
prev parent reply other threads:[~2009-05-23 19:54 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-22 9:39 PIPE_SIZE aspects Ad van den Broek
2009-05-23 19:54 ` Jens Axboe [this message]
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=20090523195405.GW11363@kernel.dk \
--to=jens.axboe@oracle.com \
--cc=advandenbroek.nl@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.