[PATCH i-g-t 1/1] tests/xe_evict_ccs:Add check to update object param as per visible RAM
Sobin Thomas
sobin.thomas at intel.com
Wed Jul 23 15:05:08 UTC 2025
This change will modify the parameters for the test based on the
available visible ram and update the max object size that is calculated
based on the existing method
Signed-off-by: Sobin Thomas <sobin.thomas at intel.com>
---
tests/intel/xe_evict_ccs.c | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/tests/intel/xe_evict_ccs.c b/tests/intel/xe_evict_ccs.c
index 281d27015..9abff1389 100644
--- a/tests/intel/xe_evict_ccs.c
+++ b/tests/intel/xe_evict_ccs.c
@@ -343,6 +343,31 @@ static void set_config(int fd, uint32_t flags, const struct param *param,
igt_debug("nproc: %d, mem per proc: %dMB\n", nproc, config->mb_per_proc);
}
+static void adjust_params_for_vram_size(uint64_t vram_size)
+{
+ uint64_t vram_mb = vram_size / (1024 * 1024);
+ int recommended_max_size_kb;
+ bool user_set_max_size = (params.max_size_kb != MAX_OBJ_KB);
+ int max_object_mb = vram_mb / 64;
+
+ max_object_mb = max_t(int, 2, min_t(int, max_object_mb, 256));
+ recommended_max_size_kb = max_object_mb * 1024;
+
+ igt_info("VRAM (%"PRIu64"MB): Calculated %d%% usage, %dMB max objects\n",
+ vram_mb, params.vram_percent, max_object_mb);
+
+ if (user_set_max_size) {
+ igt_warn("User specified max object size (%dKB) may not be
+ optimal for %"PRIu64"MB VRAM (recommended: %dKB)\n",
+ params.max_size_kb, vram_mb, recommended_max_size_kb);
+ } else {
+ params.max_size_kb = recommended_max_size_kb;
+ }
+
+ igt_info("Final settings: %d%% VRAM, %dMB max object\n",
+ params.vram_percent, params.max_size_kb / 1024);
+}
+
static void evict_ccs(int fd, uint32_t flags, const struct param *param)
{
struct config config;
@@ -500,6 +525,7 @@ igt_main_args("bdDn:p:s:S:V", NULL, help_str, opt_handler, NULL)
igt_require(xe_has_vram(fd));
vram_size = xe_visible_vram_size(fd, 0);
igt_assert(vram_size);
+ adjust_params_for_vram_size(vram_size);
has_flatccs = HAS_FLATCCS(intel_get_drm_devid(fd));
}
--
2.34.1
More information about the igt-dev
mailing list