affinity: initialize CPU sets with online CPUs only

When no CPU set is explicitly defined, switch from
UtilCpuGetNumProcessorsConfigured() (which counts all existing CPU
cores, even offline ones) to UtilCpuGetNumProcessorsOnline() (only
the available cores).
If Suricata initializes more threads than online CPUs it oversubscribes
the system. As Suricata does not support any runtime live reconfiguration
Suricata initializes only as many cores as online CPU cores.

Ticket: 7790
pull/13541/head
Lukas Sismis 5 months ago committed by Victor Julien
parent bb12f197bc
commit acbd02699e

@ -210,7 +210,7 @@ ThreadsAffinityType *GetOrAllocAffinityTypeForIfaceOfName(
static void AffinitySetupInit(void)
{
int i, j;
int ncpu = UtilCpuGetNumProcessorsConfigured();
int ncpu = UtilCpuGetNumProcessorsOnline();
SCLogDebug("Initialize CPU affinity setup");
/* be conservative relatively to OS: use all cpus by default */

Loading…
Cancel
Save