Linux.com

PIPE questions for Linux 2.4 setup

Link to this post 22 May 09

We wanted to increase PIPE_SIZE (from 4K to 8K on linux 2.4 on an AMD LX800 system).
The result is a segmentation error as soon as Read() is reading more data than 4K from the pipe.
So pipe data seems to be damaged.
If we change PIPE_SIZE back tot 4K everything is running fine.
Question-1: Any suggestion to prevent this segmentation error ?

* PIPE_SIZE
If you look in the linux kernel code for PIPE_SIZE
("include/linux/pipe_fs_i.h") you find:
#define PIPE_SIZE PAGE_SIZE
I don't know if #define PIPE_SIZE PAGE_SIZE is necessary or just a simple shortcut.
Question-2: Is it OK if PIPE_SIZE > PAGE_SIZE ?

* PAGE_SIZE
Question-3: Is it OK to increase Page_size on linux 2.4 on AMD LX800 system ?
Which aspects are limiting the user to config the PAGE_SIZE ?

Link to this post 02 Jun 09

Hi,

There's a patch to increase pipe capacity at http://lse.sourceforge.net/pipe/.

Pipe capacity, however, is not the same as PIPE_BUF, which is the maximum size of a guaranteed atomic write (please correct me on this if I'm wrong).

The patch above doesn't affect PIPE_BUF though.

Judging from the code of the patch, however, the approach they took is to allocate multiple pages to increase PIPE_SIZE. So my partially educated guess would be answering your Q2 with a 'no' :)

If you don't mind me asking, why do you need to increase the page size?

Cheers,
Vlad

Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board