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

Tom Gundersen teg at jklm.no
Fri Nov 28 04:51:04 PST 2014


Hi Robert,

On Fri, Nov 28, 2014 at 8:57 AM, Robert Milasan <rmilasan at suse.com> wrote:
> Hello, since a while back, there was a commit (haven't found it)

commit 8cc3f8c0bcd23bb68166cb197a4c541d7621b19c
Author: Harald Hoyer <harald at redhat.com>
Date:   Mon Mar 25 13:02:05 2013 +0100

    udevd.c: set udev children_max according to CPU count

    Setting children_max according to RAM leads to too much concurrent I/O.

> 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.

The reason we have to limit the number of workers is IO, but we used
to limit based on RAM, and now we limit based on number of CPUs. Could
we not use some scheduler/cgroup tweaks to achieve the correct result
instead?

Harald, do you have some input on this?

> 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.

I don't think an error is appropriate here (as nothing actually
fails). At most a warning I would say.

Cheers,

Tom


More information about the systemd-devel mailing list