cvs commit: src/sys/vm vm_init.c
Kris Kennaway
kris at obsecurity.org
Wed Apr 27 19:59:55 PDT 2005
On Thu, Apr 28, 2005 at 12:52:06PM +1000, Bruce Evans wrote:
> On Thu, 28 Apr 2005, Kris Kennaway wrote:
>
> >kris 2005-04-28 00:29:24 UTC
> >
> > FreeBSD src repository
> >
> > Modified files: (Branch: RELENG_5)
> > sys/vm vm_init.c
> > Log:
> > MFC:
> >
> > Add the vm.exec_map_entries tunable and read-only sysctl, which controls
> > the number of entries in exec_map (maximum number of simultaneous execs
> > that can be handled by the kernel). The default value of 16 is
> > insufficient on heavily loaded machines (particularly SMP machines), and
> > if it is exceeded then executing further processes will generate a
> > SIGABRT.
> >
> > This is a workaround until a better solution can be implemented.
>
> It seems to be insufficient on all reasonably fast machines. Just
> fork-execing 16+ processes in the following benchmark seems to trigger it:
>
> %%%
> #!/bin/sh
>
> for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
> do
> nice -$i sh -c "while :; do echo -n;done" &
> done
> top -o time
> %%%
>
> Lately, this has started failing with a strange "Abort trap" messages
> printed by the shell after I exit top. The 3 processes with niceness
> 1, 2 and 3 tend to get killed more than others.
I didn't change the default value of 16 simultaneous execs to be
conservative and because of the proximity of 5.4, but on my SMP
package machines I typically need to increase it. Perhaps the default
should be increased - this change was a minimal bandaid to at least
allow the problem to be worked around for now. Alan has a patch that
addresses 2 of the 3 failure cases, so hopefully he'll be able to fix
the remaining one soon.
Kris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/cvs-src/attachments/20050427/5fb1b353/attachment.bin
More information about the cvs-src
mailing list