PCIe中ACS知识小记

在这里插入图片描述

简单了解PCIe ACS与IOMMU group

ACS: Access control Services。ACS是PCIe修正标准加入的控制位,其旨在解决PCIe设备在虚拟化下无法安全隔离的进行P2P的问题。它的加入使得PCIe设备可以跟物理机一样进行Peer2Peer的访问,当然这是从虚拟机内部看到的效果。如果没有ACS,那么你的P2P程序将在虚拟化下无法运行。
而“支持P2P”与完美支持P2P是两个概念。从上个session的数据我们也看到了,GPU在虚拟机下的App是可以运行P2P功能的,但是其带宽却是物理机正常情况下的一半都不到。
ACS的control位在hypervisor层开启,并影响到PCIe的TLP的路由。一旦设备开启了ACS,那么这个设备的PCIe数据包都会强制走其upstream port,最终走到CPU的root complex。所以开启了ACS control以后,在物理层面,其实就是禁止了任何PCIe endpoint之间的物理P2P连接。因为所有的数据都会强制到RC中转并再次下发。
ACS 与IOMMU group:IOMMU group是一个最小可以assign同一个VM的单元。比如有两个GPU设备在同一个PCIe Switch下面,如果Switch与这两个GPU设备都不支持ACS control的话(没有这个control bit)那么这两个GPUs必须同时assign给同一个VM,或者其中一个assign给VM,另外一个必须在host端禁用。
为什么这两个GPU必须同时assign给同一个VM呢? 因为从VM的角度来看&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏天Aileft

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值