码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • qemu sriov


    GitHub - knuto/qemu: See the Wiki page below for details about the SR/IOV patch set

    qemu模拟PCIe SRIOV设备 - 知乎

    **注:SR/IOV补丁集现在是v.7.1.0中QEMU的一个组成部分**

    See git://git.qemu.org/qemu.git for the official master project.

    SR/IOV仿真修补程序(现在是上游)
    作者已经实现了一组补丁程序来模拟虚拟机中的SR/IOV。这个补丁集应该是完全功能的,但在QEMU中缺少一个完全实现的示例设备。很明显,作者已经在他的设备模型上测试并广泛使用了它,该模型的格式不适合QEMU(目前),其他人也知道已经使用了补丁集并使用了它。
    sriov_patches_v14分支中提供了此修补程序集的最新版本。

    使用示例
    感谢Łukasz Gieryk的工作lukasz.gieryk@linux.intel.com现在有一个使用上游QEMU中的SR/IOV补丁的NVME Express设备的工作示例。你可以得到一个简单的,最多3个VFS在你的虚拟机中使用,使用以下参数:

    1. qemu-kvm -M q35 \
    2. ...
    3. -device nvme-subsys,id=subsys0 \
    4. -device nvme,id=nvme0,bus=pcie.0,addr=4.0,serial=deadbead,subsys=subsys0,sriov_max_vfs=3,sriov_vq_flexible=6,sriov_vi_flexible=3

    除了实际的SR/IOV仿真支持补丁之外,作者早期还编写了一些非常不完整的示例代码,以说明如何使用这些补丁。这个示例代码“模拟”了一个基于QEMU中e1000e实现的igb以太网设备。此代码是sriov_patches_v14中的最终提交

    在v6中,这些修补程序在一定程度上可以演示修补程序集,但这还不算是一个有效的设备。

    使用igb设备尝试SR/IOV代码
    在任何带有igb驱动程序的Linux内核上,igb驱动将检测仿真设备并尽可能启用中断,因为实现只是部分的,所以这是不起作用的。
    作者一直在使用通用的Qemu根端口来测试设备,例如,从以下内容开始

    1. qemu-kvm -M q35 \
    2. ...
    3. -device pcie-root-port,slot=2,id=pcie_port.2 \
    4. -device igb,bus=pcie_port.2

    后面还有一些igb的例子;

    1.lspci可以看到pf设备

    2.使能sriov

    rmmod igb modprobe igb max_vfs=2

    3.lspci可以看到多了两个vf设备

    1. 03:10.0 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)
    2. 03:10.2 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01)

    4.echo 7 > /sys/bus/pci/devices/0000:03:00.0/sriov_numvfs

    通过这个命令,也可生成7个vf设备

    5.关闭vf

     echo 0 > /sys/bus/pci/devices/0000\:03\:00.0/sriov_numvfs
  • 相关阅读:
    学习小结,学而时习之,坚持学习之,温顾学习之
    学习C++第二十二课--类模版概念与函数模版的定义、调用笔记
    生产可运维的云原生本地存储系统 HwameiStor 入选 CNCF 全景图
    项目八认识函数
    [锁]:乐观锁与悲观锁
    wPDF v5支持并改进旋转文本的逻辑
    利用arcgis模拟制作水下地形
    自己动手写乞丐版线程池
    深入了解百度爬虫工作原理
    JS加密/解密之那些不为人知的基础逻辑运算符
  • 原文地址:https://blog.csdn.net/baidu_38316985/article/details/127866472
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号