linux_dsm_epyc7002/drivers/net
Jacob Keller c0cf70a6fc i40e: don't add more vectors to num_lan_msix than number of CPUs
This is a solution to avoid adding too many queues to num_lan_msix.
A recent refactor of queue pairs accidentally added all remaining
vectors to the num_lan_msix which can have adverse performance issues,
due to enabling more queues than the number of CPU cores.

This patch removes the old calculation, and replaces it with a simple
algorithm.

1) add queue pairs up to num_online_cpus(), but capped at half of total
   vectors
2) then add alternative features such as flow directory and similar
3) finally, add the remaining vectors back to queue pairs, but capped
   such that the total number of queue pairs does not exceed
   num_online_cpus().

Change-ID: I668abf67d5011a1248866daba8885f4ff00cb8d9
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Harshitha Ramamurthy <harshitha.ramamurthy@intel.com>
Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-03-15 01:57:44 -07:00
..
appletalk
arcnet lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
bonding bonding: reduce scope of some global variables 2017-03-09 17:33:29 -08:00
caif virtio: allow drivers to request IRQ affinity when creating VQs 2017-02-27 20:54:04 +02:00
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-03-04 17:31:39 -08:00
cris
dsa net: dsa: mv88e6xxx: add port priority override op 2017-03-12 23:54:07 -07:00
ethernet i40e: don't add more vectors to num_lan_msix than number of CPUs 2017-03-15 01:57:44 -07:00
fddi
fjes net: fjes: use new api ethtool_{get|set}_link_ksettings 2017-03-12 19:28:07 -07:00
hamradio driver core patches for 4.11-rc1 2017-02-22 11:44:32 -08:00
hippi
hyperv netvsc: fix hang on netvsc module removal 2017-03-12 23:15:43 -07:00
ieee802154
ipvlan ipvtap: IP-VLAN based tap driver 2017-02-11 20:59:41 -05:00
irda sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
phy net: bcmgenet: add support for the GENETv5 hardware 2017-03-13 21:51:51 -07:00
plip
ppp sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
slip sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h> 2017-03-02 08:42:29 +01:00
team net: remove ndo_neigh_{construct, destroy} from stacked devices 2017-02-06 11:25:57 -05:00
usb net: usb: rtl8150: use new api ethtool_{get|set}_link_ksettings 2017-03-13 15:25:54 -07:00
vmxnet3 drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
wan sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
wimax scripts/spelling.txt: add "varible" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-03-04 17:31:39 -08:00
xen-netback Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-03-04 17:31:39 -08:00
dummy.c net: dummy: Introduce dummy virtual functions 2017-01-24 14:07:22 -05:00
eql.c
geneve.c geneve: lock RCU on TX path 2017-03-01 09:58:31 -08:00
gtp.c gtp: add socket to pdp context 2017-03-13 13:04:31 -07:00
ifb.c
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 sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
Makefile ipvtap: IP-VLAN based tap driver 2017-02-11 20:59:41 -05:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c net: net_netdev: use new api ethtool_{get|set}_link_ksettings 2017-03-13 15:25:53 -07:00
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c sched/headers: Move task_struct::signal and task_struct::sighand types and accessors into <linux/sched/signal.h> 2017-03-03 01:43:37 +01:00
tun.c net: tun: use new api ethtool_{get|set}_link_ksettings 2017-03-13 15:25:53 -07:00
veth.c
virtio_net.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-03-04 17:31:39 -08:00
vrf.c net: rename dst_neigh_output back to neigh_output 2017-02-11 21:25:18 -05:00
vxlan.c vxlan: use appropriate family on L3 miss 2017-03-12 23:31:05 -07: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