5.5 userptr BO(system ram里的bo)的内存分配分析

发布时间:2026/9/8 23:13:55
5.5 userptr BO(system ram里的bo)的内存分配分析 1. 概述本节详细分析 AMD GPU 驱动中 KFD 子系统对用户态指针 (userptr) 内存的处理机制。当应用程序通过KFD_IOC_ALLOC_MEM_FLAGS_USERPTR标志分配内存时,驱动需要将用户空间已分配的内存映射到 GPU 地址空间,使 GPU 能够直接访问用户态分配的内存。这里先把“GPU 要访问这个 BO”作为需求放入脑海中,这是理解该类型 BO 会有哪些操作的原因。1.1 核心函数入口函数:kfd_ioctl_alloc_memory_of_gpu()(kfd_chardev.c)核心实现:amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu()(amdgpu_amdkfd_gpuvm.c)页面初始化:init_user_pages()(amdgpu_amdkfd_gpuvm.c)2. 用户态接口处理流程文章:AMD rocr-libhsakmt 分析系列6-1: userptr 的 register 实