From: Lukas Sismis Date: Wed, 25 Jun 2025 09:18:56 +0000 (+0200) Subject: affinity: initialize CPU sets with online CPUs only X-Git-Tag: suricata-8.0.0~25 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=acbd02699e3c1c168c8907be1abbf02e268f16f7;p=thirdparty%2Fsuricata.git 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 --- diff --git a/src/util-affinity.c b/src/util-affinity.c index d037ea8de0..84feb4d391 100644 --- a/src/util-affinity.c +++ b/src/util-affinity.c @@ -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 */