linux/drivers/net/ethernet
Jack Morgenstein 6ed63d845e net/mlx4_core: Use cq quota in SRIOV when creating completion EQs
When creating EQs to handle CQ completion events for the PF
or for VFs, we create enough EQE entries to handle completions
for the max number of CQs that can use that EQ.

When SRIOV is activated, the max number of CQs a VF (or the PF) can
obtain is its CQ quota (determined by the Hypervisor resource tracker).
Therefore, when creating an EQ, the number of EQE entries that the VF
should request for that EQ is the CQ quota value (and not the total
number of CQs available in the FW).

Under SRIOV, the PF, also must use its CQ quota, because
the resource tracker also controls how many CQs the PF can obtain.

Using the FW total CQs instead of the CQ quota when creating EQs resulted
wasting MTT entries, due to allocating more EQEs than were needed.

Fixes: 5a0d0a6161 ("mlx4: Structures and init/teardown for VF resource quotas")
Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Reported-by: Dexuan Cui <decui@microsoft.com>
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-02-23 10:57:57 -05:00
..
3com drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
8390 Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
adaptec net: adaptec: starfire: add checks for dma mapping errors 2017-01-29 19:04:11 -05:00
adi drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
aeroflex aeroflex/greth: use napi_complete_done() 2017-02-05 16:11:57 -05:00
agere drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
alacritech net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
allwinner
alteon Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
altera drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
amazon net: ena: remove superfluous check in ena_remove() 2017-02-20 10:22:59 -05:00
amd pcnet32: fix BNC/AUI port on AM79C970A 2017-02-14 14:26:58 -05:00
apm xgene_enet: remove bogus forward declarations 2017-02-02 17:12:20 -05:00
apple
aquantia net: ethernet: aquantia: Copying tx buffers is not needed. 2017-02-20 17:11:09 -05:00
arc drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
atheros atl1e: add GRO support 2017-02-03 11:13:17 -05:00
aurora
broadcom bnxt_en: use eth_hw_addr_random() 2017-02-21 13:33:43 -05:00
brocade drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
cadence net: macb: fix build errors when linux/phy*.h is removed from net/dsa.h 2017-02-10 13:51:02 -05:00
calxeda drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
cavium Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-02-11 02:31:11 -05:00
chelsio cxgb4: Remove redundant code in t4_uld_clean_up() 2017-02-16 14:32:52 -05:00
cirrus ep93xx_eth: add GRO support 2017-02-05 16:11:57 -05:00
cisco enic: add vxlan offload on tx path 2017-02-09 17:24:29 -05:00
davicom net: davicom: dm9000: use new api ethtool_{get|set}_link_ksettings 2016-12-17 21:31:41 -05:00
dec drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
dlink net: dlink: sundance: use new api ethtool_{get|set}_link_ksettings 2017-01-02 16:59:10 -05:00
emulex be2net: get rid of custom busy poll code 2017-02-03 16:06:55 -05:00
ezchip drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
faraday net: faraday: ftmac100: use new api ethtool_{get|set}_link_ksettings 2017-01-02 16:59:10 -05:00
freescale dpaa_eth: implement ioctl() for PHY-related ops 2017-02-20 22:21:23 -05:00
fujitsu Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
hisilicon net: hip04: Omit private ndo_get_stats function 2017-02-14 15:03:21 -05:00
hp
i825xx
ibm net: emac: add support for device-tree based PHY discovery and setup 2017-02-22 15:36:47 -05:00
intel i40e: Invoke softirqs after napi_reschedule 2017-02-18 20:35:36 -08:00
marvell net: mvpp2: enable building on 64-bit platforms 2017-02-21 13:16:17 -05:00
mediatek Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-01-28 10:33:06 -05:00
mellanox net/mlx4_core: Use cq quota in SRIOV when creating completion EQs 2017-02-23 10:57:57 -05:00
micrel net: micrel: ks8851_mll: use new api ethtool_{get|set}_link_ksettings 2017-02-12 22:32:17 -05:00
microchip net: microchip: encx24j600: use new api ethtool_{get|set}_link_ksettings 2017-02-12 22:32:17 -05:00
moxa drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
myricom net: myricom: myri10ge: use new api ethtool_{get|set}_link_ksettings 2017-02-12 22:32:17 -05:00
natsemi net: natsemi: ns83820: use new api ethtool_{get|set}_link_ksettings 2017-02-12 22:32:17 -05:00
neterion net: neterion: vxge: use new api ethtool_{get|set}_link_ksettings 2017-02-12 22:32:17 -05:00
netronome nfp: allow application firmware to limit number of SR-IOV VFs 2017-02-20 11:18:49 -05:00
nuvoton net: nuvoton: w90p910: use new api ethtool_{get|set}_link_ksettings 2017-02-12 22:32:17 -05:00
nvidia forcedeth: Remove return from a void function 2017-02-23 10:55:07 -05:00
nxp drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
oki-semi net: oki-semi: pch_gbe: use new api ethtool_{get|set}_link_ksettings 2017-02-17 12:00:14 -05:00
packetengines net: hamachi: use new api ethtool_{get|set}_link_ksettings 2017-02-17 14:06:41 -05:00
pasemi drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
qlogic qlogic: netxen: constify bin_attribute structures 2017-02-22 15:39:09 -05:00
qualcomm net: qualcomm: qca: use new api ethtool_{get|set}_link_ksettings 2017-02-20 22:19:08 -05:00
rdc r6040: move spinlock in r6040_close as SOFTIRQ-unsafe lock order detected 2016-12-17 21:35:12 -05:00
realtek 8139cp: use napi_complete_done() 2017-02-05 16:11:57 -05:00
renesas sh_eth: fix wakeup event reporting from MagicPacket 2017-02-01 12:53:59 -05:00
rocker drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
samsung drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
seeq
sfc sfc: do not device_attach if a reset is pending 2017-02-17 15:29:40 -05:00
sgi Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
silan
sis Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
smsc epic100: use napi_complete_done() 2017-02-05 16:11:57 -05:00
stmicro net: ethernet: stmmac: dwmac-rk: Add RK3328 gmac support 2017-02-19 18:19:37 -05:00
sun ldmvsw: disable tso and gso for bridge operations 2017-02-14 13:04:11 -05:00
tehuti drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
ti net: ethernet: ti: cpsw: correct ale dev to cpsw 2017-02-17 11:12:32 -05:00
tile drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
toshiba drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
tundra drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
via drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
wiznet drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
xilinx Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-02-16 19:34:01 -05:00
xircom Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
xscale
dnet.c drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
dnet.h
ec_bhf.c net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
ethoc.c net: ethoc: Use eth_hw_addr_random() 2017-02-17 12:42:24 -05:00
fealnx.c net: fealnx: use new api ethtool_{get|set}_link_ksettings 2017-01-02 16:59:10 -05:00
jme.c net: jme: use new api ethtool_{get|set}_link_ksettings 2017-01-17 11:44:27 -05:00
jme.h net: jme: use new api ethtool_{get|set}_link_ksettings 2017-01-17 11:44:27 -05:00
Kconfig net: ethernet: aquantia: Integrate AQtion 2.5/5 GB NIC driver 2017-01-24 15:03:41 -05:00
korina.c drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
lantiq_etop.c drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
Makefile net: ethernet: aquantia: Integrate AQtion 2.5/5 GB NIC driver 2017-01-24 15:03:41 -05:00
netx-eth.c