前一篇文章AMD KFD ioctls分析 5-1: user queue讲了下user queue的概念和对外数据结构,本文重点说一下queue创建的内部实现。
1. 用户态核心数据结构
struct queue {
uint32_t queue_id; // 队列ID,由内核分配
uint64_t wptr; // 写指针,应用写入
uint64_t rptr; // 读指针,GPU固件更新
void *eop_buffer; // EOP缓冲区,存放End-of-Pipe信号
void *ctx_save_restore; // 上下文保存/恢复区
uint32_t ctx_save_restore_size;
uint32_t ctl_stack_size;
uint32_t debug_memory_size;
uint32_t eop_buffer_size;
uint32_t total_mem_alloc_size;
uint32_t gfxv; // GFX版本
bool use_ats; // 是否使用ATS(Address Translation Services)
订阅专栏 解锁全文
6945

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



