STRUCT DRM_XE_QUERY_EU_STALL(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct drm_xe_query_eu_stall(9) β€” Kernel API Manual

okay so bestie, we're in the Linux kernel API manual, section 9, and today's main character is struct drm_xe_query_eu_stall. it's giving "tell me everything about EU stall sampling" and honestly? iconic. ✨


🌸 NAME

struct drm_xe_query_eu_stall β€” information about EU stall sampling. that's it, that's the vibe. πŸŽ€


✨ SYNOPSIS

struct drm_xe_query_eu_stall {
    __u64 extensions;
    __u64 capabilities;
  #define DRM_XE_EU_STALL_CAPS_BASE               (1 << 0);
    __u64 record_size;
    __u64 per_xecore_buf_size;
    __u64 reserved[5];
    __u64 num_sampling_rates;
    __u64 sampling_rates[];
};

like, look at her. the flexible array at the end? we stan a variable-length queen. πŸ‘‘


🫢 Members

  • extensions β€” pointer to the first extension struct, if any. it's the "if you wanna add extra stuff later, this is your door" field. πŸšͺ
  • capabilities β€” the EU stall capabilities bit-mask, fr fr. this is where the flags live.
  • record_size β€” the size of each EU stall data record. yes, exactly that. no cap. πŸ“
  • per_xecore_buf_size β€” internal per XeCore buffer size. internal! so don't get too comfy with it. πŸ™ˆ
  • reserved β€” reserved. that's reserved-reserved, not reserved-for-you. hands off bestie. πŸ’€
  • num_sampling_rates β€” number of sampling rates in the sampling_rates array. she's the count, she's the leader. πŸ”’
  • sampling_rates β€” flexible array of sampling rates sorted in the fastest to slowest order. and the units? GPU clock cycles, periodt. so fastest first, slowest last β€” no chaotic unsorted energy here. ⚑
also, heads up: there's a macro hanging out in the synopsis β€” DRM_XE_EU_STALL_CAPS_BASE is defined as (1 << 0); and it's the base bit for those capabilities. 🌈

πŸ¦‹ Description

here's the tea: if you make a query with a struct drm_xe_device_query where .query is equal to DRM_XE_DEVICE_QUERY_EU_STALL, then the reply uses struct drm_xe_query_eu_stall in .data. that's the whole deal. query goes in, this struct comes out. slay. πŸ’–


πŸ”₯ SEE ALSO

so many siblings, she's literally from a huge family. all of these, exactly as written:

Kernel file ./include/uapi/drm/xe_drm.h, Xe Device Block Diagram(9), Xe uAPI Overview(9), Xe IOCTL Extensions(9), struct drm_xe_user_extension(9), struct drm_xe_ext_set_property(9), struct drm_xe_engine_class_instance(9), struct drm_xe_engine(9), struct drm_xe_query_engines(9), enum drm_xe_memory_class(9), struct drm_xe_mem_region(9), struct drm_xe_query_mem_regions(9), struct drm_xe_query_config(9), struct drm_xe_gt(9), struct drm_xe_query_gt_list(9), struct drm_xe_query_topology_mask(9), struct drm_xe_query_engine_cycles(9), struct drm_xe_query_uc_fw_version(9), struct drm_xe_query_pxp_status(9), struct drm_xe_device_query(9), struct drm_xe_gem_create(9), struct drm_xe_gem_mmap_offset(9), struct drm_xe_vm_create(9), struct drm_xe_vm_destroy(9), struct drm_xe_vm_bind_op(9), struct drm_xe_vm_bind(9), struct drm_xe_vm_get_property(9), struct drm_xe_exec_queue_create(9), struct drm_xe_exec_queue_destroy(9), struct drm_xe_exec_queue_get_property(9), struct drm_xe_sync(9), struct drm_xe_exec(9), struct drm_xe_wait_user_fence(9), enum drm_xe_observation_type(9), enum drm_xe_observation_op(9), struct drm_xe_observation_param(9), enum drm_xe_observation_ioctls(9), enum drm_xe_oa_unit_type(9), struct drm_xe_oa_unit(9), struct drm_xe_query_oa_units(9), enum drm_xe_oa_format_type(9), enum drm_xe_oa_property_id(9), struct drm_xe_oa_config(9), struct drm_xe_oa_stream_status(9), struct drm_xe_oa_stream_info(9), enum drm_xe_pxp_session_type(9), enum drm_xe_eu_stall_property_id(9), struct drm_xe_madvise(9), struct drm_xe_mem_range_attr(9), struct drm_xe_vm_query_mem_range_attr(9), struct drm_xe_exec_queue_set_property(9), Xe DRM RAS(9), enum drm_xe_ras_error_severity(9), enum drm_xe_ras_error_component(9).

like I said. huge family. read the whole group chat, iykyk. 🧚


and that's the page, bestie!! πŸŽ€ this one came from the source file ./include/uapi/drm and it's dated October 2026 β€” so yeah, she's from the future, we love a forward-thinking icon. mwah, go read your kernel headers. πŸ’œβœ¨

πŸ“¦ where this page comes from