Michael S. Tsirkin
bab632d69e
vhost: vhost TX zero-copy support
...
>From: Shirley Ma <mashirle@us.ibm.com>
This adds experimental zero copy support in vhost-net,
disabled by default. To enable, set
experimental_zcopytx module option to 1.
This patch maintains the outstanding userspace buffers in the
sequence it is delivered to vhost. The outstanding userspace buffers
will be marked as done once the lower device buffers DMA has finished.
This is monitored through last reference of kfree_skb callback. Two
buffer indices are used for this purpose.
The vhost-net device passes the userspace buffers info to lower device
skb through message control. DMA done status check and guest
notification are handled by handle_tx: in the worst case is all buffers
in the vq are in pending/done status, so we need to notify guest to
release DMA done buffers first before we get any new buffers from the
vq.
One known problem is that if the guest stops submitting
buffers, buffers might never get used until some
further action, e.g. device reset. This does not
seem to affect linux guests.
Signed-off-by: Shirley <xma@us.ibm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-07-18 10:42:32 -07:00
..
accessibility
acpi
amba
ata
atm
lanai: use pci_dev->subsystem_device
2011-07-12 07:59:38 -07:00
auxdisplay
base
mm: Move definition of MIN_MEMORY_BLOCK_SIZE to a header
2011-07-12 11:08:01 +10:00
bcma
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
2011-07-15 10:05:24 -04:00
block
bluetooth
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
2011-07-15 10:05:24 -04:00
cdrom
char
agp/intel: Fix typo in G4x_GMCH_SIZE_VT_2M
2011-07-13 07:44:27 +01:00
clk
clocksource
connector
cpufreq
[CPUFREQ] fix cpumask memory leak in acpi-cpufreq on cpu hotplug.
2011-07-10 17:03:04 -04:00
cpuidle
crypto
dca
dio
dma
edac
eisa
firewire
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2011-07-14 07:56:40 -07:00
firmware
gpio
gpio/langwell_gpio: ack the correct bit for langwell gpio interrupts
2011-07-08 09:32:01 -06:00
gpu
Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
2011-07-13 14:04:26 -07:00
hid
hwmon
hwmon: (pmbus) Improve auto-detection of temperature status register
2011-07-10 08:54:29 -07:00
hwspinlock
i2c
Merge branch 'for-30-rc5/all-i2c' of git://git.fluff.org/bjdooks/linux
2011-07-07 16:29:29 -07:00
ide
idle
ieee802154
infiniband
net: Abstract dst->neighbour accesses behind helpers.
2011-07-17 23:11:35 -07:00
input
input: pmic8xxx-pwrkey: Do not use mfd_get_data()
2011-07-05 10:38:43 +02:00
isdn
net: Push protocol type directly down to header_ops->cache()
2011-07-13 02:29:59 -07:00
leds
drivers/leds/leds-pca9532.c: change driver name to be unique
2011-07-08 21:14:44 -07:00
lguest
macintosh
mca
md
media
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2011-07-14 07:56:40 -07:00
memstick
message
mfd
w1: ds1wm: add a reset recovery parameter
2011-07-08 21:14:44 -07:00
misc
mmc
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2011-07-14 07:56:40 -07:00
mtd
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2011-07-05 23:23:37 -07:00
net
net: Abstract dst->neighbour accesses behind helpers.
2011-07-17 23:11:35 -07:00
nfc
NFC: pn533: add NXP pn533 nfc device driver
2011-07-05 15:26:58 -04:00
nubus
of
oprofile
parisc
parport
pci
PCI: conditional resource-reallocation through kernel parameter pci=realloc
2011-07-08 15:49:20 -07:00
pcmcia
pcmcia: pxa2xx/vpac270: free gpios on exist rather than requesting
2011-07-11 14:26:34 +08:00
platform
hp-wmi: fix use after free
2011-07-11 09:52:35 -04:00
pnp
power
pps
ps3
ptp
rapidio
regulator
regulator: max8997: Fix setting inappropriate value for ramp_delay variable
2011-07-08 19:14:58 +01:00
rtc
s390
net: Abstract dst->neighbour accesses behind helpers.
2011-07-17 23:11:35 -07:00
sbus
scsi
net: Abstract dst->neighbour accesses behind helpers.
2011-07-17 23:11:35 -07:00
sfi
sh
sn
spi
spi/s3c64xx: Bug fix for SPI with different FIFO level
2011-07-06 15:03:08 +09:00
ssb
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2011-07-14 07:56:40 -07:00
staging
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2011-07-14 07:56:40 -07:00
target
tc
telephony
thermal
tty
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2011-07-14 07:56:40 -07:00
uio
usb
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2011-07-14 07:56:40 -07:00
uwb
vhost
vhost: vhost TX zero-copy support
2011-07-18 10:42:32 -07:00
video
vesafb: fix memory leak
2011-07-04 16:02:48 +09:00
virtio
vlynq
w1
w1: ds1wm: add a reset recovery parameter
2011-07-08 21:14:44 -07:00
watchdog
xen
zorro
Kconfig
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
2011-07-08 11:03:36 -04:00
Makefile
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
2011-07-08 11:03:36 -04:00