PIPE_BUFFERS - was Re: What to expect after 0.99.8

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 04, 2005 at 05:10:18PM -0700, Linus Torvalds wrote:
> Just for performance reasons, I ended up doing merging anyway, so in fact 
> regardless of how you write the current pipe buffer size is up to 16 
> pages.

s/[email protected]/[email protected]/ in the Cc: list, this
isn't a GIT issue.

Should that:

#define PIPE_BUFFERS (16)

really be a function of PAGE_SIZE?  Many systems have a 4K page size
so they get 64K of buffering per pipe.  But ia64 defaults to 16K page
size, so pipes are suddenly 256K ... and with a 64K page size we
have 1MB per pipe.

So perhaps:

#define PIPE_BUFFERS (65536 / PAGE_SIZE)

But that would leave PIPE_BUFFERS as "1" on a 64K page size system, is
there any double-buffering benefit from having more than one page on the
pipe list?  If so, then something like:

#define PIPE_BUFFERS min(2, (65536 / PAGE_SIZE))

but then gcc is unhappy using the super-type safe "min" in the
places that use PIPE_BUFFERS ... so we'd end up with:

#define PIPE_BUFFERS ((65536 / PAGE_SIZE) > 1 ? (65536 / PAGE_SIZE) : 2)

-Tony
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux