I/O 虚拟化技术 — VFIO

Posted 范桂飓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了I/O 虚拟化技术 — VFIO相关的知识,希望对你有一定的参考价值。

目录

文章目录

VFIO — VNF/CNF 的用户态网络协议栈方案

  • UIO 的作用是支持用户态网络协议栈,问题是不支持 DMA。
  • IOMMU 的作用是支持 DMA Remapping 功能,问题是无法让多个 PCI 设备互相访问。

VFIO(Virtual Function I/O)就是 UIO 和 IOMMU 的升级版,兼顾两者的优点,实现了:

  1. 在 User Space 配置 IOMMU interface,继而可以将 DMA 地址空间映射限制在用户态进程的虚拟空间中。从而解决了 UIO 不支持 DMA 的问题。
  2. Passthrough 的最小单元不再是某个单独的 PCI 设备,而是分布在同一个 IOMMU Group 的所有 PCI 设备;

2012 年,随着 Linux Kernel 引入了 VFIO 模块,以及 Device Passthrough 技术的成熟,GPU 虚拟化之路正式开启。次年,VFIO 模块的社区维护者在 KVM Forum 上正式发布了 VGA(图像显示卡)的 Assignment(https://www.linux-kvm.org/images/e/ed/Kvm-forum-2013-VFIO-VGA.

以上是关于I/O 虚拟化技术 — VFIO的主要内容,如果未能解决你的问题,请参考以下文章

Linux 操作系统原理 — 网络 I/O 虚拟化

VFIO PF SRIOV IOMMU UIO概念解释关联

VFIO简介

I/O 虚拟化技术 — UIO Framework

I/O复用机制概述

处理器虚拟化——VMX