linux/drivers/net
Ayyappan Veeraiyan 021230d40a ixgbe: Introduce MSI-X queue vector code
This code abstracts the per-queue MSI-X interrupt vector into
a queue vector layer. This abstraction is needed since there can
be many more queues than available MSI-X vectors in a machine.

The MSI-X irq vectors are remapped to a shared queue vector which
can point to several (both RX and TX) hardware queues. The NAPI
algorithm then cleans the appropriate ring/queues on interrupt
or poll.

The remapping is a delicate and complex calculation to make sure
that we're not unbalancing the irq load, and spreads the irqs
as much as possible, and may combine RX and TX flows onto the
same queue vector.

This effectively enables receive flow hashing across vectors
and helps irq load balance across CPUs.

Signed-off-by: Ayyappan Veeraiyan <ayyappan.veeraiyan@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Acked-by: Waskiewicz Jr, Peter P <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2008-03-17 07:49:28 -04:00
..
appletalk
arcnet
arm
atlx
bonding
can
chelsio
cris
cxgb3
e1000
e1000e
ehea
fec_8xx
fs_enet
hamradio
ibm_emac
ibm_newemac
igb
irda
ixgb
ixgbe ixgbe: Introduce MSI-X queue vector code 2008-03-17 07:49:28 -04:00
ixp2000
mlx4
myri10ge
netxen
pcmcia
phy
skfp
tokenring
tulip
usb
wan
wireless
3c59x.c
3c501.c
3c501.h
3c503.c
3c503.h
3c505.c
3c505.h
3c507.c
3c509.c
3c515.c
3c523.c
3c523.h
3c527.c
3c527.h
7990.c
7990.h
8139cp.c
8139too.c
8390.c
8390.h
82596.c
Kconfig
LICENSE.SRC
Makefile
Space.c
a2065.c
a2065.h
ac3200.c
acenic.c
acenic.h
acenic_firmware.h
amd8111e.c
amd8111e.h
apne.c
ariadne.c
ariadne.h
at1700.c
atarilance.c
atp.c
atp.h
au1000_eth.c
au1000_eth.h
ax88796.c
b44.c
b44.h
bfin_mac.c
bfin_mac.h
bmac.c
bmac.h
bnx2.c
bnx2.h
bnx2_fw.h
bnx2_fw2.h
bnx2x.c
bnx2x.h
bnx2x_fw_defs.h
bnx2x_hsi.h
bnx2x_init.h
bnx2x_init_values.h
bnx2x_reg.h
bsd_comp.c
cassini.c
cassini.h
cpmac.c
cs89x0.c
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c
defxx.c
defxx.h
depca.c
depca.h
dl2k.c
dl2k.h
dm9000.c
dm9000.h
dummy.c
e100.c
e2100.c
eepro.c
eepro100.c
eexpress.c
eexpress.h
enc28j60.c
enc28j60_hw.h
epic100.c
eql.c
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c
fec.c
fec.h
fec_mpc52xx.c
fec_mpc52xx.h
fec_mpc52xx_phy.c
forcedeth.c
gianfar.c
gianfar.h
gianfar_ethtool.c
gianfar_mii.c
gianfar_mii.h
gianfar_sysfs.c
hamachi.c
hp-plus.c
hp.c
hp100.c
hp100.h
hplance.c
hplance.h
hydra.c
ibmlana.c
ibmlana.h
ibmveth.c
ibmveth.h
ifb.c
ioc3-eth.c
ipg.c
ipg.h
isa-skeleton.c
iseries_veth.c
jazzsonic.c
lance.c
lasi_82596.c
lib8390.c
lib82596.c
lne390.c
loopback.c
lp486e.c
mac89x0.c
mac8390.c
macb.c
macb.h
mace.c
mace.h
macmace.c
macsonic.c
macvlan.c
meth.c
meth.h
mii.c
mipsnet.c
mv643xx_eth.c
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c
ne-h8300.c
ne.c
ne2.c
ne2k-pci.c
ne3210.c
netconsole.c
netx-eth.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
niu.c
niu.h
ns83820.c
pasemi_mac.c
pasemi_mac.h
pci-skeleton.c
pcnet32.c
plip.c
ppp_async.c
ppp_deflate.c
ppp_generic.c
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c
pppoe.c
pppol2tp.c
pppox.c
ps3_gelic_net.c
ps3_gelic_net.h
ps3_gelic_wireless.c
ps3_gelic_wireless.h
qla3xxx.c
qla3xxx.h
r6040.c
r8169.c
rionet.c
rrunner.c
rrunner.h
s2io-regs.h
s2io.c
s2io.h
saa9730.c
saa9730.h
sb1000.c
sb1250-mac.c
sc92031.c
seeq8005.c
seeq8005.h
sgiseeq.c
sgiseeq.h
sis190.c
sis900.c
sis900.h
skge.c
skge.h
sky2.c
sky2.h
slhc.c
slip.c
slip.h
smc-mca.c
smc-ultra.c
smc-ultra32.c
smc91x.c
smc91x.h
smc911x.c
smc911x.h
smc9194.c
smc9194.h
sni_82596.c
sonic.c
sonic.h
spider_net.c
spider_net.h
spider_net_ethtool.c
starfire.c
starfire_firmware.h
starfire_firmware.pl
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c
sunbmac.c
sunbmac.h
sundance.c
sungem.c
sungem.h
sungem_phy.c
sungem_phy.h
sunhme.c
sunhme.h
sunlance.c
sunqe.c
sunqe.h
sunvnet.c
sunvnet.h
tc35815.c
tehuti.c
tehuti.h
tehuti_fw.h
tg3.c
tg3.h
tlan.c
tlan.h
tsi108_eth.c
tsi108_eth.h
tun.c
typhoon-firmware.h
typhoon.c
typhoon.h
ucc_geth.c
ucc_geth.h
ucc_geth_ethtool.c
ucc_geth_mii.c
ucc_geth_mii.h
veth.c
via-rhine.c
via-velocity.c
via-velocity.h
virtio_net.c
wd.c
xen-netfront.c
yellowfin.c
znet.c
zorro8390.c