diff options
author | Tejas Upadhyay <tejas.upadhyay@intel.com> | 2023-09-21 14:41:34 +0300 |
---|---|---|
committer | Rodrigo Vivi <rodrigo.vivi@intel.com> | 2023-12-21 19:41:15 +0300 |
commit | b27970f3e11c616c7a5121537502f6e21a460881 (patch) | |
tree | 15d1ae8a28707974d2e63315f3232726e01bda14 /drivers/gpu/drm/xe/xe_bo_types.h | |
parent | 85c6ad1aa263a852d51d980575e7c1c305f1697e (diff) | |
download | linux-b27970f3e11c616c7a5121537502f6e21a460881.tar.xz |
drm/xe: Add tracking support for bos per client
In order to show per client memory consumption, we
need tracking support APIs to add at every bo consumption
and removal. Adding APIs here to add tracking calls at
places wherever it is applicable.
V5:
- Rebase
V4:
- remove client bo before vm_put
- spin_lock_irqsave not required - Auld
V3:
- update .h to return xe_drm_client_remove_bo void
- protect xe_drm_client_remove_bo under CONFIG_PROC_FS check - Himal
- Fixed Checkpatch error - CI
V2:
- make xe_drm_client_remove_bo return void - Himal
Reviewed-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Signed-off-by: Tejas Upadhyay <tejas.upadhyay@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'drivers/gpu/drm/xe/xe_bo_types.h')
-rw-r--r-- | drivers/gpu/drm/xe/xe_bo_types.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/xe/xe_bo_types.h b/drivers/gpu/drm/xe/xe_bo_types.h index 27fe72129ee6..c628625c8a89 100644 --- a/drivers/gpu/drm/xe/xe_bo_types.h +++ b/drivers/gpu/drm/xe/xe_bo_types.h @@ -43,6 +43,16 @@ struct xe_bo { struct ttm_bo_kmap_obj kmap; /** @pinned_link: link to present / evicted list of pinned BO */ struct list_head pinned_link; +#ifdef CONFIG_PROC_FS + /** + * @client: @xe_drm_client which created the bo + */ + struct xe_drm_client *client; + /** + * @client_link: Link into @xe_drm_client.objects_list + */ + struct list_head client_link; +#endif /** @props: BO user controlled properties */ struct { /** @preferred_mem: preferred memory class for this BO */ |