1
0
Fork 0
alistair23-linux/drivers/net/ethernet
Alan Brady c97fc9b6a7 i40evf: fix ring to vector mapping
The current implementation for mapping queues to vectors is broken
because it attempts to map each Tx and Rx ring to its own vector,
however we use combined queues so we should actually be mapping the
Tx/Rx rings together on one vector.

Also in the current implementation, in the case where we have more
queues than vectors, we attempt to group the queues together into
'chunks' and map each 'chunk' of queues to a vector.  Chunking them
together would be more ideal if, and only if, we only had RSS because of
the way the hashing algorithm works but in the case of a future patch
that enables VF ADq, round robin assignment is better and still works
with RSS.

This patch resolves both those issues and simplifies the code needed to
accomplish this.  Instead of treating the case where we have more queues
than vectors as special, if we notice our vector index is greater than
vectors, reset the vector index to zero and continue mapping.  This
should ensure that in both cases, whether we have enough vectors for
each queue or not, the queues get appropriately mapped.

Signed-off-by: Alan Brady <alan.brady@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-09-29 12:51:01 -07:00
..
3com net: 3c59x: constify eisa_device_id 2017-08-19 17:13:41 -07:00
8390 net: ethernet: ax88796: make mdiobb_ops const 2017-08-22 14:20:54 -07:00
adaptec
adi drivers: net: adi: use setup_timer() helper. 2017-09-21 11:44:43 -07:00
aeroflex networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
agere drivers: net: et131x: use setup_timer() helper. 2017-09-21 11:44:39 -07:00
alacritech
allwinner networking: make skb_put & friends return void pointers 2017-06-16 11:48:39 -04:00
alteon
altera
amazon net: ena: Remove redundant unlikely() 2017-09-26 09:54:06 -07:00
amd drivers: net: amd: use setup_timer() helper. 2017-09-21 11:44:43 -07:00
apm drivers: net: xgene: Remove return statement from void function 2017-09-05 14:58:25 -07:00
apple net: Convert to using %pOF instead of full_name 2017-07-24 13:41:48 -07:00
aquantia Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-09-01 17:42:05 -07:00
arc net: arc_emac: Add support for ndo_do_ioctl net_device_ops operation 2017-08-03 15:14:34 -07:00
atheros net: atl1c: fix spelling mistake: "droppted" -> "dropped" 2017-06-29 12:24:26 -04:00
aurora net: ethernet: nb8800: Handle all 4 RGMII modes identically 2017-07-25 21:27:01 -07:00
broadcom bpf: add meta pointer for direct access 2017-09-26 13:36:44 -07:00
brocade
cadence net: ethernet: make ptp_clock_info const 2017-08-22 11:04:51 -07:00
calxeda
cavium bpf: add meta pointer for direct access 2017-09-26 13:36:44 -07:00
chelsio cxgb4: make function ch_flower_stats_cb, fixes warning 2017-09-28 10:21:37 -07:00
cirrus networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
cisco drivers: net: enic: use setup_timer() helper. 2017-09-21 11:44:44 -07:00
davicom davicom: Display proper debug level up to 6 2017-09-08 20:53:10 -07:00
dec drivers: net: uli526x: use setup_timer() helper. 2017-09-21 11:44:44 -07:00
dlink drivers: net: sundance: use setup_timer() helper. 2017-09-21 11:44:40 -07:00
emulex be2net: fix TSO6/GSO issue causing TX-stall on Lancer/BEx 2017-09-13 09:28:18 -07:00
ezchip
faraday Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-09-01 17:42:05 -07:00
freescale Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-09-23 10:16:53 -07:00
fujitsu
hisilicon net: hns3: Add DCB support when interacting with network stack 2017-09-28 10:35:12 -07:00
hp net: hp100: constify eisa_device_id 2017-08-19 17:13:41 -07:00
huawei net-next/hinic: Fix a case of Tx Queue is Stopped forever 2017-09-28 10:26:50 -07:00
i825xx dma-mapping updates for 4.14: 2017-09-12 13:30:06 -07:00
ibm net: emac: Fix napi poll list corruption 2017-09-19 16:20:25 -07:00
intel i40evf: fix ring to vector mapping 2017-09-29 12:51:01 -07:00
marvell drivers: net: pxa168: use setup_timer() helper. 2017-09-21 11:44:42 -07:00
mediatek net-next: mediatek: bring up QDMA RX ring 0 2017-08-09 22:45:36 -07:00
mellanox mlxsw: spectrum: router: Don't ignore IPMR notifications 2017-09-27 11:33:28 -07:00
micrel networking: make skb_put & friends return void pointers 2017-06-16 11:48:39 -04:00
microchip
moxa net: moxa: Add spaces preferred around that '{+,-}' 2017-07-29 14:02:07 -07:00
myricom
natsemi drivers: net: natsemi: use setup_timer() helper. 2017-09-21 11:44:40 -07:00
neterion s2io: Remove UFO support. 2017-07-17 09:52:57 -07:00
netronome nfp: flower vxlan neighbour keep-alive 2017-09-26 21:27:36 -07:00
nuvoton w90p910_ether: include linux/interrupt.h 2017-09-12 20:59:19 -07:00
nvidia forcedeth: optimize the xmit/rx with unlikely 2017-09-23 20:04:23 -07:00
nxp net: manual clean code which call skb_put_[data:zero] 2017-06-20 13:30:15 -04:00
oki-semi
packetengines drivers: net: packetengines: use setup_timer() helper. 2017-09-21 11:44:44 -07:00
pasemi
qlogic bpf: add meta pointer for direct access 2017-09-26 13:36:44 -07:00
qualcomm net: qcom/emac: add software control for pause frame mode 2017-09-21 15:19:30 -07:00
rdc
realtek Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-09-23 10:16:53 -07:00
renesas net: sh_eth: constify platform_device_id 2017-08-13 20:12:23 -07:00
rocker rocker: fix kcalloc parameter order 2017-09-05 14:52:31 -07:00
samsung net: sxgbe: check memory allocation failure 2017-08-25 20:07:07 -07:00
seeq sgiseeq: switch to dma_alloc_attrs 2017-08-29 10:02:54 +02:00
sfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-08-15 20:23:23 -07:00
sgi ioc3-eth: store pointer to net_device for priviate area 2017-07-15 14:28:56 -07:00
silan networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
sis drivers: net: sis900: use setup_timer() helper. 2017-09-21 11:44:42 -07:00
smsc drivers: net: smsc: use setup_timer() helper. 2017-09-21 11:44:41 -07:00
stmicro Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-09-23 10:16:53 -07:00
sun ldmvsw: Remove redundant unlikely() 2017-09-26 10:15:44 -07:00
synopsys drivers: net: add missing interrupt.h include 2017-07-18 11:13:41 -07:00
tehuti net: tehuti: don't process data if it has not been copied from userspace 2017-07-19 22:48:02 -07:00
ti net: ti: netcp: use setup_timer 2017-09-21 15:48:46 -07:00
tile net: ethernet: make ptp_clock_info const 2017-08-22 11:04:51 -07:00
toshiba drivers: net: spider_net: use setup_timer() helper. 2017-09-21 11:44:40 -07:00
tundra
via dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
wiznet
xilinx net: Convert to using %pOF instead of full_name 2017-07-24 13:41:48 -07:00
xircom ethernet: xircom: small clean up in setup_xirc2ps_cs() 2017-08-22 10:30:00 -07:00
xscale
Kconfig net-next/hinic: Initialize hw interface 2017-08-22 10:48:52 -07:00
Makefile net-next/hinic: Initialize hw interface 2017-08-22 10:48:52 -07:00
dnet.c networking: make skb_put & friends return void pointers 2017-06-16 11:48:39 -04:00
dnet.h
ec_bhf.c net: ec_bhf: constify pci_device_id. 2017-07-17 13:37:15 -07:00
ethoc.c
fealnx.c drivers: net: fealnx: use setup_timer() helper. 2017-09-21 11:44:43 -07:00
jme.c
jme.h
korina.c net: korina: bump version 2017-09-18 16:50:07 -07:00
lantiq_etop.c
netx-eth.c