Messages in this thread | | | Date | Fri, 22 May 2009 11:39:31 +0200 | Subject | PIPE_SIZE aspects | From | Ad van den Broek <> |
| |
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.
* 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 ?
--
With best regards, Ad van den Broek The Netherlands
| |