lineage_android_kernel_xiao.../drivers
Jason Wang f5755c0e87 vhost_net: correctly check tx avail during rx busy polling
[ Upstream commit 8b949bef9172ca69d918e93509a4ecb03d0355e0 ]

We check tx avail through vhost_enable_notify() in the past which is
wrong since it only checks whether or not guest has filled more
available buffer since last avail idx synchronization which was just
done by vhost_vq_avail_empty() before. What we really want is checking
pending buffers in the avail ring. Fix this by calling
vhost_vq_avail_empty() instead.

This issue could be noticed by doing netperf TCP_RR benchmark as
client from guest (but not host). With this fix, TCP_RR from guest to
localhost restores from 1375.91 trans per sec to 55235.28 trans per
sec on my laptop (Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz).

Fixes: 0308813724 ("vhost_net: basic polling support")
Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-09-20 08:19:56 +02:00
..
accessibility
acpi ACPI: EC: Fix regression related to wrong ECDT initialization order 2017-08-30 10:21:56 +02:00
amba
android ANDROID: binder: fix proc->tsk check. 2017-08-30 10:21:53 +02:00
ata cs5536: add support for IDE controller variant 2017-09-09 17:39:41 +02:00
atm
auxdisplay
base driver core: bus: Fix a potential double free 2017-09-09 17:39:38 +02:00
bcma
block xen-blkfront: use a right index when checking requests 2017-08-24 17:12:20 -07:00
bluetooth Bluetooth: Add support of 13d3:3494 RTL8723BE device 2017-09-09 17:39:40 +02:00
bus
cdrom
char
clk
clocksource
connector
cpufreq
cpuidle
crypto crypto: ixp4xx - Fix error handling path in 'aead_perform()' 2017-08-24 17:12:18 -07:00
dax
dca
devfreq
dio
dma
dma-buf
edac
eisa
extcon
firewire
firmware
fmc
fpga
gpio
gpu drm/bridge: adv7511: Switch to using drm_kms_helper_hotplug_event() 2017-09-09 17:39:42 +02:00
hid
hsi
hv
hwmon
hwspinlock
hwtracing intel_th: pci: Add Cannon Lake PCH-LP support 2017-09-09 17:39:39 +02:00
i2c i2c: ismt: Return EMSGSIZE for block reads with bogus length 2017-09-07 08:35:39 +02:00
ide
idle
iio iio: adc: ti-ads1015: add adequate wait time to get correct conversion 2017-09-09 17:39:38 +02:00
infiniband
input Input: trackpoint - assume 3 buttons when buttons detection fails 2017-09-09 17:39:39 +02:00
iommu
ipack
irqchip irqchip: mips-gic: SYNC after enabling GIC region 2017-09-07 08:35:39 +02:00
isdn
leds Revert "leds: handle suspend/resume in heartbeat trigger" 2017-08-30 10:21:51 +02:00
lguest
lightnvm
macintosh
mailbox
mcb MCB: add support for SC31 to mcb-lpc 2017-09-09 17:39:41 +02:00
md
media
memory
memstick
message
mfd
misc
mmc
mtd mtd: nand: qcom: fix config error for BCH 2017-09-13 14:13:36 -07:00
net gianfar: Fix Tx flow control deactivation 2017-09-20 08:19:56 +02:00
nfc
ntb ntb: transport shouldn't disable link due to bogus values in SPADs 2017-08-30 10:21:55 +02:00
nubus
nvdimm
nvme nvme-fabrics: generate spec-compliant UUID NQNs 2017-09-13 14:13:36 -07:00
nvmem
of
oprofile
parisc parisc: pci memory bar assignment fails with 64bit kernels on dino/cujo 2017-08-24 17:12:18 -07:00
parport
pci
pcmcia
perf
phy
pinctrl pinctrl: meson-gxbb: Add missing GPIODV_18 pin entry 2017-08-16 13:43:24 -07:00
platform
pnp
power
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc
s390
sbus
scsi scsi: sg: recheck MMAP_IO request length with lock held 2017-09-09 17:39:42 +02:00
sfi
sh
sn
soc
spi
spmi
ssb
staging staging/rts5208: fix incorrect shift to extract upper nybble 2017-09-09 17:39:37 +02:00
target
tc
thermal
thunderbolt
tty
uio
usb USB: core: Avoid race of async_completed() w/ usbdev_release() 2017-09-09 17:39:37 +02:00
uwb
vfio
vhost vhost_net: correctly check tx avail during rx busy polling 2017-09-20 08:19:56 +02:00
video
virt
virtio
vlynq
vme
w1
watchdog
xen xen: fix bio vec merging 2017-08-24 17:12:20 -07:00
zorro
Kconfig
Makefile