[systemd-devel] udevd: increase maximum number of children

Harald Hoyer harald.hoyer at gmail.com
Fri Nov 28 05:28:31 PST 2014


On 28.11.2014 08:57, Robert Milasan wrote:
> Hello, since a while back, there was a commit (haven't found it) which
> limits the number of children/workers to 8 + <num_cpu> * 2, which in a
> normal case like a 4 core/cpu machine is 16 children/workers.
> 
> This limit is way too low even for a single core VM, that actually
> means 10 children/workers.
> 
> I've attached the patch which increased this number to 8 + <num_cpu> *
> 256, which is 1032 for a 4 core/cpu machine and 264 for a
> single core/cpu machine.
> 
> Also the patch changes the logging level of 'maximum number of children
> reached' to an error, this should be visible as an error when the
> number has been reached.
> 
> Reference bug: http://bugzilla.opensuse.org/show_bug.cgi?id=907393

I think what we are seeing here is, that module loading saturates the udev
workers here. So there are at least 16 modprobes (kmod) running and this
hinders further processing of the uevents.

In theory we could increase arg_children_max before builtin_kmod() and decrease
it again afterwards.

CC'ing Kay


More information about the systemd-devel mailing list