【】SRIOV:智能网卡就靠它了!( 三 )
------------------------------------------------------------------------------
Deep Dive
HW Blocks for virtio Full HW offloading
在一般的情况下 , 厂家的网卡PF创建VF的时候都使用自己专用的ring layout , 但是在virtio full HW offloading中使用virtio的 ring layout 。
文章图片
文章图片
HW Blocks for virtio Full HW offloading
文章图片
文章图片
对于Full HW offloading的网卡 , 都要使用vfio-pci的kernel驱动进行virtio full hw offloading的设备访问 , 在Host和Guest中都一样 。
下面的Full pciture , 可以看出来数据通路和控制通路的区别 。
文章图片
文章图片
来讨论一下网卡如何访问Guest的应用的queue 。网卡和Guest 之间的内存映射应该先建立 , 然后才能DMA 。为了建立DMA的mapping , guest的PMD的驱动使用ioctl命令去配置DMA和vfio 。这个时候 , iommu主要是映射 GIOVA到GPA之后 , vIOMMU会把GPA翻译成HVAGuest这边就建立了GIOVA到HVA的映射同样 , 在host side , VFIO建立了GIOVA到HPA的映射网卡开始使用GIOVA , 这样它就可以访问到guest application使用的HPA 。一旦我们设置了guest应用的virtqueue , HW就可以直接去访问它们 。
对于控制路径:virtio-net-pmd和guest kernel的VFIO通信 。Guest的VFIO和vfio-pci交互Guest kernel的vfio-pci驱动和QEMU的vfio设备通过虚拟的PCIE bus交互 。QEMU的vfio设备访问host kernel的VFIO (通过ioctl)Host kernel的VFIO和host kernel的vfio-pci交互 。Host kernel vfio-pci和真正的物理网卡交互 。
这个要求数据和控制路径都全部卸载到硬件 。这个需要网卡厂家完全在网卡中实现virtio的全部协议 , 一般是通过一个标准的接口如PCIE 。但是 , 一般来讲 , 每个厂家肯定有不同的实现机制 。
对于live migration , 仅仅实现了virtio的协议是不够的 , 比如dirty pages的tracking , 这个需要网卡和QEMU的API之间进行协作 。在Virtio的1.1的标准中 , 并没有这方面的定义 。
这里多说一下 , 对于一个PCIE设备进行live migration ,一般的需要处理的内容如下:在Guest中通过ioMMUtracking 脏页内存 。统一的VF和半虚拟化的驱动 。处理Guest和Host之间的IO共享内存 。Doorbell以及对应的PCIE寄存器和中断的映射 。
因此 , 如果你可以实现对这些内容的处理和监控 , 从Guest OS来看 , 你是不是个Virtio设备并不重要 。
vDPA
和前面的Full HW offloading对比 , vDPA就是可以使用一个厂家自定义的控制路径 , 但是在Guest面前又是一个标准的virtio设备 。因此就需要一个在网卡私有控制和virtio之间的翻译 。
这里就引入了一个新机制 , mdev ,mediator device可以实现设备的仿真(软件虚拟化)和设备的中介(软件和硬件虚拟化) 。它可以在一个物理设备上暴露出多个虚拟设备 。mdev最早是用在GPU的虚拟化的场景 。Intel增加它对IOMMU的支持 。[6]
文章图片
文章图片
本质上 , vDPA在数据路径还是全部使用HW , 但是在控制路径上使用mdev的机制进行设备仿真 。
推荐阅读
- 『小胖说科技』便携、清晰、高亮度,明基E520无线智能投影仪评测
- 【智能家居专家V】轻、快、好,满足这三个字的手机你找到了吗?
- 「运动」让运动更自由,苏宁小Biu智能耳机助你一路前行
- 牡丹江涂鸦智能■智能家居语音控制系统
- 实体@带你一起读《智能社会》:序言前言如果我们允许“如果”后记
- 「智能」360智能家用AI摄像机评测,2K高清夜视仪,360°全彩监控
- 功能:能解决孩子的学习问题吗?牛听听儿童智能熏教机体验!
- 「黑猫科技论」360智能家用AI摄像机评测,2K高清夜视仪,360°全彩监控
- 『弱电智能邦』关于VGA、DVI、HDMI的几点误解和区别
- [科技来客]让运动更自由,苏宁小Biu智能耳机助你一路前行
