This is v2 of the patch being discussed at https://lore.kernel.org/dri-devel/20240403182951.724488-1-adrian.larumbe@xxxxxxxxxxxxx/ In the original patch, a DRM device sysfs attribute file was chosen as the interface for fetching the list of active client PIDs. That came with a hosts of problems: - Normal device attributes can only send back up to a page worth of data, which might be not enough if many clients are opening the DRM device. - The binary attribute interface is meant for immutable virtual files, but the list of active PIDs can grow and shrink between successive calls of show(). This led me to believe sysfs is not the right tool for the job, so switched over to a custom DRM ioctl that does the same thing. In order to test this patch, one can use WIP branches for both libdrm and igt at: https://gitlab.freedesktop.org/larumbe/igt-gpu-tools/-/tree/drm-clients-ioctl?ref_type=heads https://gitlab.freedesktop.org/larumbe/drm/-/tree/drm-clients-ioctl?ref_type=heads I've only tested it with gputop, but intel-gputop should work also. Adrián Larumbe (1): drm: Add ioctl for querying a DRM device's list of open client PIDs drivers/gpu/drm/drm_internal.h | 1 + drivers/gpu/drm/drm_ioctl.c | 89 ++++++++++++++++++++++++++++++++++ include/uapi/drm/drm.h | 7 +++ 3 files changed, 97 insertions(+) -- 2.44.0