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-all/attachments/20050427/5fb1b353/attachment.bin


More information about the cvs-all mailing list