zoukankan      html  css  js  c++  java
  • [qemu] 在前端驱动使用virtio的情况下,如何让后端使用vhost-user [未解决]

    首先,如果你更关心原理和知识,请读读这个 http://chuansong.me/n/2186528 (值得细细的逐字读)。

    在<<深入浅出dpdk>>中提到,vhost-user(用户态驱动)配合前端virtio(这就是传说中的半虚拟化)性能最佳。

    我们的目标是:qemu如何使用vhost-user

    一,man qemu

    其中涉及到的一个名称MSIX(https://en.wikipedia.org/wiki/Message_Signaled_Interrupts)(没细看,简单的说就是PCIE很牛逼的中断 特性/技术)。

    二,在man中,我们找到了这个例子

     qemu -m 512 -object memory-backend-file,id=mem,size=512M,mem-path=/hugetlbfs,share=on 
                       -numa node,memdev=mem 
                       -chardev socket,path=/path/to/socket 
                       -netdev type=vhost-user,id=net0,chardev=chr0 
                       -device virtio-net-pci,netdev=net0

    根据以上的例子猜测这个原理是这样的:host有一个net0,然后通过pci设备把net0注册给了guest里的pci网卡设备。他们在host的操作系统层面上是通过socket也就是chr0进行进程间通讯的(通讯的两个进程分别是qemu程序和用户态网卡驱动)。除了通讯呢,还与数据交换,这个交换通过hugepage完成,这个hugepage实际上是host层面上的,所以需要在host里设置hugepage然后给guest使用。

    基于猜测,可以分成,内存和网卡两个部分分别对这个想法进行印证。

    三,网卡部分

    我们已dpdk虚拟机作为实验的对象(又是他,倒霉的虚拟机小d  - -!)

    [tong@T7 dpdk]$ qemu-system-x86_64 -chardev socket,id=chr0,path=./sock,server
    QEMU waiting for connection on: disconnected:unix:./sock,server
    qemu-system-x86_64 -enable-kvm 
            -m 2G -cpu Nehalem -smp cores=2,threads=2,sockets=2 
            -numa node,mem=1G,cpus=0-3,nodeid=0 
            -numa node,mem=1G,cpus=4-7,nodeid=1 
            -drive file=disk.img,if=virtio 
            -chardev socket,id=chr0,path=./sock 
            -netdev vhost-user,id=net0,chardev=chr0 
            -device virtio-net-pci,netdev=net0 
             &

    命令都不对,始终不能成功,本地socket要等待链接才能继续。最终想了办法如上操作,结果第一个命令的qemu启动了,第二个却没有启动。

     悬而未决,现不弄了。。。

  • 相关阅读:
    AS将一个项目导入到另一个项目中
    Android Studio出现:Cause: unable to find valid certification path to requested target
    小米手机Toast带app名称
    PopupWindow 点击外部区域无法关闭的问题
    EditText inputType类型整理
    Fragment通过接口回调向父Activity传值
    Android selector一些坑
    Installation failed with message Failed to commit install session 634765663 with command cmd package
    旷视上海研究院机器人方向招聘
    语义SLAM的数据关联和语义定位(四)多目标测量概率模型
  • 原文地址:https://www.cnblogs.com/hugetong/p/5904799.html
Copyright © 2011-2022 走看看