Re: [patch] nonempty pipe does not select for write

Stanislav Meduna (stano@trillian.eunet.sk)
Mon, 27 Dec 1999 13:06:23 +0100 (CET)


On Sun, 19 Dec 1999 kernel@kvack.org wrote:

> I'd strongly suggest making the pipe buffers remain the
> size of 1 page and allocate them dynamically.

Is there some consensus on what the limit for a pipe
buffer should be? Unrestricted dynamic allocation
is certainly a bad idea, but I have no idea what the
maximum should be.

> This goes towards another pipe optimization that has been
> suggested: where possible, one could flip a full page into
> the reader's address space rather than copying, making
> for a substantial gain in pipe bandwidth.

Do you mean the situation, where the user buffer is page aligned
and at least one page long as "where possible"? This is probably
not a common situation in real programs (although it surely
could be a proposed optimization for programs that really
need the bandwidth).

The kernel certainly could try to have the data page-aligned -
some kind of double-buffering could arrange for this (maybe
this could also ensure that the reader and writer operate
on different data most of the time - could be interesting
for SMP).

If it was already discussed somewhere / someone works on it,
could you give some reference / keywords?

Regards

-- 
				Stano

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/