how to assign more that 31 VFs to one VM

2023-11-02 05:33
文章标签 31 vm one vfs assign

本文主要是介绍how to assign more that 31 VFs to one VM,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

how to assign more that 31 VFs to one VM

-v0.1 2017.3.11 Sherlock init
-v0.2 2017.4.5 Sherlock add PCIe switch picture

用QEMU模拟PCIe设备的时候,一般最多可以在系统中配置31个PCIe设备。比如,我们有这样
的QEMU启动参数配置:

       qemu-system-aarch64 \-machine virt,gic-version=3 \-enable-kvm \-cpu host \-m 1024 \-kernel ./Image \-initrd ./minifs.cpio.gz \-nographic \-net none \-device vfio-pci,host=0002:81:10.0,id=net0 \-device vfio-pci,host=0002:81:20.0,id=net1 \

上面的配置中,我们使用了host上的两个82599网卡的vf: 0002:81:10.0, 0002:81:20.0,
把它们直通到了guest上,可以看到这两个vf在guest上会直接连到pci bus 0上。按照同样
的方法,我们可以给一个虚拟机继续增加网口。但是这样的方式增加最多只能到31个vf[1]

这是因为PCIe中规定一条总线下最多只能接32个设备。

为了在一个虚拟机上接入更多的设备,我们可以接入一个PCIe switch,在switch的下游
端口上再接需要的PCIe设备。比如,我有可以如下启动一个QEMU虚拟机:

       qemu-system-aarch64 \-machine virt,gic-version=3 \-enable-kvm \-cpu host \-m 1024 \-kernel ./Image \-initrd ./minifs.cpio.gz \-nographic \-net none \-device ioh3420,id=root_port1 \-device x3130-upstream,id=upstream_port1,bus=root_port1 \-device xio3130-downstream,id=downstream_port1,bus=upstream_port1,chassis=1,slot=1 \-device xio3130-downstream,id=downstream_port2,bus=upstream_port1,chassis=1,slot=2 \-device xio3130-downstream,id=downstream_port3,bus=upstream_port1,chassis=1,slot=3 \-device xio3130-downstream,id=downstream_port4,bus=upstream_port1,chassis=1,slot=4 \-device xio3130-downstream,id=downstream_port5,bus=upstream_port1,chassis=1,slot=5 \-device vfio-pci,host=0002:81:10.0,id=net0,bus=downstream_port1 \-append 'console=ttyAMA0 root=/dev/vda2' \-nographic \

上面的命令行参数可以搭建一个如下图所示的PCIe switch

   pcie.0 bus--------------------------------------------------------------------------|-------------| Root Port1|--------------------------------------|-------------------------------------------|                 -----------------------------------------         ||    PCI Express  | Upstream Port1                        |         ||      Switch     -----------------------------------------         ||                  |            |                                   ||    -------------------    -------------------                     ||    | Downstream Port1|    | Downstream Port2|       ....          ||    -------------------    -------------------                     |-------------|-----------------------|-------------------------------------------                                                 | PCIe Dev | vfio-pci device------------

[1] Fix me: 为什么是31个不是32个?
[2] qemu/docs/pcie.txt

这篇关于how to assign more that 31 VFs to one VM的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/328472

相关文章

Linux 删除 当前下的 mysql-8.0.31 空文件夹

在Linux中,如果你想要删除当前目录下的名为mysql-8.0.31的空文件夹(即该文件夹内没有任何文件或子文件夹),你可以使用rmdir命令。但是,如果mysql-8.0.31文件夹并非完全为空(即它包含文件或子文件夹),rmdir命令会失败。 如果你的目标是删除mysql-8.0.31文件夹及其内部的所有内容(无论是否为空),你应该使用rm命令结合-r(或-R,它们是等价的)选项来递归地删

pytorch torch.nn.functional.one_hot函数介绍

torch.nn.functional.one_hot 是 PyTorch 中用于生成独热编码(one-hot encoding)张量的函数。独热编码是一种常用的编码方式,特别适用于分类任务或对离散的类别标签进行处理。该函数将整数张量的每个元素转换为一个独热向量。 函数签名 torch.nn.functional.one_hot(tensor, num_classes=-1) 参数 t

leetcode#66. Plus One

题目 Given a non-negative integer represented as a non-empty array of digits, plus one to the integer. You may assume the integer do not contain any leading zero, except the number 0 itself. The digi

LLVM IR指令VM混淆分析

未混淆编译  编写一个最简单的测试代码,对 test_add函数用于对两个数相加: int __attribute((__annotate__("vm"))) test_add(int a, int b) {int c = a + b;return c;}int main(void) {int c = test_add(1, 2);return c;} 编译成中间代码:  未加

Oracle VM VirtualBox 下 Ubuntu22 虚拟机配置双网络

初衷,希望在虚拟机里面配置两个网络。一个网络用来给虚拟机上互联网(浏览器,邮箱等)使用,一个网络用于虚拟机和宿主机通讯(静态IP) 1 VirtualBox 网络设置 2 宿主机网络配置 3 虚拟机内命令行配置 # 1 输入一下命令sudo vim /etc/netplan/01-network-manager-all.yaml #2 抄写如下代码过去# Let Ne

尝试用java spring boot+VUE3实现前后端分离部署(8/31)

前言         这几天开学了,公司这边几个和学校对接的项目都挺忙的,然后我又开始有点闲的情况了。问大佬能不能继续看看若依的项目,大佬让我自己去学了。在看若依的项目的时候在想,python的FLASK后端实现和JAVA spring boot的实现差别大不大,两者实现的思路估计大差不差,那具体的代码逻辑和代码实现又有多大差别,java面向对象的编程思想又是怎么体现的。这些想法迫使我将原来使用

[C/C++入门][进制原理]31、求分数序列和

题目来自于信息学奥赛 1078 分析: 这道题看起来比较复杂,实际上只需要通过两个公式,一次性求出分母和分子,然后把这个求出来的数加入到变量和中。甚至都不需要知道总共游哪些数。数组都用不上。循环就能解决。 #include <iostream>#include <iomanip> // 用于格式化输出using namespace std;int main() {double s

“弹性盒子”一维布局系统(补充)——WEB开发系列31

弹性盒子是一种一维布局方法,用于根据行或列排列元素。元素可以扩展以填补多余的空间,或者缩小以适应较小的空间,为容器中的子元素提供灵活的且一致的布局方式。 一、什么是弹性盒子? CSS 弹性盒子(Flexible Box Layout,简称 Flexbox)是 CSS3 中引入的一种布局模式,提供一种有效的方式来布局、对齐和分配容器内空间,特别是在动态和复杂的应用界面中。 1、

One-Shot Imitation Learning

发表时间:NIPS2017 论文链接:https://readpaper.com/pdf-annotate/note?pdfId=4557560538297540609&noteId=2424799047081637376 作者单位:Berkeley AI Research Lab, Work done while at OpenAI Yan Duan†§ , Marcin Andrychow

One-Shot Imitation Learning with Invariance Matching for Robotic Manipulation

发表时间:5 Jun 2024 论文链接:https://readpaper.com/pdf-annotate/note?pdfId=2408639872513958656&noteId=2408640378699078912 作者单位:Rutgers University Motivation:学习一个通用的policy,可以执行一组不同的操作任务,是机器人技术中一个有前途的新方向。然而,