STRUCT HL_INFO_CS_COUNTERS(9)
π struct hl_info_cs_counters(9) β like, the whole vibe β¨
okay bestie, welcome to the Kernel API Manual β yes it's a kernel API manual, yes we're gonna make it cute, and yes every single fact is staying right where it is π«Ά
πΈ NAME πΈ
struct hl_info_cs_counters β command submission counters. that's it, that's the struct. it counts the command submissions that got dropped π
π SYNOPSIS π
here's the whole thing, literally character for character, don't touch it:
struct hl_info_cs_counters {
__u64 total_out_of_mem_drop_cnt;
__u64 ctx_out_of_mem_drop_cnt;
__u64 total_parsing_drop_cnt;
__u64 ctx_parsing_drop_cnt;
__u64 total_queue_full_drop_cnt;
__u64 ctx_queue_full_drop_cnt;
__u64 total_device_in_reset_drop_cnt;
__u64 ctx_device_in_reset_drop_cnt;
__u64 total_max_cs_in_flight_drop_cnt;
__u64 ctx_max_cs_in_flight_drop_cnt;
__u64 total_validation_drop_cnt;
__u64 ctx_validation_drop_cnt;
};
twelve __u64 fields, six reasons, and you get both a total_ flavor and a ctx_ flavor for each one. iconic symmetry, honestly π
π¦ Members π¦
okay so here's the thing β every reason to drop a command submission comes in a duo: total_* is everything, all of it, and ctx_* is just your context. let's go down the list π§
total_out_of_mem_drop_cntβ the total count of stuff dropped because of a memory allocation issue π ripctx_out_of_mem_drop_cntβ the context-side drop count for that same memory allocation issuetotal_parsing_drop_cntβ total dropped because of an error in packet parsing π packets said noctx_parsing_drop_cntβ context dropped because of an error in packet parsingtotal_queue_full_drop_cntβ total dropped because the queue was full, bestie the queue said full πctx_queue_full_drop_cntβ context dropped because the queue was fulltotal_device_in_reset_drop_cntβ total dropped because the device was in reset πctx_device_in_reset_drop_cntβ context dropped because the device was in resettotal_max_cs_in_flight_drop_cntβ total dropped because of maximum CS in-flight π₯ too many CSes doing their little in-flight momentctx_max_cs_in_flight_drop_cntβ context dropped because of maximum CS in-flighttotal_validation_drop_cntβ total dropped because of a validation error β¨ nothing got past validation, nglctx_validation_drop_cntβ context dropped because of a validation error
lowkey obsessed with how tidy this is: six causes, twelve counters, no notes π
π SEE ALSO π
go read these next, they're all main characters fr fr:
- Kernel file
./include/uapi/drm/habanalabs_accel.henum hl_goya_dma_direction(9)enum hl_device_status(9)struct hl_info_hw_ip_info(9)struct hl_info_pci_counters(9)struct hl_info_clk_throttle(9)struct hl_info_energy(9)struct hl_open_stats_info(9)struct hl_power_info(9)struct hl_info_sync_manager(9)struct hl_info_last_err_open_dev_time(9)struct hl_info_cs_timeout_event(9)struct hl_info_razwi_event(9)struct hl_info_undefined_opcode_event(9)struct hl_info_hw_err_event(9)struct hl_info_fw_err_event(9)struct hl_info_engine_err_event(9)struct hl_info_dev_memalloc_page_sizes(9)struct hl_page_fault_info(9)struct hl_user_mapping(9)struct hl_info_args(9)
okay that's the whole page π it lives over in ./include/uapi/drm, and this little slice of documentation is dated October 2026 β so yeah, go off, future-person reading the struct hl_info_cs_counters(9) page. slay, mwah πβ¨
π¦ 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