[PATCH v2 4/7] drm/xe: Implement cgroup for vram

Maxime Ripard mripard at kernel.org
Thu Dec 19 12:03:48 UTC 2024


Hi Lucas, Thomas, Rodrigo,

We forgot to Cc you on this series, sorry. Could you have a look at it,
and especially the following patch?



On Wed, Dec 04, 2024 at 02:44:04PM +0100, Maarten Lankhorst wrote:
> Add vram based cgroup eviction to Xe.
> Most hardware with VRAM uses TTM for its management, and can be
> similarly trivially enabled.
> 
> Co-developed-by: Maxime Ripard <mripard at kernel.org>
> Signed-off-by: Maxime Ripard <mripard at kernel.org>
> Signed-off-by: Maarten Lankhorst <dev at lankhorst.se>
> ---
>  drivers/gpu/drm/xe/xe_ttm_vram_mgr.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c b/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
> index c95728c45ea48..f4a16e5fa7700 100644
> --- a/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
> +++ b/drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
> @@ -5,6 +5,7 @@
>   */
>  
>  #include <drm/drm_managed.h>
> +#include <drm/drm_drv.h>
>  
>  #include <drm/ttm/ttm_placement.h>
>  #include <drm/ttm/ttm_range_manager.h>
> @@ -311,6 +312,13 @@ int __xe_ttm_vram_mgr_init(struct xe_device *xe, struct xe_ttm_vram_mgr *mgr,
>  	struct ttm_resource_manager *man = &mgr->manager;
>  	int err;
>  
> +	if (mem_type != XE_PL_STOLEN) {
> +		const char *name = mem_type == XE_PL_VRAM0 ? "vram0" : "vram1";
> +		man->cg = drmm_cgroup_register_region(&xe->drm, name, size);
> +		if (IS_ERR(man->cg))
> +			return PTR_ERR(man->cg);
> +	}
> +
>  	man->func = &xe_ttm_vram_mgr_func;
>  	mgr->mem_type = mem_type;
>  	mutex_init(&mgr->lock);
> -- 
> 2.43.0
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 273 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20241219/7d100bc0/attachment.sig>


More information about the dri-devel mailing list