linux/drivers/net
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
..
appletalk net/appletalk: Fix kernel memory disclosure 2017-01-09 16:34:39 -05:00
arcnet
bonding net: remove ndo_neigh_{construct, destroy} from stacked devices 2017-02-06 11:25:57 -05:00
caif
can can: flexcan: switch imx6 and vf610 to timestamp based offloading 2017-02-06 15:13:45 +01:00
cris
dsa net:dsa:mv88e6xxx: use watchdog ops for 6097 chip 2017-02-14 11:45:28 -05:00
ethernet net/mlx4_core: Use cq quota in SRIOV when creating completion EQs 2017-02-23 10:57:57 -05:00
fddi fddi: skfp: Use more common logging styles 2016-12-29 11:37:14 -05:00
fjes drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
hamradio NET: mkiss: Fix panic 2017-02-10 13:41:13 -05:00
hippi
hyperv netvsc: fix typo on statistics 2017-02-17 15:06:52 -05:00
ieee802154 ieee802154: atusb: fix driver to work with older firmware versions 2017-01-12 22:12:43 +01:00
ipvlan ipvtap: IP-VLAN based tap driver 2017-02-11 20:59:41 -05:00
irda net: irda: au1k_ir: drop useless include 2017-02-14 14:51:03 -05:00
phy net: phy: Check phydev->drv 2017-02-20 10:15:11 -05:00
plip
ppp net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
slip net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
team net: remove ndo_neigh_{construct, destroy} from stacked devices 2017-02-06 11:25:57 -05:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-02-11 02:31:11 -05:00
vmxnet3 drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
wan net/wan: add MODULE_LICENSE for fsl_ucc_hdlc 2017-02-17 15:20:43 -05:00
wimax
wireless Revert "ath10k: Search SMBIOS for OEM board file extension" 2017-02-21 15:59:45 -05:00
xen-netback Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-02-22 10:15:09 -08:00
dummy.c net: dummy: Introduce dummy virtual functions 2017-01-24 14:07:22 -05:00
eql.c
geneve.c
gtp.c gtp: let userspace handle packets for invalid tunnels 2017-01-29 13:54:00 -05:00
ifb.c net-tc: convert tc_from to tc_from_ingress and tc_redirected 2017-01-08 20:58:52 -05:00
Kconfig vmxnet3: prevent building with 64K pages 2017-02-17 15:25:49 -05:00
LICENSE.SRC
loopback.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-02-11 02:31:11 -05:00
macsec.c macsec: fix validation failed in asynchronous operation. 2017-02-21 13:13:51 -05:00
macvlan.c tap: Abstract type of virtual interface from tap implementation 2017-02-11 20:59:41 -05:00
macvtap.c tap: tap as an independent module 2017-02-11 20:59:41 -05:00
Makefile ipvtap: IP-VLAN based tap driver 2017-02-11 20:59:41 -05:00
mdio.c net: mdio: add mdio45_ethtool_ksettings_get 2017-01-02 16:59:10 -05:00
mii.c
netconsole.c
nlmon.c net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c tap: tap as an independent module 2017-02-11 20:59:41 -05:00
tun.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-02-07 16:29:30 -05:00
veth.c net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
virtio_net.c virtio-net: switch to use build_skb() for small buffer 2017-02-21 12:24:52 -05:00
vrf.c net: rename dst_neigh_output back to neigh_output 2017-02-11 21:25:18 -05:00
vxlan.c vxlan: remove unused variable saddr in neigh_reduce 2017-02-21 12:19:21 -05:00
xen-netfront.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-02-22 10:15:09 -08:00