Welcome to the Linux Foundation Forum!

PIPE questions for Linux 2.4 setup

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 ?

Comments

  • favoretti
    favoretti Posts: 5
    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

Categories

Upcoming Training