(In reply to Martin Wilck from comment #19) > My recommendation is still 2, with an increased constant minimum (K=32 in > comment 0). This would provide more workers in the laptop case, while > avoiding sky-rocketing numbers for big systems. > Or maybe instead of introducing a new constant 'K', increase the existing one whose value is currently 8 in: l = min(8 + C * c , m / M) If the value of the constant is changed to 32, you get: | SUSE | upstream | #CPUs | C=64, K = 10 | C = 2, K = 10 | C = 2, 32 ----------------------------------------------------- 1 | 72 9 | 10 1.3 | 34 4.0 2 | 136 17 | 12 1.5 | 36 4.6 4 | 262 33 | 16 2.0 | 40 5.1 8 | 520 66 | 24 3.0 | 48 6.1 16 | 1032 132 | 40 5.0 | 64 8.0 This constant as well as 'K' serve the same purpose and are supposed to be useful for systems with few cpus. > > Systems with ~1000 CPUs are not rare these days. Looking at the last row, > you can see that the worker numbers get quite large with C=8. IMHO much more > than 2000 workers can't be healthy on any system, no matter now big. Then we should put a hard limit that can be exceeded unless "udev.children-max" parameter specifies a bigger value.