AMD rocr-libhsakmt分析系列8-3: queue内核实现

KFD 队列的基本概念

queue 是用户空间与 GPU 之间的主要通信桥梁。每个 queue 代表一条命令流(如 kernel launch、memory copy 等),由用户空间分配和管理 ring buffer,内核负责资源分配、调度、异常处理等。KFD 支持多种类型的队列,包括计算队列(compute)、DMA 队列(SDMA)、高优先级队列(HIQ)、调试队列(DIQ)等。

核心数据结构

1. struct queue_properties

queue_properties 是描述单个队列所有关键属性的结构体,定义于 kfd_priv.h。其主要字段和功能如下:

struct queue_properties {
	enum kfd_queue_type type;
	enum kfd_queue_format format;
	unsigned int queue_id;
	uint64_t queue_address;
	uint64_t  queue_size;
	uint32_t priority;
	uint32_t queue_percent;
	void __user *read_ptr;
	void __user *write_ptr;
	void __iomem *doorbell_ptr;
	uint32_t doorbell_off;
	bool is_interop;
	bool is_evicted;
	bool is_suspended;
	bool is_being_destroyed;
	bool is_a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DeeplyMind

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值