RE: [patch 0/3] no MAX_ARG_PAGES -v2

"Luck, Tony" <[email protected]> Wed, 13 Jun 2007 16:36:13 -0700
Newsgroups gmane.linux.ports.hppa,gmane.linux.kernel,gmane.linux.kernel.mm
Message-ID <617E1C2C70743745A92448908E030B2A01AF860A@scsmsx411.amr.corp.intel.com>
> This patch-set aims at removing the current limit on argv+env space aka.
> MAX_ARG_PAGES.

Running with this patch shows that /bin/bash has some unpleasant
O(n^2) performance issues with long argument lists.  I made a
1Mbyte file full of pathnames, then timed the execution of:

$ /bin/echo `cat megabyte` | wc
$ /bin/echo `cat megabyte megabyte` | wc
   etc. ...

System time was pretty much linear as the arglist grew
(and only got up to 0.144 seconds at 5Mbytes).

But user time ~= real time (in seconds) looks like:

1 5.318
2 18.871
3 40.620
4 70.819
5 108.911

Above 5Mbytes, I started seeing problems.  The line/word/char
counts from "wc" started being "0 0 0".  Not sure if this is
a problem in "wc" dealing with a single line >5MBytes, or some
other problem (possibly I was exceeding the per-process stack
limit which is only 8MB on that machine).

-Tony