Summary
Add kernel options isolcpus, nohz_full, rcu_nocbs, default_hugepagesz, hugepages, hugepagesz, numa_balancing
The isolcpus kernel parameter can be used to specify CPUs to be isolated from the general SMP balancing and scheduler algorithms. The argument is a CPU list:
isolcpus=<cpu number>,….,<cpu number>
Use case
Use some cores exclusively for VPP.
Additional information
Proposed CLI
set system option kernel isolcpus '4,5,6,7'
Example of usecase:
set system option kernel isolcpus '4,5,6,7' set vpp settings cpu main-core '4' set vpp settings cpu corelist-workers '5-7' set vpp settings interface eth2 dpdk-options promisc set vpp settings interface eth2 driver 'dpdk'
Check:
%Cpu0 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu1 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu2 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu3 : 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu4 : 1.3 us, 1.7 sy, 0.0 ni, 96.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.3 st %Cpu5 : 99.3 us, 0.3 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.3 st %Cpu6 : 99.3 us, 0.7 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu7 : 99.3 us, 0.3 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.3 st MiB Mem : 16009.8 total, 12974.3 free, 2784.1 used, 519.3 buff/cache MiB Swap: 0.0 total, 0.0 free, 0.0 used. 13225.7 avail Mem