CPU overhead for drm fdinfo stats

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Fri Jul 28 08:36:28 UTC 2023


On 27/07/2023 21:58, Alex Deucher wrote:
> We have a number of customers using these stats, but the issue that
> keeps coming up is the CPU overhead to gather them, particularly on
> systems with hundreds of processes using the GPU.  Has anyone given
> any thought to having a single interface to get this information for
> the entire GPU in one place?

Could I have a framed told you so certificate please? :D

Well at least it depends on how much CPU overhead would your users be 
happy to eliminate and how much to keep. So maybe no need for that 
certificate just yet.

I was raising the issue of exponential complexity of walking "total 
number of processes" x "total number of file descriptors" on a system 
from the inception of fdinfo.

So for that issue the idea was to perhaps expose a list of pids with DRM 
fds open somewhere, maybe sysfs.

That would eliminate walking _all_ processes and trying to parse any 
their file descriptor.

But it would still require walking all file descriptors belonging to 
processes with DRM fds open.

If that wouldn't be enough of a saving for your users then no, I am not 
aware it was discussed. Assuming at least you were suggesting something 
like "read all fdinfo for all clients" in one blob. Also in sysfs? I 
think it would be doable by walking the dev->filelist and invoking 
drm_show_fdinfo() on them.

Out of curiosity are they using the fdinfo parsing code from IGT or 
something of their own?

Regards,

Tvrtko


More information about the dri-devel mailing list