[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCHv6 08/11] vhost: vhost net support
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCHv6 08/11] vhost: vhost net support |
Date: |
Mon, 22 Mar 2010 23:11:25 +0200 |
User-agent: |
Mutt/1.5.19 (2009-01-05) |
On Mon, Mar 22, 2010 at 03:58:58PM -0500, Anthony Liguori wrote:
> On 03/17/2010 06:08 AM, Michael S. Tsirkin wrote:
>> This adds vhost net device support in qemu. Will be tied to tap device
>> and virtio by following patches. Raw backend is currently missing,
>> will be worked on/submitted separately.
>>
>> Signed-off-by: Michael S. Tsirkin<address@hidden>
>> ---
>> Makefile.target | 2 +
>> configure | 37 +++
>> hw/vhost.c | 711
>> +++++++++++++++++++++++++++++++++++++++++++++++++++++++
>> hw/vhost.h | 48 ++++
>> hw/vhost_net.c | 195 +++++++++++++++
>> hw/vhost_net.h | 19 ++
>> 6 files changed, 1012 insertions(+), 0 deletions(-)
>> create mode 100644 hw/vhost.c
>> create mode 100644 hw/vhost.h
>> create mode 100644 hw/vhost_net.c
>> create mode 100644 hw/vhost_net.h
>>
>> diff --git a/Makefile.target b/Makefile.target
>> index 004a703..ea5207c 100644
>> --- a/Makefile.target
>> +++ b/Makefile.target
>> @@ -176,6 +176,8 @@ obj-y = vl.o async.o monitor.o pci.o pci_host.o
>> pcie_host.o machine.o gdbstub.o
>> # need to fix this properly
>> obj-y += virtio-blk.o virtio-balloon.o virtio-net.o virtio-pci.o
>> virtio-serial-bus.o
>> obj-y += event_notifier.o
>> +obj-y += vhost_net.o
>> +obj-$(CONFIG_VHOST_NET) += vhost.o
>> obj-y += rwhandler.o
>> obj-$(CONFIG_KVM) += kvm.o kvm-all.o
>> obj-$(CONFIG_ISA_MMIO) += isa_mmio.o
>> diff --git a/configure b/configure
>> index d728799..93015e3 100755
>> --- a/configure
>> +++ b/configure
>> @@ -263,6 +263,7 @@ vnc_tls=""
>> vnc_sasl=""
>> xen=""
>> linux_aio=""
>> +vhost_net=""
>>
>> gprof="no"
>> debug_tcg="no"
>> @@ -651,6 +652,10 @@ for opt do
>> ;;
>> --enable-docs) docs="yes"
>> ;;
>> + --disable-vhost-net) vhost_net="no"
>> + ;;
>> + --enable-vhost-net) vhost_net="yes"
>> + ;;
>> *) echo "ERROR: unknown option $opt"; show_help="yes"
>> ;;
>> esac
>> @@ -806,6 +811,8 @@ echo " --disable-blobs disable installing
>> provided firmware blobs"
>> echo " --kerneldir=PATH look for kernel includes in PATH"
>> echo " --enable-docs enable documentation build"
>> echo " --disable-docs disable documentation build"
>> +echo " --disable-vhost-net disable vhost-net acceleration support"
>> +echo " --enable-vhost-net enable vhost-net acceleration support"
>> echo ""
>> echo "NOTE: The object files are built at the place where configure is
>> launched"
>> exit 1
>> @@ -1498,6 +1505,32 @@ EOF
>> fi
>>
>> ##########################################
>> +# test for vhost net
>> +
>> +if test "$vhost_net" != "no"; then
>> + if test "$kvm" != "no"; then
>> + cat> $TMPC<<EOF
>> + #include<linux/vhost.h>
>> + int main(void) { return 0; }
>> +EOF
>> + if compile_prog "$kvm_cflags" "" ; then
>> + vhost_net=yes
>> + else
>> + if "$vhost_net" == "yes" ; then
>> + feature_not_found "vhost-net"
>> + fi
>> + vhost_net=no
>> + fi
>> + else
>> + if "$vhost_net" == "yes" ; then
>> + echo -e "NOTE: vhost-net feature requires KVM
>> (--enable-kvm)."
>> + feature_not_found "vhost-net"
>> + fi
>>
>
> The indent is quite a bit off here but more importantly, if "$vhost_net"
> == "yes" is not a valid shell command. Instead, it ought to be:
>
> if test "$vhost_net" = "yes" ; then
>
> And likewise for the earlier check. I'll fold this fix into your series
> unless you'd like to respin for some reason.
So you fixed this yourself? Sure, thanks a lot!
> Regards,
>
> Anthony Liguori+ cpu_physical_memory_set_dirty(addr + bit * VHOST_LOG_PAGE);
Cool new sig.
--
MST
- [Qemu-devel] [PATCHv6 02/11] kvm: add API to set ioeventfd, (continued)
- [Qemu-devel] [PATCHv6 02/11] kvm: add API to set ioeventfd, Michael S. Tsirkin, 2010/03/17
- [Qemu-devel] [PATCHv6 09/11] tap: add vhost/vhostfd options, Michael S. Tsirkin, 2010/03/17
- [Qemu-devel] [PATCHv6 11/11] virtio-net: vhost net support, Michael S. Tsirkin, 2010/03/17
- [Qemu-devel] [PATCHv6 10/11] tap: add API to retrieve vhost net header, Michael S. Tsirkin, 2010/03/17
- [Qemu-devel] [PATCHv6 04/11] virtio: notifier support + APIs for queue fields, Michael S. Tsirkin, 2010/03/17
- [Qemu-devel] [PATCHv6 03/11] notifier: event notifier implementation, Michael S. Tsirkin, 2010/03/17
- [Qemu-devel] [PATCHv6 05/11] virtio: add set_status callback, Michael S. Tsirkin, 2010/03/17
- [Qemu-devel] [PATCHv6 07/11] virtio-pci: fill in notifier support, Michael S. Tsirkin, 2010/03/17
- [Qemu-devel] [PATCHv6 08/11] vhost: vhost net support, Michael S. Tsirkin, 2010/03/17
- [Qemu-devel] [PATCHv6 06/11] virtio: move typedef to qemu-common, Michael S. Tsirkin, 2010/03/17