STRUCT DRM_V3D_PERFMON_SET_GLOBAL(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

ok so bestie, welcome to struct drm_v3d_perfmon_set_global β€” this is the ioctl you use to define a global performance monitor. that's it, that's the whole vibe ✨

oh and hey, you're reading the Kernel API Manual rn β€” welcome to the group chat 🫢


✨ SYNOPSIS ✨

struct drm_v3d_perfmon_set_global {
    __u32 flags;
    __u32 id;
 };

bestie look at it. two little fields. immaculate. no cap πŸŽ€


🌸 Members 🌸

ok so this section on the original page is literally just the heading and nothing else β€” no members listed, no notes, just vibes and open space πŸ’€ i'm not gonna make stuff up for you, so consider this your official "the page says nothing here" moment. go read the DESCRIPTION, that's where the actual tea is πŸ“


πŸ‘‘ DESCRIPTION πŸ‘‘

ok so the tea: once you define a global performance monitor, it gets used for all jobs. every single one. main character monitor energy fr fr πŸ‘‘

and here's the part you actually need to remember, bestie, because it's a real gotcha: if a global performance monitor is defined, then jobs that bring their own self-defined performance monitor won't be allowed. not "discouraged", not "mildly frowned upon" β€” not allowed. periodt. πŸ’…

so like... pick one? global monitor OR per-job self-defined monitors. the kernel is not doing both for you and it is not asking twice 🫢

πŸ”₯ SEE ALSO πŸ”₯

go be nosy, the whole family is here:

  • the kernel file ./include/uapi/drm/v3d_drm.h β€” that's where the source of truth lives
  • struct drm_v3d_multi_sync(9)
  • struct drm_v3d_submit_cl(9)
  • struct drm_v3d_wait_bo(9)
  • struct drm_v3d_create_bo(9)
  • struct drm_v3d_mmap_bo(9)
  • struct drm_v3d_indirect_csd(9)
  • struct drm_v3d_timestamp_query(9)
  • struct drm_v3d_reset_timestamp_query(9)
  • struct drm_v3d_copy_timestamp_query(9)
  • struct drm_v3d_reset_performance_query(9)
  • struct drm_v3d_copy_performance_query(9)
  • struct drm_v3d_perfmon_get_counter(9)

like genuinely obsessed with how long that list is, it's giving "linked in every direction" 🌈


aaaand that's the whole page, bestie, you ate that πŸ“ one last lil sign-off: this one ships from ./include/uapi/drm, dated October 2026, and it goes by the name struct drm_v3d_perfmon_set_global(9) πŸŽ€βœ¨ byeee πŸ’–

πŸ“¦ where this page comes from