STRUCT HL_INFO_CS_COUNTERS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 😭 rip
  • ctx_out_of_mem_drop_cnt β€” the context-side drop count for that same memory allocation issue
  • total_parsing_drop_cnt β€” total dropped because of an error in packet parsing πŸ™ˆ packets said no
  • ctx_parsing_drop_cnt β€” context dropped because of an error in packet parsing
  • total_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 full
  • total_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 reset
  • total_max_cs_in_flight_drop_cnt β€” total dropped because of maximum CS in-flight πŸ”₯ too many CSes doing their little in-flight moment
  • ctx_max_cs_in_flight_drop_cnt β€” context dropped because of maximum CS in-flight
  • total_validation_drop_cnt β€” total dropped because of a validation error ✨ nothing got past validation, ngl
  • ctx_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.h enum
  • 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