
Reviewed-by: Kai Deng <dengkai1@huawei.com> -----邮件原件----- 发件人: Jiangyifei 发送时间: 2020年8月25日 19:30 收件人: Xiexiuqi <xiexiuqi@huawei.com>; Guohanjun (Hanjun Guo) <guohanjun@huawei.com> 抄送: Zhanghailiang <zhang.zhanghailiang@huawei.com>; kernel.openeuler <kernel.openeuler@huawei.com>; kernel@openeuler.org; Chenzhendong (alex) <alex.chen@huawei.com>; dengkai (A) <dengkai1@huawei.com>; Zhangxiaofeng (F) <victor.zhangxiaofeng@huawei.com> 主题: [PATCH 0/2] Add risc-v vhost-net support euleros inclusion category: feature bugzilla: NA CVE: NA These two patches enable the support for vhost-net on RISC-V architecture. The following two steps are performed to run a vm with vhost-net: 1. create virbr0 on riscv64 emulation $ brctl addbr virbr0 $ brctl stp virbr0 on $ ifconfig virbr0 up $ ifconfig virbr0 virbr0_ip netmask 255.255.255.0 2. boot a riscv64 guest OS on riscv64 emulation $ ./qemu-system-riscv64 -M virt,accel=kvm -m 1024M -cpu host -nographic \ -name guest=riscv-guest \ -smp 2 \ -kernel ./Image \ -drive file=./guest.img,format=raw,id=hd0 \ -device virtio-blk,drive=hd0 \ -netdev type=tap,vhost=on,script=./ifup.sh,downscript=./ifdown.sh,id=net0 \ -append "root=/dev/vda rw console=ttyS0 earlycon=sbi" $ cat ifup.sh #!/bin/sh brctl addif virbr0 $1 ifconfig $1 up $ cat ifdown.sh #!/bin/sh ifconfig $1 down brctl delif virbr0 $1 This brenchmark netperf is used to test the performance of vhost-net and virtio-net. The results are as follow: $ ./netperf -H virbr0_ip -l 100 -t TCP_STREAM vhost-net: Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 131072 16384 16384 100.06 521.62 virtio-net: Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 131072 16384 16384 292.86 292.86 Link: https://gitee.com/openeuler/kernel/issues/I1SQJ2 Yifei Jiang (2): RISC-V: KVM: enable ioeventfd capability RISC-V: KVM: kernel mmio read/write support arch/riscv/kvm/Kconfig | 2 ++ arch/riscv/kvm/Makefile | 2 +- arch/riscv/kvm/vcpu_exit.c | 28 ++++++++++++++++++++++++++-- arch/riscv/kvm/vm.c | 1 + 4 files changed, 30 insertions(+), 3 deletions(-) -- 2.19.1