STRUCT DRM_V3D_COPY_PERFORMANCE_QUERY(9)
π
struct drm_v3d_copy_performance_query β Kernel API Manual, but make it make sense
okay so bestie, we're in the struct drm_...rmance_query(9) page (yes the title got truncated by the man renderer, it's giving "character limit" energy π) and honestly? this one's a little snack. it's an ioctl extension for the CPU job to copy performance query results to a buffer β¨ no cap, that's the whole NAME section, short and iconic.
π SYNOPSIS π
here's the struct, character for character, don't touch a thing:
struct drm_v3d_copy_performance_query {
struct drm_v3d_extension base;
__u8 do_64bit;
__u8 do_partial;
__u8 availability_bit;
__u8 pad;
__u32 offset;
__u32 stride;
__u32 nperfmons;
__u32 ncounters;
__u32 count;
__u64 syncs;
__u64 kperfmon_ids;
};
like, look at those fields. base first because it's the main character (every extension needs its struct drm_v3d_extension base bestie), then a lil quartet of __u8s (do_64bit, do_partial, availability_bit, pad), then the __u32 girlies (offset, stride, nperfmons, ncounters, count), and the two __u64 faves (syncs, kperfmon_ids) bringing up the rear. ordered, aligned, slaying. π«Ά
πΈ Members πΈ
ngl the original page has this heading sitting here with zero per-member commentary under it, so I'm not gonna sit here and invent lore for you β the members are exactly the fields listed in the struct above, struct drm_v3d_extension base through __u64 kperfmon_ids, and that's the tea. no extra claims, periodt.
π Description π
okay so picture this: when an extension DRM_V3D_EXT_ID_CPU_COPY_PERFORMANCE_QUERY is defined, it points to this extension to define a copy performance query submission. literally that's its whole job, and it ate. π
and then? this CPU job will copy the performance queries results to a BO, with the offset and stride defined in the extension. so the offset and stride you set up top are the ones doing the work. that's the vibe, that's the mechanic, no notes. π₯
π SEE ALSO π
go read these next, iykyk:
- Kernel file
./include/uapi/drm/v3d_drm.h 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_perfmon_get_counter(9)struct drm_v3d_perfmon_set_global(9)
like a whole friend group of structs, and every single one of them is invited to the group chat. π
and that's the page, bestie!! π¦ this one lives at ./include/uapi/drm and it's dated October 2026 β so go forth, copy those performance query results, and remember: the offset and the stride are the moment. 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