Aquantia / AQtion

Aquantia AQC multigigabit NIC linux driver (atlantic) - development preview
https://www.aquantia.com
82 stars 28 forks source link

RSS limit according to cores does not work #31

Open nemihome opened 2 years ago

nemihome commented 2 years ago

I'm using a Odroid H2+. When using the driver I'm getting the following result:

            CPU0       CPU1       CPU2       CPU3       
 128:          0          0          0    1710005  IR-PCI-MSI 524288-edge      enp1s0
 129:    2216316          0          0          0  IR-PCI-MSI 524289-edge      enp1s0
 130:          0          0          0    3127524  IR-PCI-MSI 524290-edge      enp1s0
 131:          0    2855864          0          0  IR-PCI-MSI 524291-edge      enp1s0
 132:          0         17          0          0  IR-PCI-MSI 524292-edge      enp1s0
 133:          0          0          0          0  IR-PCI-MSI 524293-edge      enp1s0
 134:          0          0          0          0  IR-PCI-MSI 524294-edge      enp1s0

This means one core is not even used.

This should be something like this:

`egrep 'CPU|eth0' /proc/interrupts
            CPU0       CPU1       CPU2       CPU3       
 129:   29144060          0          0          0  IR-PCI-MSI 524288-edge      eth0
 131:          0   25511547          0          0  IR-PCI-MSI 524289-edge      eth0
 132:          0          0   40776464          0  IR-PCI-MSI 524290-edge      eth0
 134:          0          0          0   17121614  IR-PCI-MSI 524291-edge      eth0`

I have also tried to manually limit to 4 queues and did the whole make and install process again but nothing changes.

Settings in aq_cfg.h:

define AQ_CFG_VECS_DEF 4U

define AQ_CFG_NUM_RSS_QUEUES_DEF AQ_CFG_VECS_DEF

cail commented 2 years ago

Thats probably not a bug. you should use irqbalance daemon or manual affinity assignment. Driver is not forcing any affinity. Its OS responsibility.

nemihome commented 2 years ago

But when I set 4 there should not be 7 in my opinion. I don't even know where 7 are coming from. 8 is maximum, cap should be cores according to documentation which is 4 but why 7? Even if this is balanced this would never give a good result.

cail commented 2 years ago

The behavior you explain is strange. AQ_CFG_VECS_DEF changing should help. Please make sure you rebuild and reinstall correctly.

nemihome commented 2 years ago

I got no errors in the process. To I think that I did.

But even if not there the capping to cores did not work wich is described in the documentation. So according to documentation it should not be possible to set something manual.