vringh: host-side implementation of virtio rings.
Getting use of virtio rings correct is tricky, and a recent patch saw an implementation of in-kernel rings (as separate from userspace). This abstracts the business of dealing with the virtio ring layout from the access (userspace or direct); to do this, we use function pointers, which gcc inlines correctly. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Acked-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
config VHOST_NET
|
||||
tristate "Host kernel accelerator for virtio net"
|
||||
depends on NET && EVENTFD && (TUN || !TUN) && (MACVTAP || !MACVTAP)
|
||||
select VHOST_RING
|
||||
---help---
|
||||
This kernel module can be loaded in host kernel to accelerate
|
||||
guest networking with virtio_net. Not to be confused with virtio_net
|
||||
@@ -12,3 +13,10 @@ config VHOST_NET
|
||||
if STAGING
|
||||
source "drivers/vhost/Kconfig.tcm"
|
||||
endif
|
||||
|
||||
config VHOST_RING
|
||||
tristate
|
||||
---help---
|
||||
This option is selected by any driver which needs to access
|
||||
the host side of a virtio ring.
|
||||
|
||||
|
@@ -1,6 +1,7 @@
|
||||
config TCM_VHOST
|
||||
tristate "TCM_VHOST fabric module"
|
||||
depends on TARGET_CORE && EVENTFD && m
|
||||
select VHOST_RING
|
||||
default n
|
||||
---help---
|
||||
Say M here to enable the TCM_VHOST fabric module for use with virtio-scsi guests
|
||||
|
@@ -2,3 +2,5 @@ obj-$(CONFIG_VHOST_NET) += vhost_net.o
|
||||
vhost_net-y := vhost.o net.o
|
||||
|
||||
obj-$(CONFIG_TCM_VHOST) += tcm_vhost.o
|
||||
|
||||
obj-$(CONFIG_VHOST_RING) += vringh.o
|
||||
|
1007
drivers/vhost/vringh.c
Normal file
1007
drivers/vhost/vringh.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user