linux-stable/drivers/net
Michael S. Tsirkin 1daa8790d0 virtio_net: fix truesize for mergeable buffers
Seth Forshee noticed a performance degradation with some workloads.
This turns out to be due to packet drops.  Euan Kemp noticed that this
is because we drop all packets where length exceeds the truesize, but
for some packets we add in extra memory without updating the truesize.
This in turn was kept around unchanged from ab7db91705 ("virtio-net:
auto-tune mergeable rx buffer size for improved performance").  That
commit had an internal reason not to account for the extra space: not
enough bits to do it.  No longer true so let's account for the allocated
length exactly.

Many thanks to Seth Forshee for the report and bisecting and Euan Kemp
for debugging the issue.

Fixes: 680557cf79 ("virtio_net: rework mergeable buffer handling")
Reported-by: Euan Kemp <euan.kemp@coreos.com>
Tested-by: Euan Kemp <euan.kemp@coreos.com>
Reported-by: Seth Forshee <seth.forshee@canonical.com>
Tested-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-07-31 18:02:46 -07:00
..
appletalk
arcnet arcnet: com20020-pci: Fix an error handling path in 'com20020pci_probe()' 2017-07-07 09:29:10 +01:00
bonding bonding: commit link status change after propose 2017-07-26 13:41:21 -07:00
caif Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-07-05 12:31:59 -07:00
can
cris
dsa net: dsa: b53: Add missing ARL entries for BCM53125 2017-07-20 15:21:54 -07:00
ethernet mv643xx_eth: fix of_irq_to_resource() error check 2017-07-31 17:56:47 -07:00
fddi
fjes
hamradio
hippi
hyperv Revert "netvsc: optimize calculation of number of slots" 2017-07-25 21:26:08 -07:00
ieee802154
ipvlan
irda mcs7780: Fix initialization when CONFIG_VMAP_STACK is enabled 2017-07-24 16:24:05 -07:00
phy net: phy: Correctly process PHY_HALTED in phy_stop_machine() 2017-07-31 17:27:10 -07:00
plip
ppp ppp: Fix false xmit recursion detect with two ppp devices 2017-07-18 11:20:33 -07:00
slip
team team: use a larger struct for mac address 2017-07-29 11:25:05 -07:00
usb smsc95xx: use ethtool_op_get_ts_info() 2017-07-14 08:54:03 -07:00
vmxnet3 vmxnet3: avoid format strint overflow warning 2017-07-14 09:03:11 -07:00
wan
wimax
wireless brcmfmac: fix memleak due to calling brcmf_sdiod_sgtable_alloc() twice 2017-07-27 14:03:14 +03:00
xen-netback
dummy.c
eql.c
geneve.c geneve: fix hlist corruption 2017-07-03 02:36:27 -07:00
gtp.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macsec.c
macvlan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-06-30 12:43:08 -04:00
macvtap.c
Makefile
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c ntb_netdev: set the net_device's parent 2017-07-06 11:30:08 -04:00
rionet.c net: convert sk_buff.users from atomic_t to refcount_t 2017-07-01 07:39:07 -07:00
sb1000.c
Space.c
sungem_phy.c
tap.c tap: convert a mutex to a spinlock 2017-07-11 13:41:57 -07:00
tun.c tun/tap: Add the missed return value check of register_netdevice_notifier 2017-07-24 13:44:31 -07:00
veth.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-06-30 12:43:08 -04:00
virtio_net.c virtio_net: fix truesize for mergeable buffers 2017-07-31 18:02:46 -07:00
vrf.c vrf: fix bug_on triggered by rx when destroying a vrf 2017-07-06 16:46:07 +01:00
vsockmon.c
vxlan.c net, vxlan: convert vxlan_sock.refcnt from atomic_t to refcount_t 2017-07-04 22:35:15 +01:00
xen-netfront.c