Re: [Intel-gfx] [PATCH v3 0/7] drm: fdinfo memory stats

2023-04-12 Thread Christian König

Am 12.04.23 um 14:10 schrieb Tvrtko Ursulin:


On 12/04/2023 10:34, Christian König wrote:

Am 12.04.23 um 00:56 schrieb Rob Clark:

From: Rob Clark 

Similar motivation to other similar recent attempt[1].  But with an
attempt to have some shared code for this.  As well as documentation.

It is probably a bit UMA-centric, I guess devices with VRAM might want
some placement stats as well.  But this seems like a reasonable start.

Basic gputop support: https://patchwork.freedesktop.org/series/116236/
And already nvtop support: https://github.com/Syllo/nvtop/pull/204

[1] https://patchwork.freedesktop.org/series/112397/


I think the extra client id looks a bit superfluous since the ino of 
the file should already be unique and IIRC we have been already using 
that one.


Do you mean file_inode(struct drm_file->filp)->i_ino ? That one would 
be the same number for all clients which open the same device node so 
wouldn't work.


Ah, right. DMA-buf used a separate ino per buffer, but we don't do that 
for the drm_file.




I also don't think the atomic_add_return for client id works either, 
since it can alias on overflow.


Yeah, we might want to use a 64bit number here if any.

Christian.



In i915 I use an xarray and __xa_alloc_cyclic.

Regards,

Tvrtko




Re: [Intel-gfx] [PATCH v3 0/7] drm: fdinfo memory stats

2023-04-12 Thread Tvrtko Ursulin



On 12/04/2023 10:34, Christian König wrote:

Am 12.04.23 um 00:56 schrieb Rob Clark:

From: Rob Clark 

Similar motivation to other similar recent attempt[1].  But with an
attempt to have some shared code for this.  As well as documentation.

It is probably a bit UMA-centric, I guess devices with VRAM might want
some placement stats as well.  But this seems like a reasonable start.

Basic gputop support: https://patchwork.freedesktop.org/series/116236/
And already nvtop support: https://github.com/Syllo/nvtop/pull/204

[1] https://patchwork.freedesktop.org/series/112397/


I think the extra client id looks a bit superfluous since the ino of the 
file should already be unique and IIRC we have been already using that one.


Do you mean file_inode(struct drm_file->filp)->i_ino ? That one would be 
the same number for all clients which open the same device node so 
wouldn't work.


I also don't think the atomic_add_return for client id works either, 
since it can alias on overflow.


In i915 I use an xarray and __xa_alloc_cyclic.

Regards,

Tvrtko


Re: [Intel-gfx] [PATCH v3 0/7] drm: fdinfo memory stats

2023-04-12 Thread Christian König

Am 12.04.23 um 00:56 schrieb Rob Clark:

From: Rob Clark 

Similar motivation to other similar recent attempt[1].  But with an
attempt to have some shared code for this.  As well as documentation.

It is probably a bit UMA-centric, I guess devices with VRAM might want
some placement stats as well.  But this seems like a reasonable start.

Basic gputop support: https://patchwork.freedesktop.org/series/116236/
And already nvtop support: https://github.com/Syllo/nvtop/pull/204

[1] https://patchwork.freedesktop.org/series/112397/


I think the extra client id looks a bit superfluous since the ino of the 
file should already be unique and IIRC we have been already using that one.


Apart from that looks good to me,
Christian.

PS: For some reason only the two patches I was CCed on ended up in my 
inbox, dri-devel swallowed all the rest and hasn't spit it out yet. Had 
to dig up the rest from patchwork.





Rob Clark (7):
   drm: Add common fdinfo helper
   drm/msm: Switch to fdinfo helper
   drm/amdgpu: Switch to fdinfo helper
   drm/i915: Switch to fdinfo helper
   drm/etnaviv: Switch to fdinfo helper
   drm: Add fdinfo memory stats
   drm/msm: Add memory stats to fdinfo

  Documentation/gpu/drm-usage-stats.rst  |  21 
  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c|   3 +-
  drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c |  16 ++-
  drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.h |   2 +-
  drivers/gpu/drm/drm_file.c | 115 +
  drivers/gpu/drm/etnaviv/etnaviv_drv.c  |  10 +-
  drivers/gpu/drm/i915/i915_driver.c |   3 +-
  drivers/gpu/drm/i915/i915_drm_client.c |  18 +---
  drivers/gpu/drm/i915/i915_drm_client.h |   2 +-
  drivers/gpu/drm/msm/msm_drv.c  |  11 +-
  drivers/gpu/drm/msm/msm_gem.c  |  15 +++
  drivers/gpu/drm/msm/msm_gpu.c  |   2 -
  include/drm/drm_drv.h  |   7 ++
  include/drm/drm_file.h |   5 +
  include/drm/drm_gem.h  |  19 
  15 files changed, 208 insertions(+), 41 deletions(-)





[Intel-gfx] [PATCH v3 0/7] drm: fdinfo memory stats

2023-04-11 Thread Rob Clark
From: Rob Clark 

Similar motivation to other similar recent attempt[1].  But with an
attempt to have some shared code for this.  As well as documentation.

It is probably a bit UMA-centric, I guess devices with VRAM might want
some placement stats as well.  But this seems like a reasonable start.

Basic gputop support: https://patchwork.freedesktop.org/series/116236/
And already nvtop support: https://github.com/Syllo/nvtop/pull/204

[1] https://patchwork.freedesktop.org/series/112397/

Rob Clark (7):
  drm: Add common fdinfo helper
  drm/msm: Switch to fdinfo helper
  drm/amdgpu: Switch to fdinfo helper
  drm/i915: Switch to fdinfo helper
  drm/etnaviv: Switch to fdinfo helper
  drm: Add fdinfo memory stats
  drm/msm: Add memory stats to fdinfo

 Documentation/gpu/drm-usage-stats.rst  |  21 
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c|   3 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c |  16 ++-
 drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.h |   2 +-
 drivers/gpu/drm/drm_file.c | 115 +
 drivers/gpu/drm/etnaviv/etnaviv_drv.c  |  10 +-
 drivers/gpu/drm/i915/i915_driver.c |   3 +-
 drivers/gpu/drm/i915/i915_drm_client.c |  18 +---
 drivers/gpu/drm/i915/i915_drm_client.h |   2 +-
 drivers/gpu/drm/msm/msm_drv.c  |  11 +-
 drivers/gpu/drm/msm/msm_gem.c  |  15 +++
 drivers/gpu/drm/msm/msm_gpu.c  |   2 -
 include/drm/drm_drv.h  |   7 ++
 include/drm/drm_file.h |   5 +
 include/drm/drm_gem.h  |  19 
 15 files changed, 208 insertions(+), 41 deletions(-)

-- 
2.39.2