STRUCT DEVICE_QUEUE_MANAGER(9)
π NAME π
struct device_queue_manager β bestie, the NAME line is literally blank in the original, no cap. It's the struct and that's the whole vibe β¨
(this page is from the Kernel API Manual, and yes it's struct device_queue_manager(9) β section 9, kernel API, we're fancy like that π)
β¨ SYNOPSIS β¨
okay so here's the whole struct, copied exactly, character for character, do not touch π
struct device_queue_manager {
struct device_queue_manager_ops ops;
struct device_queue_manager_asic_ops asic_ops;
struct mqd_manager *mqd_mgrs[KFD_MQD_TYPE_MAX];
struct packet_manager packet_mgr;
struct kfd_node *dev;
struct mutex lock_hidden;
struct list_head queues;
unsigned int saved_flags;
unsigned int processes_count;
unsigned int active_queue_count;
unsigned int active_cp_queue_count;
unsigned int gws_queue_count;
unsigned int total_queue_count;
unsigned int next_pipe_to_allocate;
unsigned int *allocated_queues;
unsigned long sdma_bitmap[BITS_TO_LONGS( KFD_MAX_SDMA_QUEUES)];
unsigned long xgmi_sdma_bitmap[BITS_TO_LONGS( KFD_MAX_SDMA_QUEUES)];
uint16_t vmid_pasid[VMID_NUM];
uint64_t pipelines_addr;
uint64_t fence_gpu_addr;
uint64_t *fence_addr;
struct kfd_mem_obj *fence_mem;
bool active_runlist;
int sched_policy;
uint32_t trap_debug_vmid;
bool is_hws_hang;
bool is_resetting;
struct kfd_mem_obj hiq_sdma_mqd;
bool sched_running;
bool sched_halt;
uint32_t current_logical_xcc_start;
uint32_t wait_times;
wait_queue_head_t destroy_wait;
struct dqm_detect_hang_info *detect_hang_info;
size_t detect_hang_info_size;
int detect_hang_count;
u32 *hung_db_array;
struct amdgpu_mes_hung_queue_hqd_info *hqd_info;
};
πΈ DESCRIPTION πΈ
Members
so the "Members" bit of the original page is just the heading before the good stuff β the members are the fields listed up there in the synopsis, and ngl the looooong list is right there for you to scroll back to π₯ (also no per-field blurbs in the source, so I'm not gonna make any up β iykyk π)
Description
okay bestie, here's the tea, and it's genuinely iconic:
This struct is a base class for the kfd queues scheduler in the device level. π«Ά
The device base class should expose the basic operations for queue creation and queue destruction.
This base class hides the scheduling mode of the driver and the specific implementation of the concrete device. β¨ (so it's giving mystery, main character energy, all the messy details stay backstage π)
This class is the only class in the queues scheduler that configures the H/W. π
fr fr read that again β only class in the queues scheduler that configures the H/W. That's a lot of responsibility for one struct, and she's carrying it beautifully π
π¦ SEE ALSO π¦
- Kernel file
./drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h struct device_queue_manager_ops(9)
β and that's the whole page, bestie, you ate that π
π little sign-off: this cutie lives at ./drivers/gpu/drm/amd/amdkfd, dated October 2026, and it's struct device_queue_manager(9) β go be obsessed, periodt ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms