Software interrupt does not run in other cpu

Is there something wrong with my vyos some cpu not running process, or need additional configuration?

Check how many queues does NIC have?

how can i check it ?

sudo ethtool -l ethX


You can try to change queues amount with:

sudo ethtool -L eth4 rx 24 tx 24

Be careful - the command may interrupt traffic temporarily.

Usually, they have configured automatically for an equal value to a total amount of physical CPU cores. But maybe the NIC or driver cannot do this in this specific hardware configuration.

on all ports?
because my vyos set bonding interface

Hi @nasrultkj2 , I see that you have 2 CPUs, did you disable HT cores via sysctl?
Also, I prefer to use combined interrupts

sudo ethtool -L ethX combined 24

You have to do this for all NICs

how can i remove ht core ?, i cant access to bios

sudo echo “off” | tee /sys/devices/system/cpu/smt/control


i’ve tried disabling ht core, but when I run “top”, only the 24 cpu cores show up.
and when I run “ethtool - L eth4 rx 24 tx 24”. the result is like this

my vyos can’t use combined interrupt, only set rx and tx

Max tx rx nic

If I set it to maximum rx tx, some cores are not running

Hi @nasrultkj2 , try to use intel irq binding script

chmod +x
sudo ./ eth6

Or bind IRQ manually, check cat /proc/interrupts | grep eth

Also what about combined queues?
sudo ethtool -L eth6 combined 24

can’t combine queue. just tx and rx, Does script execution cause downtime?

Does not. Usually to binding IRQ do not interrupt any network activity

how can I check if the script is active, and how can I return to before the script was executed ?

You have to research /proc/interrupts. With script you can bind IRQs to different CPU cores. Just run it without arguments and read help info.

with 48 core cpu, can i user this script ?

when I use this script, there is a message like this
no interrupt

i use Melanox nic