01 Xe GPUVM 总览与设计动机

📅 2026/8/10 11:08:20
01 Xe GPUVM 总览与设计动机
系列:Xe 驱动中drm_gpuvm的实现分析深度定位:架构 + 关键路径。本篇为全系列导读。在 Linux DRM 专栏的第 8 章,我们详细分析了GPUVM的设计目的和设计参考。而最早实践GPUVM的是 Intel Xe 驱动,本系列以Xe实现为蓝本,看下GPUVM的工程化应用。1. 为什么需要drm_gpuvm现代 GPU 驱动都要维护一套GPU 虚拟地址空间(GPU VA space):把用户的 buffer object(BO)或用户指针(userptr)映射到 GPU 可见的虚拟地址,并在需要时拆分、合并、换出、重绑定这些映射。这套逻辑里有大量与硬件无关的通用部分:VA 区间的有序管理(区间树 / 红黑树)与查找;一次MAP落在已有映射上时的split / merge(把旧映射拆成"前段 + 新段 + 后段");一个 BO 被多个 VM 共享、一个 VM 拥有多个"外部 BO"的多对多关系管理;BO 被 TTM 换出(evict)后,记录哪些 VMA 需要重新驻留与