Unverified Commit dfe6aa16 authored by Maarten Lankhorst's avatar Maarten Lankhorst Committed by Maxime Ripard
Browse files

drm/xe: Implement cgroup for vram



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: default avatarMaxime Ripard <mripard@kernel.org>
Signed-off-by: default avatarMaarten Lankhorst <dev@lankhorst.se>
Acked-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
Acked-by: default avatarTejun Heo <tj@kernel.org>
Link: https://lore.kernel.org/r/20241204134410.1161769-5-dev@lankhorst.se


Signed-off-by: default avatarMaxime Ripard <mripard@kernel.org>
parent 2b624a2c
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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>
@@ -339,6 +340,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);