Project

General

Profile

Bug #7137

Updated by UPPER KEES 2 months ago

More info: https://forum.suricata.io/t/cpu-affinity-with/4615 

 In a nutshell, I have this NUMA layout: 
 <pre><code class="shell"> 

 root# lscpu | grep NUMA 
 NUMA node(s):                         2 
 NUMA node0 CPU(s):                    0,2,4,6,8,10,12,14,16,18 
 NUMA node1 CPU(s):                    1,3,5,7,9,11,13,15,17,19 
 </code></pre> 

 The documentation (https://docs.suricata.io/en/latest/performance/high-performance-config.html) shows the following: 

 <pre><code class="shell"> 
 threading: 
  cpu-affinity: 
    - management-cpu-set: 
        cpu: [ "1-10" ]    # include only these CPUs in affinity settings 
    - receive-cpu-set: 
        cpu: [ "0-10" ]    # include only these CPUs in affinity settings 
    - worker-cpu-set: 
        cpu: [ "18-35", "54-71" ] 
        mode: "exclusive" 
        prio: 
          low: [ 0 ] 
          medium: [ "1" ] 
          high: [ "18-35","54-71" ] 
          default: "high" 
 </code></pre> 

 When I apply this line @high: [ "0,2,4,6,8,10,12,14,16", "1,3,5,7,9,11,13,15,17" ]@, ]@ or any other with strings, Suricata fails to start with the error: 

 <pre><code class="shell"> 
 Error: affinity: worker-cpu-set: invalid cpu range (not an integer): "0,2,4,6,8,10,12,14,16" 
 </code></pre> 

 How can I define these NUMA nodes? The documentation shows a way, but the software does not accept it in the configuration. Only consequtive CPU ranges work, e.g. @"0-5", "10-15"@, but that's not how my NUMA looks like. 

 I'm using Debian 12 with Suricata 7.0.6-1~bpo12+1.

Back