VFIO框架源码分析(四)- VFIO-MDEV设备虚拟化的新篇章
引言与整体框架
我们之前讨论的 vfio-pci 实现了设备的物理直通,它功能强大但存在一个核心限制:独占性。一个物理设备一旦被分配给一个虚拟机,其他虚拟机或宿主机便无法再使用它。为了解决这一问题,内核引入了MDEV(Mediated Device)框架。MDEV 是一种设备虚拟化技术,允许一个物理设备(Parent Device)被“分割”成多个独立的虚拟设备(Mediated Devices),这些虚拟设备可以被独立地分配给不同的虚拟机,从而实现单张物理卡(如GPU、FPGA)的多用户共享。
vfio-mdev 模块正是连接通用 MDEV 框架与 VFIO 体系的桥梁。本文将深入解析MDEV的核心机制以及 vfio-mdev 驱动如何将一个被虚拟出来的 mdev 设备封装成标准的 vfio_device,最终呈现给用户空间。
核心分析:MDEV框架与VFIO驱动的双层结构
vfio-mdev 的实现依赖于两个协同工作的核心组件:通用的 MDEV 框架和专用的 vfio-mdev 驱动。

- MDEV核心框架 (
mdev_init):
此框架独立于VFIO,提供了一套通用的、用于创建和管理虚拟设备的基础设施。它的初始化过程主要完成:

最低0.47元/天 解锁文章
1837

被折叠的 条评论
为什么被折叠?



