[PATCH i-g-t 2/2] tests/intel/xe_query: Add multigpu subtests
Kamil Konieczny
kamil.konieczny at linux.intel.com
Fri Dec 15 19:29:34 UTC 2023
Extend testing of all subtests to all GPU cards present on system.
Signed-off-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
---
tests/intel/xe_query.c | 77 ++++++++++++++++++++++++++++++++++++++++--
1 file changed, 75 insertions(+), 2 deletions(-)
diff --git a/tests/intel/xe_query.c b/tests/intel/xe_query.c
index 5424f9dba..399d4ef2d 100644
--- a/tests/intel/xe_query.c
+++ b/tests/intel/xe_query.c
@@ -174,6 +174,11 @@ const char *get_topo_name(int value)
* SUBTEST: query-engines
* Description: Display engine classes available for xe device
* Test category: functionality test
+ *
+ * SUBTEST: multigpu-query-engines
+ * Description: Display engine classes available for all Xe devices.
+ * Test category: functionality test
+ * Sub-category: MultiGPU
*/
static void
test_query_engines(int fd)
@@ -196,6 +201,11 @@ test_query_engines(int fd)
* Test category: functionality test
* Description: Display memory information like memory class, size
* and alignment.
+ *
+ * SUBTEST: multigpu-query-mem-usage
+ * Test category: functionality test
+ * Sub-category: MultiGPU
+ * Description: Display memory information for all Xe devices.
*/
static void
test_query_mem_regions(int fd)
@@ -255,6 +265,11 @@ test_query_mem_regions(int fd)
* SUBTEST: query-gt-list
* Test category: functionality test
* Description: Display information about available GT components for xe device.
+ *
+ * SUBTEST: multigpu-query-gt-list
+ * Test category: functionality test
+ * Description: Display information about GT components for all Xe devices.
+ * Sub-category: MultiGPU
*/
static void
test_query_gt_list(int fd)
@@ -292,6 +307,11 @@ test_query_gt_list(int fd)
* SUBTEST: query-topology
* Test category: functionality test
* Description: Display topology information of GT.
+ *
+ * SUBTEST: multigpu-query-topology
+ * Test category: functionality test
+ * Description: Display topology information of GT for all Xe devices.
+ * Sub-category: MultiGPU
*/
static void
test_query_gt_topology(int fd)
@@ -336,6 +356,11 @@ test_query_gt_topology(int fd)
* SUBTEST: query-config
* Test category: functionality test
* Description: Display xe device id, revision and configuration.
+ *
+ * SUBTEST: multigpu-query-config
+ * Test category: functionality test
+ * Description: Display config information for all Xe devices.
+ * Sub-category: MultiGPU
*/
static void
test_query_config(int fd)
@@ -385,6 +410,11 @@ test_query_config(int fd)
* SUBTEST: query-hwconfig
* Test category: functionality test
* Description: Display hardware configuration of xe device.
+ *
+ * SUBTEST: multigpu-query-hwconfig
+ * Test category: functionality test
+ * Description: Display hardware configuration of xe device.
+ * Sub-category: MultiGPU
*/
static void
test_query_hwconfig(int fd)
@@ -419,6 +449,11 @@ test_query_hwconfig(int fd)
* SUBTEST: query-invalid-query
* Test category: negative test
* Description: Check query with invalid arguments returns expected error code.
+ *
+ * SUBTEST: multigpu-query-invalid-query
+ * Test category: negative test
+ * Description: Check query with invalid arguments for all Xe devices.
+ * Sub-category: MultiGPU
*/
static void
test_query_invalid_query(int fd)
@@ -437,6 +472,11 @@ test_query_invalid_query(int fd)
* SUBTEST: query-invalid-size
* Test category: negative test
* Description: Check query with invalid size returns expected error code.
+ *
+ * SUBTEST: multigpu-query-invalid-size
+ * Test category: negative test
+ * Description: Check query with invalid size for all Xe devices.
+ * Sub-category: MultiGPU
*/
static void
test_query_invalid_size(int fd)
@@ -455,6 +495,11 @@ test_query_invalid_size(int fd)
* SUBTEST: query-invalid-extension
* Test category: negative test
* Description: Check query with invalid extension returns expected error code.
+ *
+ * SUBTEST: multigpu-query-invalid-extension
+ * Test category: negative test
+ * Description: Check query with invalid extension for all Xe devices.
+ * Sub-category: MultiGPU
*/
static void
test_query_invalid_extension(int fd)
@@ -614,6 +659,10 @@ __engine_cycles(int fd, struct drm_xe_engine_class_instance *hwe)
/**
* SUBTEST: query-cs-cycles
* Description: Query CPU-GPU timestamp correlation
+ *
+ * SUBTEST: multigpu-query-cs-cycles
+ * Description: Query CPU-GPU timestamp correlation for all Xe devices.
+ * Sub-category: MultiGPU
*/
static void test_query_engine_cycles(int fd)
{
@@ -630,6 +679,10 @@ static void test_query_engine_cycles(int fd)
/**
* SUBTEST: query-invalid-cs-cycles
* Description: Check query with invalid arguments returns expected error code.
+ *
+ * SUBTEST: multigpu-query-invalid-cs-cycles
+ * Description: Check query with invalid arguments for all Xe devices.
+ * Sub-category: MultiGPU
*/
static void test_engine_cycles_invalid(int fd)
{
@@ -696,7 +749,7 @@ igt_main
{ "query-invalid-extension", test_query_invalid_extension },
{ }
}, *f;
- int xe;
+ int xe, gpu_count;
igt_fixture
xe = drm_open_driver(DRIVER_XE);
@@ -706,6 +759,26 @@ igt_main
f->func(xe);
}
- igt_fixture
+ igt_fixture {
drm_close_driver(xe);
+ gpu_count = drm_prepare_filtered_multigpu(DRIVER_XE);
+ }
+
+ for (f = funcs; f->name; f++) {
+ igt_subtest_f("multigpu-%s", f->name) {
+ igt_require(gpu_count >= 2);
+ intel_allocator_multiprocess_start(); /* for multigpu-query-cs-cycles */
+
+ igt_multi_fork(child, gpu_count) {
+ xe = drm_open_filtered_card(child);
+ igt_assert_f(xe > 0, "cannot open gpu-%d, errno=%d\n", child, errno);
+ igt_assert(is_xe_device(xe));
+
+ f->func(xe);
+ drm_close_driver(xe);
+ }
+ igt_waitchildren();
+ intel_allocator_multiprocess_stop();
+ }
+ }
}
--
2.42.0
More information about the igt-dev
mailing list