mxge: Implement MSI-X support; multiple RX rings could be enabled
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Wed, 23 Oct 2013 13:25:37 +0000 (21:25 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Sat, 26 Oct 2013 04:40:41 +0000 (12:40 +0800)
commite6c7b7530e64a9b215d3995859b175b99da8d487
tree78b8754baf50d23e1b8416cc8fcb280084f15034
parent88647437e00e5232701fdd5348b3ca41b9c64175
mxge: Implement MSI-X support; multiple RX rings could be enabled

One thing need to note is the interrupt moderation when MSI-X is
enabled.  On the PCIE-8AL-C, it looks like that the interrupt rate
set to the chip means total interrupt rate, NOT per MSI-X vector
interrupt rate: e.g. Given the interrupt rate is set too 8000 and 8
MSI-X vectors are allocated.  If two MSI-X vectors are active, then
the interrupt rate for each MSI-X vector will be ~4000.  If all
MSI-X vectors are active, then the interrupt rate for each MSI-X
vector will be ~1000.  This is kind of interrupt moderation for
MSI-X is very unfriendly ...

MSI-X is not enabled by default yet.  You could set tunable
hw.mxge.num_slices or hw.mxgeX.num_slices to 0 or any value greater
than 1 to enable MSI-X.

RSS key is not properly setup yet.
sys/dev/netif/mxge/if_mxge.c
sys/dev/netif/mxge/if_mxge_var.h