[Intel-gfx] [PATCH 0/7] Per client engine busyness

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Fri May 14 14:47:55 UTC 2021


On 14/05/2021 14:53, Christian König wrote:
>>
>> David also said that you considered sysfs but were wary of exposing 
>> process info in there. To clarify, my patch is not exposing sysfs 
>> entry per process, but one per open drm fd.
>>
> 
> Yes, we discussed this as well, but then rejected the approach.
> 
> To have useful information related to the open drm fd you need to 
> related that to process(es) which have that file descriptor open. Just 
> tracking who opened it first like DRM does is pretty useless on modern 
> systems.

We do update the pid/name for fds passed over unix sockets.

> But an "lsof /dev/dri/renderD128" for example does exactly what top does 
> as well, it iterates over /proc and sees which process has that file open.

Lsof is quite inefficient for this use case. It has to open _all_ open 
files for _all_ processes on the system to find a handful of ones which 
may have the DRM device open.

> So even with sysfs aid for discovery you are back to just going over all 
> files again.

For what use case?

To enable GPU usage in top we can do much better than iterate over all 
open files in the system. We can start with a process if going with the 
/proc proposal, or with the opened DRM file directly with the sysfs 
proposal. Both are significantly fewer than total number of open files 
across all processes.

Regards,

Tvrtko


More information about the Intel-gfx mailing list