1. queue创建全流程概览
接上文中的用户态创建流程,下图是内核的queue创建流程,后续按这个流程进行分析。
用户空间 ioctl
│
v
kfd_ioctl_create_queue
│
├─> 1. set_queue_properties_from_user()
│ 验证参数
├─> 2. kfd_process_device_by_id()
│ 查找设备数据
├─> 3. kfd_bind_process_to_device()
│ 绑定并激活设备
├─> 4. kfd_alloc_process_doorbells()
│ 分配 doorbell 池
├─> 5. kfd_queue_acquire_buffers()
│ 获取队列缓冲区
└─> 6. pqm_create_queue()
│
├─> init_user_queue()
│ - 初始化队列
│ - 分配 gang context (MES)
└─
订阅专栏 解锁全文

2392

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



