[PATCH i-g-t v2 8/8] tests/intel/xe_drm_fdinfo: Also test target class with others-*
Lucas De Marchi
lucas.demarchi at intel.com
Tue Jan 7 20:26:15 UTC 2025
Like is done for others-idle, also check the target class in
others-full-load. Start printing the target class as debug so it's easy
to check what should be compared to 0 versus what should be compared to
full load.
Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
---
tests/intel/xe_drm_fdinfo.c | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/tests/intel/xe_drm_fdinfo.c b/tests/intel/xe_drm_fdinfo.c
index f9eca25ed..7330b4330 100644
--- a/tests/intel/xe_drm_fdinfo.c
+++ b/tests/intel/xe_drm_fdinfo.c
@@ -423,6 +423,8 @@ utilization_single(int fd, struct drm_xe_engine_class_instance *hwe, unsigned in
uint32_t vm;
int new_fd;
+ igt_debug("Target class: %s\n", engine_map[hwe->engine_class]);
+
if (flags & TEST_ISOLATION)
new_fd = drm_reopen_driver(fd);
@@ -475,6 +477,8 @@ utilization_single_destroy_queue(int fd, struct drm_xe_engine_class_instance *hw
uint32_t timestamp;
uint32_t vm;
+ igt_debug("Target class: %s\n", engine_map[hwe->engine_class]);
+
vm = xe_vm_create(fd, 0, 0);
cork = xe_cork_create_opts(fd, hwe, vm, 1, 1);
xe_cork_sync_start(fd, cork);
@@ -504,6 +508,8 @@ utilization_others_idle(int fd, struct drm_xe_engine_class_instance *hwe)
uint32_t vm;
int class;
+ igt_debug("Target class: %s\n", engine_map[hwe->engine_class]);
+
vm = xe_vm_create(fd, 0, 0);
cork = xe_cork_create_opts(fd, hwe, vm, 1, 1);
xe_cork_sync_start(fd, cork);
@@ -535,6 +541,8 @@ utilization_others_full_load(int fd, struct drm_xe_engine_class_instance *hwe)
uint32_t vm;
int class;
+ igt_debug("Target class: %s\n", engine_map[hwe->engine_class]);
+
vm = xe_vm_create(fd, 0, 0);
/* spin on one hwe per class except the target class hwes */
@@ -543,6 +551,7 @@ utilization_others_full_load(int fd, struct drm_xe_engine_class_instance *hwe)
if (_class == hwe->engine_class || cork[_class])
continue;
+
cork[_class] = xe_cork_create_opts(fd, _hwe, vm, 1, 1);
xe_cork_sync_start(fd, cork[_class]);
}
@@ -560,12 +569,12 @@ utilization_others_full_load(int fd, struct drm_xe_engine_class_instance *hwe)
enum expected_load expected_load = hwe->engine_class == class ?
EXPECTED_LOAD_IDLE : EXPECTED_LOAD_FULL;
- if (!cork[class])
- continue;
-
- check_results(pceu1, pceu2, class, 1, cork[class]->spin->timestamp,
+ check_results(pceu1, pceu2, class, 1,
+ cork[class] ? cork[class]->spin->timestamp : 0,
expected_load);
- xe_cork_destroy(fd, cork[class]);
+
+ if (cork[class])
+ xe_cork_destroy(fd, cork[class]);
}
xe_vm_destroy(fd, vm);
@@ -649,6 +658,8 @@ utilization_multi(int fd, int gt, int class, unsigned int flags)
if (num_placements < 2)
return;
+ igt_debug("Target class: %s\n", engine_map[class]);
+
if (parallel) {
width = num_placements;
num_placements = 1;
--
2.47.0
More information about the igt-dev
mailing list