* [PATCH i-g-t v7 06/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU performance test
2025-11-13 16:49 [PATCH i-g-t v7 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
@ 2025-11-13 16:50 ` nishit.sharma
0 siblings, 0 replies; 22+ messages in thread
From: nishit.sharma @ 2025-11-13 16:50 UTC (permalink / raw)
To: igt-dev, nishit.sharma
From: Nishit Sharma <nishit.sharma@intel.com>
This test measures latency and bandwidth for buffer access from each GPU
and the CPU in a multi-GPU SVM environment. It compares performance for
local versus remote access using madvise and prefetch to control buffer
placement
Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
---
tests/intel/xe_multi_gpusvm.c | 181 ++++++++++++++++++++++++++++++++++
1 file changed, 181 insertions(+)
diff --git a/tests/intel/xe_multi_gpusvm.c b/tests/intel/xe_multi_gpusvm.c
index 6792ef72c..2c8e62e34 100644
--- a/tests/intel/xe_multi_gpusvm.c
+++ b/tests/intel/xe_multi_gpusvm.c
@@ -13,6 +13,8 @@
#include "intel_mocs.h"
#include "intel_reg.h"
+#include "time.h"
+
#include "xe/xe_ioctl.h"
#include "xe/xe_query.h"
#include "xe/xe_util.h"
@@ -41,6 +43,11 @@
* Description:
* This test checks coherency in multi-gpu by writing from GPU0
* reading from GPU1 and verify and repeating with CPU and both GPUs
+ *
+ * SUBTEST: latency-multi-gpu
+ * Description:
+ * This test measures and compares latency and bandwidth for buffer access
+ * from CPU, local GPU, and remote GPU
*/
#define MAX_XE_REGIONS 8
@@ -103,6 +110,11 @@ static void gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
void *extra_args);
+static void gpu_latency_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args);
+
static void
create_vm_and_queue(struct xe_svm_gpu_info *gpu, struct drm_xe_engine_class_instance *eci,
uint32_t *vm, uint32_t *exec_queue)
@@ -197,6 +209,11 @@ static void for_each_gpu_pair(int num_gpus, struct xe_svm_gpu_info *gpus,
static void open_pagemaps(int fd, struct xe_svm_gpu_info *info);
+static double time_diff(struct timespec *start, struct timespec *end)
+{
+ return (end->tv_sec - start->tv_sec) + (end->tv_nsec - start->tv_nsec) / 1e9;
+}
+
static void
atomic_batch_init(int fd, uint32_t vm, uint64_t src_addr,
uint32_t *bo, uint64_t *addr)
@@ -549,6 +566,147 @@ coherency_test_multigpu(struct xe_svm_gpu_info *gpu0,
cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
}
+static void
+latency_test_multigpu(struct xe_svm_gpu_info *gpu0,
+ struct xe_svm_gpu_info *gpu1,
+ struct drm_xe_engine_class_instance *eci,
+ bool remote_copy,
+ bool prefetch_req)
+{
+ uint64_t addr;
+ uint32_t vm[2];
+ uint32_t exec_queue[2];
+ uint32_t batch_bo;
+ uint8_t *copy_dst;
+ uint64_t batch_addr;
+ struct drm_xe_sync sync = {};
+ volatile uint64_t *sync_addr;
+ int value = 60;
+ int shared_val[4];
+ struct test_exec_data *data;
+ struct timespec t_start, t_end;
+ double cpu_latency, gpu1_latency, gpu2_latency;
+ double cpu_bw, gpu1_bw, gpu2_bw;
+
+ create_vm_and_queue(gpu0, eci, &vm[0], &exec_queue[0]);
+ create_vm_and_queue(gpu1, eci, &vm[1], &exec_queue[1]);
+
+ data = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(data);
+ data[0].vm_sync = 0;
+ addr = to_user_pointer(data);
+
+ copy_dst = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(copy_dst);
+
+ store_dword_batch_init(gpu0->fd, vm[0], addr, &batch_bo, &batch_addr, value);
+
+ /* Measure GPU0 access latency/bandwidth */
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+
+ /* GPU0(src_gpu) access */
+ xe_multigpu_madvise(gpu0->fd, vm[0], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu0->fd, 0, gpu0->vram_regions[0], exec_queue[0],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu0->fd, vm[0], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[0], prefetch_req);
+
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ gpu1_latency = time_diff(&t_start, &t_end);
+ gpu1_bw = COPY_SIZE / gpu1_latency / (1024 * 1024); // MB/s
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute STORE command on GPU0 */
+ xe_exec_sync(gpu0->fd, exec_queue[0], batch_addr, &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu0->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[0],
+ NSEC_PER_SEC * 10);
+
+ memcpy(shared_val, (void *)addr, 4);
+ igt_assert_eq(shared_val[0], value);
+
+ /* CPU writes 10, memset set bytes no integer hence memset fills 4 bytes with 0x0A */
+ memset((void *)(uintptr_t)addr, 10, sizeof(int));
+ memcpy(shared_val, (void *)(uintptr_t)addr, sizeof(shared_val));
+ igt_assert_eq(shared_val[0], 0x0A0A0A0A);
+
+ *(uint64_t *)addr = 50;
+
+ if(remote_copy) {
+ igt_info("creating batch for COPY_CMD on GPU1\n");
+ batch_init(gpu1->fd, vm[1], addr, to_user_pointer(copy_dst),
+ SZ_4K, &batch_bo, &batch_addr);
+ } else {
+ igt_info("creating batch for STORE_CMD on GPU1\n");
+ store_dword_batch_init(gpu1->fd, vm[1], addr, &batch_bo, &batch_addr, value + 10);
+ }
+
+ /* Measure GPU1 access latency/bandwidth */
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+
+ /* GPU1(dst_gpu) access */
+ xe_multigpu_madvise(gpu1->fd, vm[1], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu1->fd, 0, gpu1->vram_regions[0], exec_queue[1],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu1->fd, vm[1], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[1], prefetch_req);
+
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ gpu2_latency = time_diff(&t_start, &t_end);
+ gpu2_bw = COPY_SIZE / gpu2_latency / (1024 * 1024); // MB/s
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute COPY/STORE command on GPU1 */
+ xe_exec_sync(gpu1->fd, exec_queue[1], batch_addr, &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu1->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[1],
+ NSEC_PER_SEC * 10);
+
+ if (!remote_copy)
+ igt_assert_eq(*(uint64_t *)addr, value + 10);
+ else
+ igt_assert_eq(*(uint64_t *)copy_dst, 50);
+
+ /* CPU writes 11, memset set bytes no integer hence memset fills 4 bytes with 0x0B */
+ /* Measure CPU access latency/bandwidth */
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+ memset((void *)(uintptr_t)addr, 11, sizeof(int));
+ memcpy(shared_val, (void *)(uintptr_t)addr, sizeof(shared_val));
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ cpu_latency = time_diff(&t_start, &t_end);
+ cpu_bw = COPY_SIZE / cpu_latency / (1024 * 1024); // MB/s
+
+ igt_assert_eq(shared_val[0], 0x0B0B0B0B);
+
+ /* Print results */
+ igt_info("CPU: Latency %.6f s, Bandwidth %.2f MB/s\n", cpu_latency, cpu_bw);
+ igt_info("GPU: Latency %.6f s, Bandwidth %.2f MB/s\n", gpu1_latency, gpu1_bw);
+ igt_info("GPU: Latency %.6f s, Bandwidth %.2f MB/s\n", gpu2_latency, gpu2_bw);
+
+ munmap((void *)batch_addr, BATCH_SIZE(gpu0->fd));
+ batch_fini(gpu0->fd, vm[0], batch_bo, batch_addr);
+ batch_fini(gpu1->fd, vm[1], batch_bo, batch_addr);
+ free(data);
+ free(copy_dst);
+
+ cleanup_vm_and_queue(gpu0, vm[0], exec_queue[0]);
+ cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
+}
+
static void
atomic_inc_op(struct xe_svm_gpu_info *gpu0,
struct xe_svm_gpu_info *gpu1,
@@ -661,6 +819,19 @@ gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
coherency_test_multigpu(src, dst, eci, args->op_mod, args->prefetch_req);
}
+static void
+gpu_latency_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args)
+{
+ struct multigpu_ops_args *args = (struct multigpu_ops_args *)extra_args;
+ igt_assert(src);
+ igt_assert(dst);
+
+ latency_test_multigpu(src, dst, eci, args->op_mod, args->prefetch_req);
+}
+
igt_main
{
struct xe_svm_gpu_info gpus[MAX_XE_GPUS];
@@ -718,6 +889,16 @@ igt_main
for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_coherecy_test_wrapper, &coh_args);
}
+ igt_subtest("latency-multi-gpu") {
+ struct multigpu_ops_args latency_args;
+ latency_args.prefetch_req = 1;
+ latency_args.op_mod = 1;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_latency_test_wrapper, &latency_args);
+ latency_args.prefetch_req = 0;
+ latency_args.op_mod = 0;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_latency_test_wrapper, &latency_args);
+ }
+
igt_fixture {
int cnt;
--
2.48.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH i-g-t v7 06/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU performance test
2025-11-13 17:00 ` [PATCH i-g-t v7 00/10] " Nishit Sharma
@ 2025-11-13 17:00 ` Nishit Sharma
0 siblings, 0 replies; 22+ messages in thread
From: Nishit Sharma @ 2025-11-13 17:00 UTC (permalink / raw)
To: igt-dev
This test measures latency and bandwidth for buffer access from each GPU
and the CPU in a multi-GPU SVM environment. It compares performance for
local versus remote access using madvise and prefetch to control buffer
placement
Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
---
tests/intel/xe_multi_gpusvm.c | 181 ++++++++++++++++++++++++++++++++++
1 file changed, 181 insertions(+)
diff --git a/tests/intel/xe_multi_gpusvm.c b/tests/intel/xe_multi_gpusvm.c
index 6792ef72c..2c8e62e34 100644
--- a/tests/intel/xe_multi_gpusvm.c
+++ b/tests/intel/xe_multi_gpusvm.c
@@ -13,6 +13,8 @@
#include "intel_mocs.h"
#include "intel_reg.h"
+#include "time.h"
+
#include "xe/xe_ioctl.h"
#include "xe/xe_query.h"
#include "xe/xe_util.h"
@@ -41,6 +43,11 @@
* Description:
* This test checks coherency in multi-gpu by writing from GPU0
* reading from GPU1 and verify and repeating with CPU and both GPUs
+ *
+ * SUBTEST: latency-multi-gpu
+ * Description:
+ * This test measures and compares latency and bandwidth for buffer access
+ * from CPU, local GPU, and remote GPU
*/
#define MAX_XE_REGIONS 8
@@ -103,6 +110,11 @@ static void gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
void *extra_args);
+static void gpu_latency_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args);
+
static void
create_vm_and_queue(struct xe_svm_gpu_info *gpu, struct drm_xe_engine_class_instance *eci,
uint32_t *vm, uint32_t *exec_queue)
@@ -197,6 +209,11 @@ static void for_each_gpu_pair(int num_gpus, struct xe_svm_gpu_info *gpus,
static void open_pagemaps(int fd, struct xe_svm_gpu_info *info);
+static double time_diff(struct timespec *start, struct timespec *end)
+{
+ return (end->tv_sec - start->tv_sec) + (end->tv_nsec - start->tv_nsec) / 1e9;
+}
+
static void
atomic_batch_init(int fd, uint32_t vm, uint64_t src_addr,
uint32_t *bo, uint64_t *addr)
@@ -549,6 +566,147 @@ coherency_test_multigpu(struct xe_svm_gpu_info *gpu0,
cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
}
+static void
+latency_test_multigpu(struct xe_svm_gpu_info *gpu0,
+ struct xe_svm_gpu_info *gpu1,
+ struct drm_xe_engine_class_instance *eci,
+ bool remote_copy,
+ bool prefetch_req)
+{
+ uint64_t addr;
+ uint32_t vm[2];
+ uint32_t exec_queue[2];
+ uint32_t batch_bo;
+ uint8_t *copy_dst;
+ uint64_t batch_addr;
+ struct drm_xe_sync sync = {};
+ volatile uint64_t *sync_addr;
+ int value = 60;
+ int shared_val[4];
+ struct test_exec_data *data;
+ struct timespec t_start, t_end;
+ double cpu_latency, gpu1_latency, gpu2_latency;
+ double cpu_bw, gpu1_bw, gpu2_bw;
+
+ create_vm_and_queue(gpu0, eci, &vm[0], &exec_queue[0]);
+ create_vm_and_queue(gpu1, eci, &vm[1], &exec_queue[1]);
+
+ data = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(data);
+ data[0].vm_sync = 0;
+ addr = to_user_pointer(data);
+
+ copy_dst = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(copy_dst);
+
+ store_dword_batch_init(gpu0->fd, vm[0], addr, &batch_bo, &batch_addr, value);
+
+ /* Measure GPU0 access latency/bandwidth */
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+
+ /* GPU0(src_gpu) access */
+ xe_multigpu_madvise(gpu0->fd, vm[0], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu0->fd, 0, gpu0->vram_regions[0], exec_queue[0],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu0->fd, vm[0], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[0], prefetch_req);
+
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ gpu1_latency = time_diff(&t_start, &t_end);
+ gpu1_bw = COPY_SIZE / gpu1_latency / (1024 * 1024); // MB/s
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute STORE command on GPU0 */
+ xe_exec_sync(gpu0->fd, exec_queue[0], batch_addr, &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu0->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[0],
+ NSEC_PER_SEC * 10);
+
+ memcpy(shared_val, (void *)addr, 4);
+ igt_assert_eq(shared_val[0], value);
+
+ /* CPU writes 10, memset set bytes no integer hence memset fills 4 bytes with 0x0A */
+ memset((void *)(uintptr_t)addr, 10, sizeof(int));
+ memcpy(shared_val, (void *)(uintptr_t)addr, sizeof(shared_val));
+ igt_assert_eq(shared_val[0], 0x0A0A0A0A);
+
+ *(uint64_t *)addr = 50;
+
+ if(remote_copy) {
+ igt_info("creating batch for COPY_CMD on GPU1\n");
+ batch_init(gpu1->fd, vm[1], addr, to_user_pointer(copy_dst),
+ SZ_4K, &batch_bo, &batch_addr);
+ } else {
+ igt_info("creating batch for STORE_CMD on GPU1\n");
+ store_dword_batch_init(gpu1->fd, vm[1], addr, &batch_bo, &batch_addr, value + 10);
+ }
+
+ /* Measure GPU1 access latency/bandwidth */
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+
+ /* GPU1(dst_gpu) access */
+ xe_multigpu_madvise(gpu1->fd, vm[1], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu1->fd, 0, gpu1->vram_regions[0], exec_queue[1],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu1->fd, vm[1], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[1], prefetch_req);
+
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ gpu2_latency = time_diff(&t_start, &t_end);
+ gpu2_bw = COPY_SIZE / gpu2_latency / (1024 * 1024); // MB/s
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute COPY/STORE command on GPU1 */
+ xe_exec_sync(gpu1->fd, exec_queue[1], batch_addr, &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu1->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[1],
+ NSEC_PER_SEC * 10);
+
+ if (!remote_copy)
+ igt_assert_eq(*(uint64_t *)addr, value + 10);
+ else
+ igt_assert_eq(*(uint64_t *)copy_dst, 50);
+
+ /* CPU writes 11, memset set bytes no integer hence memset fills 4 bytes with 0x0B */
+ /* Measure CPU access latency/bandwidth */
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+ memset((void *)(uintptr_t)addr, 11, sizeof(int));
+ memcpy(shared_val, (void *)(uintptr_t)addr, sizeof(shared_val));
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ cpu_latency = time_diff(&t_start, &t_end);
+ cpu_bw = COPY_SIZE / cpu_latency / (1024 * 1024); // MB/s
+
+ igt_assert_eq(shared_val[0], 0x0B0B0B0B);
+
+ /* Print results */
+ igt_info("CPU: Latency %.6f s, Bandwidth %.2f MB/s\n", cpu_latency, cpu_bw);
+ igt_info("GPU: Latency %.6f s, Bandwidth %.2f MB/s\n", gpu1_latency, gpu1_bw);
+ igt_info("GPU: Latency %.6f s, Bandwidth %.2f MB/s\n", gpu2_latency, gpu2_bw);
+
+ munmap((void *)batch_addr, BATCH_SIZE(gpu0->fd));
+ batch_fini(gpu0->fd, vm[0], batch_bo, batch_addr);
+ batch_fini(gpu1->fd, vm[1], batch_bo, batch_addr);
+ free(data);
+ free(copy_dst);
+
+ cleanup_vm_and_queue(gpu0, vm[0], exec_queue[0]);
+ cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
+}
+
static void
atomic_inc_op(struct xe_svm_gpu_info *gpu0,
struct xe_svm_gpu_info *gpu1,
@@ -661,6 +819,19 @@ gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
coherency_test_multigpu(src, dst, eci, args->op_mod, args->prefetch_req);
}
+static void
+gpu_latency_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args)
+{
+ struct multigpu_ops_args *args = (struct multigpu_ops_args *)extra_args;
+ igt_assert(src);
+ igt_assert(dst);
+
+ latency_test_multigpu(src, dst, eci, args->op_mod, args->prefetch_req);
+}
+
igt_main
{
struct xe_svm_gpu_info gpus[MAX_XE_GPUS];
@@ -718,6 +889,16 @@ igt_main
for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_coherecy_test_wrapper, &coh_args);
}
+ igt_subtest("latency-multi-gpu") {
+ struct multigpu_ops_args latency_args;
+ latency_args.prefetch_req = 1;
+ latency_args.op_mod = 1;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_latency_test_wrapper, &latency_args);
+ latency_args.prefetch_req = 0;
+ latency_args.op_mod = 0;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_latency_test_wrapper, &latency_args);
+ }
+
igt_fixture {
int cnt;
--
2.48.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH i-g-t v7 06/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU performance test
2025-11-13 17:04 [PATCH i-g-t v7 00/10] Add SVM madvise feature for multi-GPU configurations nishit.sharma
@ 2025-11-13 17:04 ` nishit.sharma
0 siblings, 0 replies; 22+ messages in thread
From: nishit.sharma @ 2025-11-13 17:04 UTC (permalink / raw)
To: igt-dev, nishit.sharma
From: Nishit Sharma <nishit.sharma@intel.com>
This test measures latency and bandwidth for buffer access from each GPU
and the CPU in a multi-GPU SVM environment. It compares performance for
local versus remote access using madvise and prefetch to control buffer
placement
Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
---
tests/intel/xe_multi_gpusvm.c | 181 ++++++++++++++++++++++++++++++++++
1 file changed, 181 insertions(+)
diff --git a/tests/intel/xe_multi_gpusvm.c b/tests/intel/xe_multi_gpusvm.c
index 6792ef72c..2c8e62e34 100644
--- a/tests/intel/xe_multi_gpusvm.c
+++ b/tests/intel/xe_multi_gpusvm.c
@@ -13,6 +13,8 @@
#include "intel_mocs.h"
#include "intel_reg.h"
+#include "time.h"
+
#include "xe/xe_ioctl.h"
#include "xe/xe_query.h"
#include "xe/xe_util.h"
@@ -41,6 +43,11 @@
* Description:
* This test checks coherency in multi-gpu by writing from GPU0
* reading from GPU1 and verify and repeating with CPU and both GPUs
+ *
+ * SUBTEST: latency-multi-gpu
+ * Description:
+ * This test measures and compares latency and bandwidth for buffer access
+ * from CPU, local GPU, and remote GPU
*/
#define MAX_XE_REGIONS 8
@@ -103,6 +110,11 @@ static void gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
void *extra_args);
+static void gpu_latency_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args);
+
static void
create_vm_and_queue(struct xe_svm_gpu_info *gpu, struct drm_xe_engine_class_instance *eci,
uint32_t *vm, uint32_t *exec_queue)
@@ -197,6 +209,11 @@ static void for_each_gpu_pair(int num_gpus, struct xe_svm_gpu_info *gpus,
static void open_pagemaps(int fd, struct xe_svm_gpu_info *info);
+static double time_diff(struct timespec *start, struct timespec *end)
+{
+ return (end->tv_sec - start->tv_sec) + (end->tv_nsec - start->tv_nsec) / 1e9;
+}
+
static void
atomic_batch_init(int fd, uint32_t vm, uint64_t src_addr,
uint32_t *bo, uint64_t *addr)
@@ -549,6 +566,147 @@ coherency_test_multigpu(struct xe_svm_gpu_info *gpu0,
cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
}
+static void
+latency_test_multigpu(struct xe_svm_gpu_info *gpu0,
+ struct xe_svm_gpu_info *gpu1,
+ struct drm_xe_engine_class_instance *eci,
+ bool remote_copy,
+ bool prefetch_req)
+{
+ uint64_t addr;
+ uint32_t vm[2];
+ uint32_t exec_queue[2];
+ uint32_t batch_bo;
+ uint8_t *copy_dst;
+ uint64_t batch_addr;
+ struct drm_xe_sync sync = {};
+ volatile uint64_t *sync_addr;
+ int value = 60;
+ int shared_val[4];
+ struct test_exec_data *data;
+ struct timespec t_start, t_end;
+ double cpu_latency, gpu1_latency, gpu2_latency;
+ double cpu_bw, gpu1_bw, gpu2_bw;
+
+ create_vm_and_queue(gpu0, eci, &vm[0], &exec_queue[0]);
+ create_vm_and_queue(gpu1, eci, &vm[1], &exec_queue[1]);
+
+ data = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(data);
+ data[0].vm_sync = 0;
+ addr = to_user_pointer(data);
+
+ copy_dst = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(copy_dst);
+
+ store_dword_batch_init(gpu0->fd, vm[0], addr, &batch_bo, &batch_addr, value);
+
+ /* Measure GPU0 access latency/bandwidth */
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+
+ /* GPU0(src_gpu) access */
+ xe_multigpu_madvise(gpu0->fd, vm[0], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu0->fd, 0, gpu0->vram_regions[0], exec_queue[0],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu0->fd, vm[0], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[0], prefetch_req);
+
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ gpu1_latency = time_diff(&t_start, &t_end);
+ gpu1_bw = COPY_SIZE / gpu1_latency / (1024 * 1024); // MB/s
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute STORE command on GPU0 */
+ xe_exec_sync(gpu0->fd, exec_queue[0], batch_addr, &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu0->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[0],
+ NSEC_PER_SEC * 10);
+
+ memcpy(shared_val, (void *)addr, 4);
+ igt_assert_eq(shared_val[0], value);
+
+ /* CPU writes 10, memset set bytes no integer hence memset fills 4 bytes with 0x0A */
+ memset((void *)(uintptr_t)addr, 10, sizeof(int));
+ memcpy(shared_val, (void *)(uintptr_t)addr, sizeof(shared_val));
+ igt_assert_eq(shared_val[0], 0x0A0A0A0A);
+
+ *(uint64_t *)addr = 50;
+
+ if(remote_copy) {
+ igt_info("creating batch for COPY_CMD on GPU1\n");
+ batch_init(gpu1->fd, vm[1], addr, to_user_pointer(copy_dst),
+ SZ_4K, &batch_bo, &batch_addr);
+ } else {
+ igt_info("creating batch for STORE_CMD on GPU1\n");
+ store_dword_batch_init(gpu1->fd, vm[1], addr, &batch_bo, &batch_addr, value + 10);
+ }
+
+ /* Measure GPU1 access latency/bandwidth */
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+
+ /* GPU1(dst_gpu) access */
+ xe_multigpu_madvise(gpu1->fd, vm[1], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu1->fd, 0, gpu1->vram_regions[0], exec_queue[1],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu1->fd, vm[1], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[1], prefetch_req);
+
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ gpu2_latency = time_diff(&t_start, &t_end);
+ gpu2_bw = COPY_SIZE / gpu2_latency / (1024 * 1024); // MB/s
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute COPY/STORE command on GPU1 */
+ xe_exec_sync(gpu1->fd, exec_queue[1], batch_addr, &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu1->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[1],
+ NSEC_PER_SEC * 10);
+
+ if (!remote_copy)
+ igt_assert_eq(*(uint64_t *)addr, value + 10);
+ else
+ igt_assert_eq(*(uint64_t *)copy_dst, 50);
+
+ /* CPU writes 11, memset set bytes no integer hence memset fills 4 bytes with 0x0B */
+ /* Measure CPU access latency/bandwidth */
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+ memset((void *)(uintptr_t)addr, 11, sizeof(int));
+ memcpy(shared_val, (void *)(uintptr_t)addr, sizeof(shared_val));
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ cpu_latency = time_diff(&t_start, &t_end);
+ cpu_bw = COPY_SIZE / cpu_latency / (1024 * 1024); // MB/s
+
+ igt_assert_eq(shared_val[0], 0x0B0B0B0B);
+
+ /* Print results */
+ igt_info("CPU: Latency %.6f s, Bandwidth %.2f MB/s\n", cpu_latency, cpu_bw);
+ igt_info("GPU: Latency %.6f s, Bandwidth %.2f MB/s\n", gpu1_latency, gpu1_bw);
+ igt_info("GPU: Latency %.6f s, Bandwidth %.2f MB/s\n", gpu2_latency, gpu2_bw);
+
+ munmap((void *)batch_addr, BATCH_SIZE(gpu0->fd));
+ batch_fini(gpu0->fd, vm[0], batch_bo, batch_addr);
+ batch_fini(gpu1->fd, vm[1], batch_bo, batch_addr);
+ free(data);
+ free(copy_dst);
+
+ cleanup_vm_and_queue(gpu0, vm[0], exec_queue[0]);
+ cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
+}
+
static void
atomic_inc_op(struct xe_svm_gpu_info *gpu0,
struct xe_svm_gpu_info *gpu1,
@@ -661,6 +819,19 @@ gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
coherency_test_multigpu(src, dst, eci, args->op_mod, args->prefetch_req);
}
+static void
+gpu_latency_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args)
+{
+ struct multigpu_ops_args *args = (struct multigpu_ops_args *)extra_args;
+ igt_assert(src);
+ igt_assert(dst);
+
+ latency_test_multigpu(src, dst, eci, args->op_mod, args->prefetch_req);
+}
+
igt_main
{
struct xe_svm_gpu_info gpus[MAX_XE_GPUS];
@@ -718,6 +889,16 @@ igt_main
for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_coherecy_test_wrapper, &coh_args);
}
+ igt_subtest("latency-multi-gpu") {
+ struct multigpu_ops_args latency_args;
+ latency_args.prefetch_req = 1;
+ latency_args.op_mod = 1;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_latency_test_wrapper, &latency_args);
+ latency_args.prefetch_req = 0;
+ latency_args.op_mod = 0;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_latency_test_wrapper, &latency_args);
+ }
+
igt_fixture {
int cnt;
--
2.48.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH i-g-t v7 06/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU performance test
2025-11-13 17:09 [PATCH i-g-t v7 00/10] SVM madvise feature in multi-GPU config nishit.sharma
@ 2025-11-13 17:09 ` nishit.sharma
0 siblings, 0 replies; 22+ messages in thread
From: nishit.sharma @ 2025-11-13 17:09 UTC (permalink / raw)
To: igt-dev, nishit.sharma
From: Nishit Sharma <nishit.sharma@intel.com>
This test measures latency and bandwidth for buffer access from each GPU
and the CPU in a multi-GPU SVM environment. It compares performance for
local versus remote access using madvise and prefetch to control buffer
placement
Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
---
tests/intel/xe_multi_gpusvm.c | 181 ++++++++++++++++++++++++++++++++++
1 file changed, 181 insertions(+)
diff --git a/tests/intel/xe_multi_gpusvm.c b/tests/intel/xe_multi_gpusvm.c
index 6792ef72c..2c8e62e34 100644
--- a/tests/intel/xe_multi_gpusvm.c
+++ b/tests/intel/xe_multi_gpusvm.c
@@ -13,6 +13,8 @@
#include "intel_mocs.h"
#include "intel_reg.h"
+#include "time.h"
+
#include "xe/xe_ioctl.h"
#include "xe/xe_query.h"
#include "xe/xe_util.h"
@@ -41,6 +43,11 @@
* Description:
* This test checks coherency in multi-gpu by writing from GPU0
* reading from GPU1 and verify and repeating with CPU and both GPUs
+ *
+ * SUBTEST: latency-multi-gpu
+ * Description:
+ * This test measures and compares latency and bandwidth for buffer access
+ * from CPU, local GPU, and remote GPU
*/
#define MAX_XE_REGIONS 8
@@ -103,6 +110,11 @@ static void gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
void *extra_args);
+static void gpu_latency_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args);
+
static void
create_vm_and_queue(struct xe_svm_gpu_info *gpu, struct drm_xe_engine_class_instance *eci,
uint32_t *vm, uint32_t *exec_queue)
@@ -197,6 +209,11 @@ static void for_each_gpu_pair(int num_gpus, struct xe_svm_gpu_info *gpus,
static void open_pagemaps(int fd, struct xe_svm_gpu_info *info);
+static double time_diff(struct timespec *start, struct timespec *end)
+{
+ return (end->tv_sec - start->tv_sec) + (end->tv_nsec - start->tv_nsec) / 1e9;
+}
+
static void
atomic_batch_init(int fd, uint32_t vm, uint64_t src_addr,
uint32_t *bo, uint64_t *addr)
@@ -549,6 +566,147 @@ coherency_test_multigpu(struct xe_svm_gpu_info *gpu0,
cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
}
+static void
+latency_test_multigpu(struct xe_svm_gpu_info *gpu0,
+ struct xe_svm_gpu_info *gpu1,
+ struct drm_xe_engine_class_instance *eci,
+ bool remote_copy,
+ bool prefetch_req)
+{
+ uint64_t addr;
+ uint32_t vm[2];
+ uint32_t exec_queue[2];
+ uint32_t batch_bo;
+ uint8_t *copy_dst;
+ uint64_t batch_addr;
+ struct drm_xe_sync sync = {};
+ volatile uint64_t *sync_addr;
+ int value = 60;
+ int shared_val[4];
+ struct test_exec_data *data;
+ struct timespec t_start, t_end;
+ double cpu_latency, gpu1_latency, gpu2_latency;
+ double cpu_bw, gpu1_bw, gpu2_bw;
+
+ create_vm_and_queue(gpu0, eci, &vm[0], &exec_queue[0]);
+ create_vm_and_queue(gpu1, eci, &vm[1], &exec_queue[1]);
+
+ data = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(data);
+ data[0].vm_sync = 0;
+ addr = to_user_pointer(data);
+
+ copy_dst = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(copy_dst);
+
+ store_dword_batch_init(gpu0->fd, vm[0], addr, &batch_bo, &batch_addr, value);
+
+ /* Measure GPU0 access latency/bandwidth */
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+
+ /* GPU0(src_gpu) access */
+ xe_multigpu_madvise(gpu0->fd, vm[0], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu0->fd, 0, gpu0->vram_regions[0], exec_queue[0],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu0->fd, vm[0], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[0], prefetch_req);
+
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ gpu1_latency = time_diff(&t_start, &t_end);
+ gpu1_bw = COPY_SIZE / gpu1_latency / (1024 * 1024); // MB/s
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute STORE command on GPU0 */
+ xe_exec_sync(gpu0->fd, exec_queue[0], batch_addr, &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu0->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[0],
+ NSEC_PER_SEC * 10);
+
+ memcpy(shared_val, (void *)addr, 4);
+ igt_assert_eq(shared_val[0], value);
+
+ /* CPU writes 10, memset set bytes no integer hence memset fills 4 bytes with 0x0A */
+ memset((void *)(uintptr_t)addr, 10, sizeof(int));
+ memcpy(shared_val, (void *)(uintptr_t)addr, sizeof(shared_val));
+ igt_assert_eq(shared_val[0], 0x0A0A0A0A);
+
+ *(uint64_t *)addr = 50;
+
+ if(remote_copy) {
+ igt_info("creating batch for COPY_CMD on GPU1\n");
+ batch_init(gpu1->fd, vm[1], addr, to_user_pointer(copy_dst),
+ SZ_4K, &batch_bo, &batch_addr);
+ } else {
+ igt_info("creating batch for STORE_CMD on GPU1\n");
+ store_dword_batch_init(gpu1->fd, vm[1], addr, &batch_bo, &batch_addr, value + 10);
+ }
+
+ /* Measure GPU1 access latency/bandwidth */
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+
+ /* GPU1(dst_gpu) access */
+ xe_multigpu_madvise(gpu1->fd, vm[1], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu1->fd, 0, gpu1->vram_regions[0], exec_queue[1],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu1->fd, vm[1], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[1], prefetch_req);
+
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ gpu2_latency = time_diff(&t_start, &t_end);
+ gpu2_bw = COPY_SIZE / gpu2_latency / (1024 * 1024); // MB/s
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute COPY/STORE command on GPU1 */
+ xe_exec_sync(gpu1->fd, exec_queue[1], batch_addr, &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu1->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[1],
+ NSEC_PER_SEC * 10);
+
+ if (!remote_copy)
+ igt_assert_eq(*(uint64_t *)addr, value + 10);
+ else
+ igt_assert_eq(*(uint64_t *)copy_dst, 50);
+
+ /* CPU writes 11, memset set bytes no integer hence memset fills 4 bytes with 0x0B */
+ /* Measure CPU access latency/bandwidth */
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+ memset((void *)(uintptr_t)addr, 11, sizeof(int));
+ memcpy(shared_val, (void *)(uintptr_t)addr, sizeof(shared_val));
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ cpu_latency = time_diff(&t_start, &t_end);
+ cpu_bw = COPY_SIZE / cpu_latency / (1024 * 1024); // MB/s
+
+ igt_assert_eq(shared_val[0], 0x0B0B0B0B);
+
+ /* Print results */
+ igt_info("CPU: Latency %.6f s, Bandwidth %.2f MB/s\n", cpu_latency, cpu_bw);
+ igt_info("GPU: Latency %.6f s, Bandwidth %.2f MB/s\n", gpu1_latency, gpu1_bw);
+ igt_info("GPU: Latency %.6f s, Bandwidth %.2f MB/s\n", gpu2_latency, gpu2_bw);
+
+ munmap((void *)batch_addr, BATCH_SIZE(gpu0->fd));
+ batch_fini(gpu0->fd, vm[0], batch_bo, batch_addr);
+ batch_fini(gpu1->fd, vm[1], batch_bo, batch_addr);
+ free(data);
+ free(copy_dst);
+
+ cleanup_vm_and_queue(gpu0, vm[0], exec_queue[0]);
+ cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
+}
+
static void
atomic_inc_op(struct xe_svm_gpu_info *gpu0,
struct xe_svm_gpu_info *gpu1,
@@ -661,6 +819,19 @@ gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
coherency_test_multigpu(src, dst, eci, args->op_mod, args->prefetch_req);
}
+static void
+gpu_latency_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args)
+{
+ struct multigpu_ops_args *args = (struct multigpu_ops_args *)extra_args;
+ igt_assert(src);
+ igt_assert(dst);
+
+ latency_test_multigpu(src, dst, eci, args->op_mod, args->prefetch_req);
+}
+
igt_main
{
struct xe_svm_gpu_info gpus[MAX_XE_GPUS];
@@ -718,6 +889,16 @@ igt_main
for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_coherecy_test_wrapper, &coh_args);
}
+ igt_subtest("latency-multi-gpu") {
+ struct multigpu_ops_args latency_args;
+ latency_args.prefetch_req = 1;
+ latency_args.op_mod = 1;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_latency_test_wrapper, &latency_args);
+ latency_args.prefetch_req = 0;
+ latency_args.op_mod = 0;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_latency_test_wrapper, &latency_args);
+ }
+
igt_fixture {
int cnt;
--
2.48.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH i-g-t v7 06/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU performance test
2025-11-13 17:15 [PATCH i-g-t v7 00/10] " nishit.sharma
@ 2025-11-13 17:15 ` nishit.sharma
0 siblings, 0 replies; 22+ messages in thread
From: nishit.sharma @ 2025-11-13 17:15 UTC (permalink / raw)
To: igt-dev
From: Nishit Sharma <nishit.sharma@intel.com>
This test measures latency and bandwidth for buffer access from each GPU
and the CPU in a multi-GPU SVM environment. It compares performance for
local versus remote access using madvise and prefetch to control buffer
placement
Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
---
tests/intel/xe_multi_gpusvm.c | 181 ++++++++++++++++++++++++++++++++++
1 file changed, 181 insertions(+)
diff --git a/tests/intel/xe_multi_gpusvm.c b/tests/intel/xe_multi_gpusvm.c
index 6792ef72c..2c8e62e34 100644
--- a/tests/intel/xe_multi_gpusvm.c
+++ b/tests/intel/xe_multi_gpusvm.c
@@ -13,6 +13,8 @@
#include "intel_mocs.h"
#include "intel_reg.h"
+#include "time.h"
+
#include "xe/xe_ioctl.h"
#include "xe/xe_query.h"
#include "xe/xe_util.h"
@@ -41,6 +43,11 @@
* Description:
* This test checks coherency in multi-gpu by writing from GPU0
* reading from GPU1 and verify and repeating with CPU and both GPUs
+ *
+ * SUBTEST: latency-multi-gpu
+ * Description:
+ * This test measures and compares latency and bandwidth for buffer access
+ * from CPU, local GPU, and remote GPU
*/
#define MAX_XE_REGIONS 8
@@ -103,6 +110,11 @@ static void gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
void *extra_args);
+static void gpu_latency_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args);
+
static void
create_vm_and_queue(struct xe_svm_gpu_info *gpu, struct drm_xe_engine_class_instance *eci,
uint32_t *vm, uint32_t *exec_queue)
@@ -197,6 +209,11 @@ static void for_each_gpu_pair(int num_gpus, struct xe_svm_gpu_info *gpus,
static void open_pagemaps(int fd, struct xe_svm_gpu_info *info);
+static double time_diff(struct timespec *start, struct timespec *end)
+{
+ return (end->tv_sec - start->tv_sec) + (end->tv_nsec - start->tv_nsec) / 1e9;
+}
+
static void
atomic_batch_init(int fd, uint32_t vm, uint64_t src_addr,
uint32_t *bo, uint64_t *addr)
@@ -549,6 +566,147 @@ coherency_test_multigpu(struct xe_svm_gpu_info *gpu0,
cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
}
+static void
+latency_test_multigpu(struct xe_svm_gpu_info *gpu0,
+ struct xe_svm_gpu_info *gpu1,
+ struct drm_xe_engine_class_instance *eci,
+ bool remote_copy,
+ bool prefetch_req)
+{
+ uint64_t addr;
+ uint32_t vm[2];
+ uint32_t exec_queue[2];
+ uint32_t batch_bo;
+ uint8_t *copy_dst;
+ uint64_t batch_addr;
+ struct drm_xe_sync sync = {};
+ volatile uint64_t *sync_addr;
+ int value = 60;
+ int shared_val[4];
+ struct test_exec_data *data;
+ struct timespec t_start, t_end;
+ double cpu_latency, gpu1_latency, gpu2_latency;
+ double cpu_bw, gpu1_bw, gpu2_bw;
+
+ create_vm_and_queue(gpu0, eci, &vm[0], &exec_queue[0]);
+ create_vm_and_queue(gpu1, eci, &vm[1], &exec_queue[1]);
+
+ data = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(data);
+ data[0].vm_sync = 0;
+ addr = to_user_pointer(data);
+
+ copy_dst = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(copy_dst);
+
+ store_dword_batch_init(gpu0->fd, vm[0], addr, &batch_bo, &batch_addr, value);
+
+ /* Measure GPU0 access latency/bandwidth */
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+
+ /* GPU0(src_gpu) access */
+ xe_multigpu_madvise(gpu0->fd, vm[0], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu0->fd, 0, gpu0->vram_regions[0], exec_queue[0],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu0->fd, vm[0], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[0], prefetch_req);
+
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ gpu1_latency = time_diff(&t_start, &t_end);
+ gpu1_bw = COPY_SIZE / gpu1_latency / (1024 * 1024); // MB/s
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute STORE command on GPU0 */
+ xe_exec_sync(gpu0->fd, exec_queue[0], batch_addr, &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu0->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[0],
+ NSEC_PER_SEC * 10);
+
+ memcpy(shared_val, (void *)addr, 4);
+ igt_assert_eq(shared_val[0], value);
+
+ /* CPU writes 10, memset set bytes no integer hence memset fills 4 bytes with 0x0A */
+ memset((void *)(uintptr_t)addr, 10, sizeof(int));
+ memcpy(shared_val, (void *)(uintptr_t)addr, sizeof(shared_val));
+ igt_assert_eq(shared_val[0], 0x0A0A0A0A);
+
+ *(uint64_t *)addr = 50;
+
+ if(remote_copy) {
+ igt_info("creating batch for COPY_CMD on GPU1\n");
+ batch_init(gpu1->fd, vm[1], addr, to_user_pointer(copy_dst),
+ SZ_4K, &batch_bo, &batch_addr);
+ } else {
+ igt_info("creating batch for STORE_CMD on GPU1\n");
+ store_dword_batch_init(gpu1->fd, vm[1], addr, &batch_bo, &batch_addr, value + 10);
+ }
+
+ /* Measure GPU1 access latency/bandwidth */
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+
+ /* GPU1(dst_gpu) access */
+ xe_multigpu_madvise(gpu1->fd, vm[1], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu1->fd, 0, gpu1->vram_regions[0], exec_queue[1],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu1->fd, vm[1], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[1], prefetch_req);
+
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ gpu2_latency = time_diff(&t_start, &t_end);
+ gpu2_bw = COPY_SIZE / gpu2_latency / (1024 * 1024); // MB/s
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute COPY/STORE command on GPU1 */
+ xe_exec_sync(gpu1->fd, exec_queue[1], batch_addr, &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu1->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[1],
+ NSEC_PER_SEC * 10);
+
+ if (!remote_copy)
+ igt_assert_eq(*(uint64_t *)addr, value + 10);
+ else
+ igt_assert_eq(*(uint64_t *)copy_dst, 50);
+
+ /* CPU writes 11, memset set bytes no integer hence memset fills 4 bytes with 0x0B */
+ /* Measure CPU access latency/bandwidth */
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+ memset((void *)(uintptr_t)addr, 11, sizeof(int));
+ memcpy(shared_val, (void *)(uintptr_t)addr, sizeof(shared_val));
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ cpu_latency = time_diff(&t_start, &t_end);
+ cpu_bw = COPY_SIZE / cpu_latency / (1024 * 1024); // MB/s
+
+ igt_assert_eq(shared_val[0], 0x0B0B0B0B);
+
+ /* Print results */
+ igt_info("CPU: Latency %.6f s, Bandwidth %.2f MB/s\n", cpu_latency, cpu_bw);
+ igt_info("GPU: Latency %.6f s, Bandwidth %.2f MB/s\n", gpu1_latency, gpu1_bw);
+ igt_info("GPU: Latency %.6f s, Bandwidth %.2f MB/s\n", gpu2_latency, gpu2_bw);
+
+ munmap((void *)batch_addr, BATCH_SIZE(gpu0->fd));
+ batch_fini(gpu0->fd, vm[0], batch_bo, batch_addr);
+ batch_fini(gpu1->fd, vm[1], batch_bo, batch_addr);
+ free(data);
+ free(copy_dst);
+
+ cleanup_vm_and_queue(gpu0, vm[0], exec_queue[0]);
+ cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
+}
+
static void
atomic_inc_op(struct xe_svm_gpu_info *gpu0,
struct xe_svm_gpu_info *gpu1,
@@ -661,6 +819,19 @@ gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
coherency_test_multigpu(src, dst, eci, args->op_mod, args->prefetch_req);
}
+static void
+gpu_latency_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args)
+{
+ struct multigpu_ops_args *args = (struct multigpu_ops_args *)extra_args;
+ igt_assert(src);
+ igt_assert(dst);
+
+ latency_test_multigpu(src, dst, eci, args->op_mod, args->prefetch_req);
+}
+
igt_main
{
struct xe_svm_gpu_info gpus[MAX_XE_GPUS];
@@ -718,6 +889,16 @@ igt_main
for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_coherecy_test_wrapper, &coh_args);
}
+ igt_subtest("latency-multi-gpu") {
+ struct multigpu_ops_args latency_args;
+ latency_args.prefetch_req = 1;
+ latency_args.op_mod = 1;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_latency_test_wrapper, &latency_args);
+ latency_args.prefetch_req = 0;
+ latency_args.op_mod = 0;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_latency_test_wrapper, &latency_args);
+ }
+
igt_fixture {
int cnt;
--
2.48.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH i-g-t v7 00/10] Madvise feature in SVM for Multi-GPU configs
@ 2025-11-13 17:16 nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 01/10] lib/xe: Add instance parameter to xe_vm_madvise and introduce lr_sync helpers nishit.sharma
` (13 more replies)
0 siblings, 14 replies; 22+ messages in thread
From: nishit.sharma @ 2025-11-13 17:16 UTC (permalink / raw)
To: igt-dev
From: Nishit Sharma <nishit.sharma@intel.com>
This patch series adds comprehensive SVM multi-GPU IGT test coverage for
madvise and prefetch functionality.
ver2:
- Test name changed in commits
- In patchwork v1 patch is missing due to last patch was not sent
ver3:
- In patch-7 tags were added and it was not sent on patchwork
ver4:
- In patch file was added which is not available in source which caused
CI build failure.
ver5:
- Added subtest function wrappers
- Subtests executing for all GPUs enumerated
ver7:
- Optimized function calling which are frequenctly called
- Incorporated review comments (Thomas Hellstrom)
Nishit Sharma (10):
lib/xe: Add instance parameter to xe_vm_madvise and introduce lr_sync
helpers
tests/intel/xe_exec_system_allocator: Add parameter in madvise call
tests/intel/xe_multi_gpusvm: Add SVM multi-GPU cross-GPU memory access
test
tests/intel/xe_multi_gpusvm: Add SVM multi-GPU atomic operations
tests/intel/xe_multi_gpusvm: Add SVM multi-GPU coherency test
tests/intel/xe_multi_gpusvm: Add SVM multi-GPU performance test
tests/intel/xe_multi_gpusvm: Add SVM multi-GPU fault handling test
tests/intel/xe_multi_gpusvm: Add SVM multi-GPU simultaneous access
test
tests/intel/xe_multi_gpusvm: Add SVM multi-GPU conflicting madvise
test
tests/intel/xe_multi-gpusvm: Add SVM multi-GPU migration test
include/drm-uapi/xe_drm.h | 4 +-
lib/xe/xe_ioctl.c | 53 +-
lib/xe/xe_ioctl.h | 11 +-
tests/intel/xe_exec_system_allocator.c | 8 +-
tests/intel/xe_multi_gpusvm.c | 1441 ++++++++++++++++++++++++
tests/meson.build | 1 +
6 files changed, 1504 insertions(+), 14 deletions(-)
create mode 100644 tests/intel/xe_multi_gpusvm.c
--
2.48.1
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH i-g-t v7 01/10] lib/xe: Add instance parameter to xe_vm_madvise and introduce lr_sync helpers
2025-11-13 17:16 [PATCH i-g-t v7 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
@ 2025-11-13 17:16 ` nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 02/10] tests/intel/xe_exec_system_allocator: Add parameter in madvise call nishit.sharma
` (12 subsequent siblings)
13 siblings, 0 replies; 22+ messages in thread
From: nishit.sharma @ 2025-11-13 17:16 UTC (permalink / raw)
To: igt-dev
From: Nishit Sharma <nishit.sharma@intel.com>
Add an 'instance' parameter to xe_vm_madvise and __xe_vm_madvise to
support per-instance memory advice operations.Implement xe_vm_bind_lr_sync
and xe_vm_unbind_lr_sync helpers for synchronous VM bind/unbind using user
fences.
These changes improve memory advice and binding operations for multi-GPU
and multi-instance scenarios in IGT tests.
Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
---
include/drm-uapi/xe_drm.h | 4 +--
lib/xe/xe_ioctl.c | 53 +++++++++++++++++++++++++++++++++++----
lib/xe/xe_ioctl.h | 11 +++++---
3 files changed, 58 insertions(+), 10 deletions(-)
diff --git a/include/drm-uapi/xe_drm.h b/include/drm-uapi/xe_drm.h
index 89ab54935..3472efa58 100644
--- a/include/drm-uapi/xe_drm.h
+++ b/include/drm-uapi/xe_drm.h
@@ -2060,8 +2060,8 @@ struct drm_xe_madvise {
/** @preferred_mem_loc.migration_policy: Page migration policy */
__u16 migration_policy;
- /** @preferred_mem_loc.pad : MBZ */
- __u16 pad;
+ /** @preferred_mem_loc.region_instance: Region instance */
+ __u16 region_instance;
/** @preferred_mem_loc.reserved : Reserved */
__u64 reserved;
diff --git a/lib/xe/xe_ioctl.c b/lib/xe/xe_ioctl.c
index 39c4667a1..06ce8a339 100644
--- a/lib/xe/xe_ioctl.c
+++ b/lib/xe/xe_ioctl.c
@@ -687,7 +687,8 @@ int64_t xe_wait_ufence(int fd, uint64_t *addr, uint64_t value,
}
int __xe_vm_madvise(int fd, uint32_t vm, uint64_t addr, uint64_t range,
- uint64_t ext, uint32_t type, uint32_t op_val, uint16_t policy)
+ uint64_t ext, uint32_t type, uint32_t op_val, uint16_t policy,
+ uint16_t instance)
{
struct drm_xe_madvise madvise = {
.type = type,
@@ -704,6 +705,7 @@ int __xe_vm_madvise(int fd, uint32_t vm, uint64_t addr, uint64_t range,
case DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC:
madvise.preferred_mem_loc.devmem_fd = op_val;
madvise.preferred_mem_loc.migration_policy = policy;
+ madvise.preferred_mem_loc.region_instance = instance;
igt_debug("madvise.preferred_mem_loc.devmem_fd = %d\n",
madvise.preferred_mem_loc.devmem_fd);
break;
@@ -731,14 +733,55 @@ int __xe_vm_madvise(int fd, uint32_t vm, uint64_t addr, uint64_t range,
* @type: type of attribute
* @op_val: fd/atomic value/pat index, depending upon type of operation
* @policy: Page migration policy
+ * @instance: vram instance
*
* Function initializes different members of struct drm_xe_madvise and calls
* MADVISE IOCTL .
*
- * Asserts in case of error returned by DRM_IOCTL_XE_MADVISE.
+ * Returns error number in failure and 0 if pass.
*/
-void xe_vm_madvise(int fd, uint32_t vm, uint64_t addr, uint64_t range,
- uint64_t ext, uint32_t type, uint32_t op_val, uint16_t policy)
+int xe_vm_madvise(int fd, uint32_t vm, uint64_t addr, uint64_t range,
+ uint64_t ext, uint32_t type, uint32_t op_val, uint16_t policy,
+ uint16_t instance)
{
- igt_assert_eq(__xe_vm_madvise(fd, vm, addr, range, ext, type, op_val, policy), 0);
+ return __xe_vm_madvise(fd, vm, addr, range, ext, type, op_val, policy, instance);
+}
+
+#define BIND_SYNC_VAL 0x686868
+void xe_vm_bind_lr_sync(int fd, uint32_t vm, uint32_t bo, uint64_t offset,
+ uint64_t addr, uint64_t size, uint32_t flags)
+{
+ volatile uint64_t *sync_addr = malloc(sizeof(*sync_addr));
+ struct drm_xe_sync sync = {
+ .flags = DRM_XE_SYNC_FLAG_SIGNAL,
+ .type = DRM_XE_SYNC_TYPE_USER_FENCE,
+ .addr = to_user_pointer((uint64_t *)sync_addr),
+ .timeline_value = BIND_SYNC_VAL,
+ };
+
+ igt_assert(!!sync_addr);
+ xe_vm_bind_async_flags(fd, vm, 0, bo, 0, addr, size, &sync, 1, flags);
+ if (*sync_addr != BIND_SYNC_VAL)
+ xe_wait_ufence(fd, (uint64_t *)sync_addr, BIND_SYNC_VAL, 0, NSEC_PER_SEC * 10);
+ /* Only free if the wait succeeds */
+ free((void *)sync_addr);
+}
+
+void xe_vm_unbind_lr_sync(int fd, uint32_t vm, uint64_t offset,
+ uint64_t addr, uint64_t size)
+{
+ volatile uint64_t *sync_addr = malloc(sizeof(*sync_addr));
+ struct drm_xe_sync sync = {
+ .flags = DRM_XE_SYNC_FLAG_SIGNAL,
+ .type = DRM_XE_SYNC_TYPE_USER_FENCE,
+ .addr = to_user_pointer((uint64_t *)sync_addr),
+ .timeline_value = BIND_SYNC_VAL,
+ };
+
+ igt_assert(!!sync_addr);
+ *sync_addr = 0;
+ xe_vm_unbind_async(fd, vm, 0, 0, addr, size, &sync, 1);
+ if (*sync_addr != BIND_SYNC_VAL)
+ xe_wait_ufence(fd, (uint64_t *)sync_addr, BIND_SYNC_VAL, 0, NSEC_PER_SEC * 10);
+ free((void *)sync_addr);
}
diff --git a/lib/xe/xe_ioctl.h b/lib/xe/xe_ioctl.h
index ae8a23a54..1ae38029d 100644
--- a/lib/xe/xe_ioctl.h
+++ b/lib/xe/xe_ioctl.h
@@ -100,13 +100,18 @@ int __xe_wait_ufence(int fd, uint64_t *addr, uint64_t value,
int64_t xe_wait_ufence(int fd, uint64_t *addr, uint64_t value,
uint32_t exec_queue, int64_t timeout);
int __xe_vm_madvise(int fd, uint32_t vm, uint64_t addr, uint64_t range, uint64_t ext,
- uint32_t type, uint32_t op_val, uint16_t policy);
-void xe_vm_madvise(int fd, uint32_t vm, uint64_t addr, uint64_t range, uint64_t ext,
- uint32_t type, uint32_t op_val, uint16_t policy);
+ uint32_t type, uint32_t op_val, uint16_t policy, uint16_t instance);
+int xe_vm_madvise(int fd, uint32_t vm, uint64_t addr, uint64_t range, uint64_t ext,
+ uint32_t type, uint32_t op_val, uint16_t policy, uint16_t instance);
int xe_vm_number_vmas_in_range(int fd, struct drm_xe_vm_query_mem_range_attr *vmas_attr);
int xe_vm_vma_attrs(int fd, struct drm_xe_vm_query_mem_range_attr *vmas_attr,
struct drm_xe_mem_range_attr *mem_attr);
struct drm_xe_mem_range_attr
*xe_vm_get_mem_attr_values_in_range(int fd, uint32_t vm, uint64_t start,
uint64_t range, uint32_t *num_ranges);
+void xe_vm_bind_lr_sync(int fd, uint32_t vm, uint32_t bo,
+ uint64_t offset, uint64_t addr,
+ uint64_t size, uint32_t flags);
+void xe_vm_unbind_lr_sync(int fd, uint32_t vm, uint64_t offset,
+ uint64_t addr, uint64_t size);
#endif /* XE_IOCTL_H */
--
2.48.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH i-g-t v7 02/10] tests/intel/xe_exec_system_allocator: Add parameter in madvise call
2025-11-13 17:16 [PATCH i-g-t v7 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 01/10] lib/xe: Add instance parameter to xe_vm_madvise and introduce lr_sync helpers nishit.sharma
@ 2025-11-13 17:16 ` nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 03/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU cross-GPU memory access test nishit.sharma
` (11 subsequent siblings)
13 siblings, 0 replies; 22+ messages in thread
From: nishit.sharma @ 2025-11-13 17:16 UTC (permalink / raw)
To: igt-dev
From: Nishit Sharma <nishit.sharma@intel.com>
Parameter instance added in xe_vm_madvise() call. This parameter
addition cause compilation issue in system_allocator test. As a fix
0 as instance parameter passed in xe_vm_madvise() calls.
Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
---
tests/intel/xe_exec_system_allocator.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tests/intel/xe_exec_system_allocator.c b/tests/intel/xe_exec_system_allocator.c
index b88967e58..1e7175061 100644
--- a/tests/intel/xe_exec_system_allocator.c
+++ b/tests/intel/xe_exec_system_allocator.c
@@ -1164,7 +1164,7 @@ madvise_swizzle_op_exec(int fd, uint32_t vm, struct test_exec_data *data,
xe_vm_madvise(fd, vm, to_user_pointer(data), bo_size, 0,
DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
preferred_loc,
- 0);
+ 0, 0);
}
static void
@@ -1172,7 +1172,7 @@ xe_vm_madvixe_pat_attr(int fd, uint32_t vm, uint64_t addr, uint64_t range,
int pat_index)
{
xe_vm_madvise(fd, vm, addr, range, 0,
- DRM_XE_MEM_RANGE_ATTR_PAT, pat_index, 0);
+ DRM_XE_MEM_RANGE_ATTR_PAT, pat_index, 0, 0);
}
static void
@@ -1181,7 +1181,7 @@ xe_vm_madvise_atomic_attr(int fd, uint32_t vm, uint64_t addr, uint64_t range,
{
xe_vm_madvise(fd, vm, addr, range, 0,
DRM_XE_MEM_RANGE_ATTR_ATOMIC,
- mem_attr, 0);
+ mem_attr, 0, 0);
}
static void
@@ -1190,7 +1190,7 @@ xe_vm_madvise_migrate_pages(int fd, uint32_t vm, uint64_t addr, uint64_t range)
xe_vm_madvise(fd, vm, addr, range, 0,
DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
DRM_XE_PREFERRED_LOC_DEFAULT_SYSTEM,
- DRM_XE_MIGRATE_ALL_PAGES);
+ DRM_XE_MIGRATE_ALL_PAGES, 0);
}
static void
--
2.48.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH i-g-t v7 03/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU cross-GPU memory access test
2025-11-13 17:16 [PATCH i-g-t v7 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 01/10] lib/xe: Add instance parameter to xe_vm_madvise and introduce lr_sync helpers nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 02/10] tests/intel/xe_exec_system_allocator: Add parameter in madvise call nishit.sharma
@ 2025-11-13 17:16 ` nishit.sharma
2025-11-18 13:36 ` Gurram, Pravalika
2025-11-13 17:16 ` [PATCH i-g-t v7 04/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU atomic operations nishit.sharma
` (10 subsequent siblings)
13 siblings, 1 reply; 22+ messages in thread
From: nishit.sharma @ 2025-11-13 17:16 UTC (permalink / raw)
To: igt-dev
From: Nishit Sharma <nishit.sharma@intel.com>
This test allocates a buffer in SVM, writes data to it from src GPU , and reads/verifies
the data from dst GPU. Optionally, the CPU also reads or modifies the buffer and both
GPUs verify the results, ensuring correct cross-GPU and CPU memory access in a
multi-GPU environment.
Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
Acked-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
tests/intel/xe_multi_gpusvm.c | 373 ++++++++++++++++++++++++++++++++++
tests/meson.build | 1 +
2 files changed, 374 insertions(+)
create mode 100644 tests/intel/xe_multi_gpusvm.c
diff --git a/tests/intel/xe_multi_gpusvm.c b/tests/intel/xe_multi_gpusvm.c
new file mode 100644
index 000000000..6614ea3d1
--- /dev/null
+++ b/tests/intel/xe_multi_gpusvm.c
@@ -0,0 +1,373 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+
+#include <unistd.h>
+
+#include "drmtest.h"
+#include "igt.h"
+#include "igt_multigpu.h"
+
+#include "intel_blt.h"
+#include "intel_mocs.h"
+#include "intel_reg.h"
+
+#include "xe/xe_ioctl.h"
+#include "xe/xe_query.h"
+#include "xe/xe_util.h"
+
+/**
+ * TEST: Basic multi-gpu SVM testing
+ * Category: SVM
+ * Mega feature: Compute
+ * Sub-category: Compute tests
+ * Functionality: SVM p2p access, madvise and prefetch.
+ * Test category: functionality test
+ *
+ * SUBTEST: cross-gpu-mem-access
+ * Description:
+ * This test creates two malloced regions, places the destination
+ * region both remotely and locally and copies to it. Reads back to
+ * system memory and checks the result.
+ *
+ */
+
+#define MAX_XE_REGIONS 8
+#define MAX_XE_GPUS 8
+#define NUM_LOOPS 1
+#define BATCH_SIZE(_fd) ALIGN(SZ_8K, xe_get_default_alignment(_fd))
+#define BIND_SYNC_VAL 0x686868
+#define EXEC_SYNC_VAL 0x676767
+#define COPY_SIZE SZ_64M
+
+struct xe_svm_gpu_info {
+ bool supports_faults;
+ int vram_regions[MAX_XE_REGIONS];
+ unsigned int num_regions;
+ unsigned int va_bits;
+ int fd;
+};
+
+struct multigpu_ops_args {
+ bool prefetch_req;
+ bool op_mod;
+};
+
+typedef void (*gpu_pair_fn) (
+ struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args
+);
+
+static void for_each_gpu_pair(int num_gpus,
+ struct xe_svm_gpu_info *gpus,
+ struct drm_xe_engine_class_instance *eci,
+ gpu_pair_fn fn,
+ void *extra_args);
+
+static void gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args);
+
+static void open_pagemaps(int fd, struct xe_svm_gpu_info *info);
+
+static void
+create_vm_and_queue(struct xe_svm_gpu_info *gpu, struct drm_xe_engine_class_instance *eci,
+ uint32_t *vm, uint32_t *exec_queue)
+{
+ *vm = xe_vm_create(gpu->fd,
+ DRM_XE_VM_CREATE_FLAG_LR_MODE | DRM_XE_VM_CREATE_FLAG_FAULT_MODE, 0);
+ *exec_queue = xe_exec_queue_create(gpu->fd, *vm, eci, 0);
+ xe_vm_bind_lr_sync(gpu->fd, *vm, 0, 0, 0, 1ull << gpu->va_bits,
+ DRM_XE_VM_BIND_FLAG_CPU_ADDR_MIRROR);
+}
+
+static void
+setup_sync(struct drm_xe_sync *sync, volatile uint64_t **sync_addr, uint64_t timeline_value)
+{
+ *sync_addr = malloc(sizeof(**sync_addr));
+ igt_assert(*sync_addr);
+ sync->flags = DRM_XE_SYNC_FLAG_SIGNAL;
+ sync->type = DRM_XE_SYNC_TYPE_USER_FENCE;
+ sync->addr = to_user_pointer((uint64_t *)*sync_addr);
+ sync->timeline_value = timeline_value;
+ **sync_addr = 0;
+}
+
+static void
+cleanup_vm_and_queue(struct xe_svm_gpu_info *gpu, uint32_t vm, uint32_t exec_queue)
+{
+ xe_vm_unbind_lr_sync(gpu->fd, vm, 0, 0, 1ull << gpu->va_bits);
+ xe_exec_queue_destroy(gpu->fd, exec_queue);
+ xe_vm_destroy(gpu->fd, vm);
+}
+
+static void xe_multigpu_madvise(int src_fd, uint32_t vm, uint64_t addr, uint64_t size,
+ uint64_t ext, uint32_t type, int dst_fd, uint16_t policy,
+ uint16_t instance, uint32_t exec_queue, int local_fd,
+ uint16_t local_vram)
+{
+ int ret;
+
+#define SYSTEM_MEMORY 0
+ if (src_fd != dst_fd) {
+ ret = xe_vm_madvise(src_fd, vm, addr, size, ext, type, dst_fd, policy, instance);
+ if (ret == -ENOLINK) {
+ igt_info("No fast interconnect between GPU0 and GPU1, falling back to local VRAM\n");
+ ret = xe_vm_madvise(src_fd, vm, addr, size, ext, type, local_fd,
+ policy, local_vram);
+ if (ret) {
+ igt_info("Local VRAM madvise failed, falling back to system memory\n");
+ ret = xe_vm_madvise(src_fd, vm, addr, size, ext, type,
+ SYSTEM_MEMORY, policy, SYSTEM_MEMORY);
+ igt_assert_eq(ret, 0);
+ }
+ } else {
+ igt_assert_eq(ret, 0);
+ }
+ } else {
+ ret = xe_vm_madvise(src_fd, vm, addr, size, ext, type, dst_fd, policy, instance);
+ igt_assert_eq(ret, 0);
+
+ }
+
+}
+
+static void xe_multigpu_prefetch(int src_fd, uint32_t vm, uint64_t addr, uint64_t size,
+ struct drm_xe_sync *sync, volatile uint64_t *sync_addr,
+ uint32_t exec_queue, bool prefetch_req)
+{
+ if (prefetch_req) {
+ xe_vm_prefetch_async(src_fd, vm, 0, 0, addr, size, sync, 1,
+ DRM_XE_CONSULT_MEM_ADVISE_PREF_LOC);
+ if (*sync_addr != sync->timeline_value)
+ xe_wait_ufence(src_fd, (uint64_t *)sync_addr, sync->timeline_value,
+ exec_queue, NSEC_PER_SEC * 10);
+ }
+ free((void *)sync_addr);
+}
+
+static void for_each_gpu_pair(int num_gpus, struct xe_svm_gpu_info *gpus,
+ struct drm_xe_engine_class_instance *eci,
+ gpu_pair_fn fn, void *extra_args)
+{
+ for (int src = 0; src < num_gpus; src++) {
+ if(!gpus[src].supports_faults)
+ continue;
+
+ for (int dst = 0; dst < num_gpus; dst++) {
+ if (src == dst)
+ continue;
+ fn(&gpus[src], &gpus[dst], eci, extra_args);
+ }
+ }
+}
+
+static void batch_init(int fd, uint32_t vm, uint64_t src_addr,
+ uint64_t dst_addr, uint64_t copy_size,
+ uint32_t *bo, uint64_t *addr)
+{
+ uint32_t width = copy_size / 256;
+ uint32_t height = 1;
+ uint32_t batch_bo_size = BATCH_SIZE(fd);
+ uint32_t batch_bo;
+ uint64_t batch_addr;
+ void *batch;
+ uint32_t *cmd;
+ uint32_t mocs_index = intel_get_uc_mocs_index(fd);
+ int i = 0;
+
+ batch_bo = xe_bo_create(fd, vm, batch_bo_size, vram_if_possible(fd, 0), 0);
+ batch = xe_bo_map(fd, batch_bo, batch_bo_size);
+ cmd = (uint32_t *) batch;
+ cmd[i++] = MEM_COPY_CMD | (1 << 19);
+ cmd[i++] = width - 1;
+ cmd[i++] = height - 1;
+ cmd[i++] = width - 1;
+ cmd[i++] = width - 1;
+ cmd[i++] = src_addr & ((1UL << 32) - 1);
+ cmd[i++] = src_addr >> 32;
+ cmd[i++] = dst_addr & ((1UL << 32) - 1);
+ cmd[i++] = dst_addr >> 32;
+ cmd[i++] = mocs_index << XE2_MEM_COPY_MOCS_SHIFT | mocs_index;
+ cmd[i++] = MI_BATCH_BUFFER_END;
+ cmd[i++] = MI_BATCH_BUFFER_END;
+
+ batch_addr = to_user_pointer(batch);
+ /* Punch a gap in the SVM map where we map the batch_bo */
+ xe_vm_bind_lr_sync(fd, vm, batch_bo, 0, batch_addr, batch_bo_size, 0);
+ *bo = batch_bo;
+ *addr = batch_addr;
+}
+
+static void batch_fini(int fd, uint32_t vm, uint32_t bo, uint64_t addr)
+{
+ /* Unmap the batch bo by re-instating the SVM binding. */
+ xe_vm_bind_lr_sync(fd, vm, 0, 0, addr, BATCH_SIZE(fd),
+ DRM_XE_VM_BIND_FLAG_CPU_ADDR_MIRROR);
+ gem_close(fd, bo);
+}
+
+
+static void open_pagemaps(int fd, struct xe_svm_gpu_info *info)
+{
+ unsigned int count = 0;
+ uint64_t regions = all_memory_regions(fd);
+ uint32_t region;
+
+ xe_for_each_mem_region(fd, regions, region) {
+ if (XE_IS_VRAM_MEMORY_REGION(fd, region)) {
+ struct drm_xe_mem_region *mem_region =
+ xe_mem_region(fd, 1ull << (region - 1));
+ igt_assert(count < MAX_XE_REGIONS);
+ info->vram_regions[count++] = mem_region->instance;
+ }
+ }
+
+ info->num_regions = count;
+}
+
+static int get_device_info(struct xe_svm_gpu_info gpus[], int num_gpus)
+{
+ int cnt;
+ int xe;
+ int i;
+
+ for (i = 0, cnt = 0 && i < 128; cnt < num_gpus; i++) {
+ xe = __drm_open_driver_another(i, DRIVER_XE);
+ if (xe < 0)
+ break;
+
+ gpus[cnt].fd = xe;
+ cnt++;
+ }
+
+ return cnt;
+}
+
+static void
+copy_src_dst(struct xe_svm_gpu_info *gpu0,
+ struct xe_svm_gpu_info *gpu1,
+ struct drm_xe_engine_class_instance *eci,
+ bool prefetch_req)
+{
+ uint32_t vm[1];
+ uint32_t exec_queue[2];
+ uint32_t batch_bo;
+ void *copy_src, *copy_dst;
+ uint64_t batch_addr;
+ struct drm_xe_sync sync = {};
+ volatile uint64_t *sync_addr;
+ int local_fd = gpu0->fd;
+ uint16_t local_vram = gpu0->vram_regions[0];
+
+ create_vm_and_queue(gpu0, eci, &vm[0], &exec_queue[0]);
+
+ /* Allocate source and destination buffers */
+ copy_src = aligned_alloc(xe_get_default_alignment(gpu0->fd), SZ_64M);
+ igt_assert(copy_src);
+ copy_dst = aligned_alloc(xe_get_default_alignment(gpu1->fd), SZ_64M);
+ igt_assert(copy_dst);
+
+ /*
+ * Initialize, map and bind the batch bo. Note that Xe doesn't seem to enjoy
+ * batch buffer memory accessed over PCIe p2p.
+ */
+ batch_init(gpu0->fd, vm[0], to_user_pointer(copy_src), to_user_pointer(copy_dst),
+ COPY_SIZE, &batch_bo, &batch_addr);
+
+ /* Fill the source with a pattern, clear the destination. */
+ memset(copy_src, 0x67, COPY_SIZE);
+ memset(copy_dst, 0x0, COPY_SIZE);
+
+ xe_multigpu_madvise(gpu0->fd, vm[0], to_user_pointer(copy_dst), COPY_SIZE,
+ 0, DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu1->fd, 0, gpu1->vram_regions[0], exec_queue[0],
+ local_fd, local_vram);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu0->fd, vm[0], to_user_pointer(copy_dst), COPY_SIZE, &sync,
+ sync_addr, exec_queue[0], prefetch_req);
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute a GPU copy. */
+ xe_exec_sync(gpu0->fd, exec_queue[0], batch_addr, &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu0->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[0],
+ NSEC_PER_SEC * 10);
+
+ igt_assert(memcmp(copy_src, copy_dst, COPY_SIZE) == 0);
+
+ free(copy_dst);
+ free(copy_src);
+ munmap((void *)batch_addr, BATCH_SIZE(gpu0->fd));
+ batch_fini(gpu0->fd, vm[0], batch_bo, batch_addr);
+ cleanup_vm_and_queue(gpu0, vm[0], exec_queue[0]);
+}
+
+static void
+gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args)
+{
+ struct multigpu_ops_args *args = (struct multigpu_ops_args *)extra_args;
+ igt_assert(src);
+ igt_assert(dst);
+
+ copy_src_dst(src, dst, eci, args->prefetch_req);
+}
+
+igt_main
+{
+ struct xe_svm_gpu_info gpus[MAX_XE_GPUS];
+ struct xe_device *xe;
+ int gpu, gpu_cnt;
+
+ struct drm_xe_engine_class_instance eci = {
+ .engine_class = DRM_XE_ENGINE_CLASS_COPY,
+ };
+
+ igt_fixture {
+ gpu_cnt = get_device_info(gpus, ARRAY_SIZE(gpus));
+ igt_skip_on(gpu_cnt < 2);
+
+ for (gpu = 0; gpu < gpu_cnt; ++gpu) {
+ igt_assert(gpu < MAX_XE_GPUS);
+
+ open_pagemaps(gpus[gpu].fd, &gpus[gpu]);
+ /* NOTE! inverted return value. */
+ gpus[gpu].supports_faults = !xe_supports_faults(gpus[gpu].fd);
+ fprintf(stderr, "GPU %u has %u VRAM regions%s, and %s SVM VMs.\n",
+ gpu, gpus[gpu].num_regions,
+ gpus[gpu].num_regions != 1 ? "s" : "",
+ gpus[gpu].supports_faults ? "supports" : "doesn't support");
+
+ xe = xe_device_get(gpus[gpu].fd);
+ gpus[gpu].va_bits = xe->va_bits;
+ }
+ }
+
+ igt_describe("gpu-gpu write-read");
+ igt_subtest("cross-gpu-mem-access") {
+ struct multigpu_ops_args op_args;
+ op_args.prefetch_req = 1;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_mem_access_wrapper, &op_args);
+ op_args.prefetch_req = 0;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_mem_access_wrapper, &op_args);
+ }
+
+ igt_fixture {
+ int cnt;
+
+ for (cnt = 0; cnt < gpu_cnt; cnt++)
+ drm_close_driver(gpus[cnt].fd);
+ }
+}
diff --git a/tests/meson.build b/tests/meson.build
index 9736f2338..1209f84a4 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -313,6 +313,7 @@ intel_xe_progs = [
'xe_media_fill',
'xe_mmap',
'xe_module_load',
+ 'xe_multi_gpusvm',
'xe_noexec_ping_pong',
'xe_oa',
'xe_pat',
--
2.48.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH i-g-t v7 04/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU atomic operations
2025-11-13 17:16 [PATCH i-g-t v7 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (2 preceding siblings ...)
2025-11-13 17:16 ` [PATCH i-g-t v7 03/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU cross-GPU memory access test nishit.sharma
@ 2025-11-13 17:16 ` nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 05/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU coherency test nishit.sharma
` (9 subsequent siblings)
13 siblings, 0 replies; 22+ messages in thread
From: nishit.sharma @ 2025-11-13 17:16 UTC (permalink / raw)
To: igt-dev
From: Nishit Sharma <nishit.sharma@intel.com>
This test performs atomic increment operation on a shared SVM buffer
from both GPUs and the CPU in a multi-GPU environment. It uses madvise
and prefetch to control buffer placement and verifies correctness and
ordering of atomic updates across agents.
Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
---
tests/intel/xe_multi_gpusvm.c | 157 +++++++++++++++++++++++++++++++++-
1 file changed, 156 insertions(+), 1 deletion(-)
diff --git a/tests/intel/xe_multi_gpusvm.c b/tests/intel/xe_multi_gpusvm.c
index 6614ea3d1..54e036724 100644
--- a/tests/intel/xe_multi_gpusvm.c
+++ b/tests/intel/xe_multi_gpusvm.c
@@ -31,6 +31,11 @@
* region both remotely and locally and copies to it. Reads back to
* system memory and checks the result.
*
+ * SUBTEST: atomic-inc-gpu-op
+ * Description:
+ * This test does atomic operation in multi-gpu by executing atomic
+ * operation on GPU1 and then atomic operation on GPU2 using same
+ * adress
*/
#define MAX_XE_REGIONS 8
@@ -40,6 +45,7 @@
#define BIND_SYNC_VAL 0x686868
#define EXEC_SYNC_VAL 0x676767
#define COPY_SIZE SZ_64M
+#define ATOMIC_OP_VAL 56
struct xe_svm_gpu_info {
bool supports_faults;
@@ -49,6 +55,16 @@ struct xe_svm_gpu_info {
int fd;
};
+struct test_exec_data {
+ uint32_t batch[32];
+ uint64_t pad;
+ uint64_t vm_sync;
+ uint64_t exec_sync;
+ uint32_t data;
+ uint32_t expected_data;
+ uint64_t batch_addr;
+};
+
struct multigpu_ops_args {
bool prefetch_req;
bool op_mod;
@@ -72,7 +88,10 @@ static void gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
void *extra_args);
-static void open_pagemaps(int fd, struct xe_svm_gpu_info *info);
+static void gpu_atomic_inc_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args);
static void
create_vm_and_queue(struct xe_svm_gpu_info *gpu, struct drm_xe_engine_class_instance *eci,
@@ -166,6 +185,35 @@ static void for_each_gpu_pair(int num_gpus, struct xe_svm_gpu_info *gpus,
}
}
+static void open_pagemaps(int fd, struct xe_svm_gpu_info *info);
+
+static void
+atomic_batch_init(int fd, uint32_t vm, uint64_t src_addr,
+ uint32_t *bo, uint64_t *addr)
+{
+ uint32_t batch_bo_size = BATCH_SIZE(fd);
+ uint32_t batch_bo;
+ uint64_t batch_addr;
+ void *batch;
+ uint32_t *cmd;
+ int i = 0;
+
+ batch_bo = xe_bo_create(fd, vm, batch_bo_size, vram_if_possible(fd, 0), 0);
+ batch = xe_bo_map(fd, batch_bo, batch_bo_size);
+ cmd = (uint32_t *)batch;
+
+ cmd[i++] = MI_ATOMIC | MI_ATOMIC_INC;
+ cmd[i++] = src_addr;
+ cmd[i++] = src_addr >> 32;
+ cmd[i++] = MI_BATCH_BUFFER_END;
+
+ batch_addr = to_user_pointer(batch);
+ /* Punch a gap in the SVM map where we map the batch_bo */
+ xe_vm_bind_lr_sync(fd, vm, batch_bo, 0, batch_addr, batch_bo_size, 0);
+ *bo = batch_bo;
+ *addr = batch_addr;
+}
+
static void batch_init(int fd, uint32_t vm, uint64_t src_addr,
uint64_t dst_addr, uint64_t copy_size,
uint32_t *bo, uint64_t *addr)
@@ -325,6 +373,105 @@ gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
copy_src_dst(src, dst, eci, args->prefetch_req);
}
+static void
+atomic_inc_op(struct xe_svm_gpu_info *gpu0,
+ struct xe_svm_gpu_info *gpu1,
+ struct drm_xe_engine_class_instance *eci,
+ bool prefetch_req)
+{
+ uint64_t addr;
+ uint32_t vm[2];
+ uint32_t exec_queue[2];
+ uint32_t batch_bo;
+ struct test_exec_data *data;
+ uint64_t batch_addr;
+ struct drm_xe_sync sync = {};
+ volatile uint64_t *sync_addr;
+ volatile uint32_t *shared_val;
+
+ create_vm_and_queue(gpu0, eci, &vm[0], &exec_queue[0]);
+ create_vm_and_queue(gpu1, eci, &vm[1], &exec_queue[1]);
+
+ data = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(data);
+ data[0].vm_sync = 0;
+ addr = to_user_pointer(data);
+
+ shared_val = (volatile uint32_t *)addr;
+ *shared_val = ATOMIC_OP_VAL - 1;
+
+ atomic_batch_init(gpu0->fd, vm[0], addr, &batch_bo, &batch_addr);
+
+ /* Place destination in an optionally remote location to test */
+ xe_multigpu_madvise(gpu0->fd, vm[0], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu0->fd, 0, gpu0->vram_regions[0], exec_queue[0],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu0->fd, vm[0], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[0], prefetch_req);
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Executing ATOMIC_INC on GPU0. */
+ xe_exec_sync(gpu0->fd, exec_queue[0], batch_addr, &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu0->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[0],
+ NSEC_PER_SEC * 10);
+
+ igt_assert_eq(*shared_val, ATOMIC_OP_VAL);
+
+ atomic_batch_init(gpu1->fd, vm[1], addr, &batch_bo, &batch_addr);
+
+ /* Place destination in an optionally remote location to test */
+ xe_multigpu_madvise(gpu1->fd, vm[1], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu1->fd, 0, gpu1->vram_regions[0], exec_queue[0],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu1->fd, vm[1], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[1], prefetch_req);
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute ATOMIC_INC on GPU1 */
+ xe_exec_sync(gpu1->fd, exec_queue[1], batch_addr, &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu1->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[1],
+ NSEC_PER_SEC * 10);
+
+ igt_assert_eq(*shared_val, ATOMIC_OP_VAL + 1);
+
+ munmap((void *)batch_addr, BATCH_SIZE(gpu0->fd));
+ batch_fini(gpu0->fd, vm[0], batch_bo, batch_addr);
+ batch_fini(gpu1->fd, vm[1], batch_bo, batch_addr);
+ free(data);
+
+ cleanup_vm_and_queue(gpu0, vm[0], exec_queue[0]);
+ cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
+}
+
+static void
+gpu_atomic_inc_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args)
+{
+ struct multigpu_ops_args *args = (struct multigpu_ops_args *)extra_args;
+ igt_assert(src);
+ igt_assert(dst);
+
+ atomic_inc_op(src, dst, eci, args->prefetch_req);
+}
+
igt_main
{
struct xe_svm_gpu_info gpus[MAX_XE_GPUS];
@@ -364,6 +511,14 @@ igt_main
for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_mem_access_wrapper, &op_args);
}
+ igt_subtest("atomic-inc-gpu-op") {
+ struct multigpu_ops_args atomic_args;
+ atomic_args.prefetch_req = 1;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_atomic_inc_wrapper, &atomic_args);
+ atomic_args.prefetch_req = 0;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_atomic_inc_wrapper, &atomic_args);
+ }
+
igt_fixture {
int cnt;
--
2.48.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH i-g-t v7 05/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU coherency test
2025-11-13 17:16 [PATCH i-g-t v7 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (3 preceding siblings ...)
2025-11-13 17:16 ` [PATCH i-g-t v7 04/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU atomic operations nishit.sharma
@ 2025-11-13 17:16 ` nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 06/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU performance test nishit.sharma
` (8 subsequent siblings)
13 siblings, 0 replies; 22+ messages in thread
From: nishit.sharma @ 2025-11-13 17:16 UTC (permalink / raw)
To: igt-dev
From: Nishit Sharma <nishit.sharma@intel.com>
This test verifies memory coherency in a multi-GPU environment using SVM.
GPU 1 writes to a shared buffer, GPU 2 reads and checks for correct data
without explicit synchronization, and the test is repeated with CPU and
both GPUs to ensure consistent memory visibility across agents.
Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
---
tests/intel/xe_multi_gpusvm.c | 203 +++++++++++++++++++++++++++++++++-
1 file changed, 201 insertions(+), 2 deletions(-)
diff --git a/tests/intel/xe_multi_gpusvm.c b/tests/intel/xe_multi_gpusvm.c
index 54e036724..6792ef72c 100644
--- a/tests/intel/xe_multi_gpusvm.c
+++ b/tests/intel/xe_multi_gpusvm.c
@@ -34,8 +34,13 @@
* SUBTEST: atomic-inc-gpu-op
* Description:
* This test does atomic operation in multi-gpu by executing atomic
- * operation on GPU1 and then atomic operation on GPU2 using same
- * adress
+ * operation on GPU1 and then atomic operation on GPU2 using same
+ * adress
+ *
+ * SUBTEST: coherency-multi-gpu
+ * Description:
+ * This test checks coherency in multi-gpu by writing from GPU0
+ * reading from GPU1 and verify and repeating with CPU and both GPUs
*/
#define MAX_XE_REGIONS 8
@@ -93,6 +98,11 @@ static void gpu_atomic_inc_wrapper(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
void *extra_args);
+static void gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args);
+
static void
create_vm_and_queue(struct xe_svm_gpu_info *gpu, struct drm_xe_engine_class_instance *eci,
uint32_t *vm, uint32_t *exec_queue)
@@ -214,6 +224,35 @@ atomic_batch_init(int fd, uint32_t vm, uint64_t src_addr,
*addr = batch_addr;
}
+static void
+store_dword_batch_init(int fd, uint32_t vm, uint64_t src_addr,
+ uint32_t *bo, uint64_t *addr, int value)
+{
+ uint32_t batch_bo_size = BATCH_SIZE(fd);
+ uint32_t batch_bo;
+ uint64_t batch_addr;
+ void *batch;
+ uint32_t *cmd;
+ int i = 0;
+
+ batch_bo = xe_bo_create(fd, vm, batch_bo_size, vram_if_possible(fd, 0), 0);
+ batch = xe_bo_map(fd, batch_bo, batch_bo_size);
+ cmd = (uint32_t *) batch;
+
+ cmd[i++] = MI_STORE_DWORD_IMM_GEN4;
+ cmd[i++] = src_addr;
+ cmd[i++] = src_addr >> 32;
+ cmd[i++] = value;
+ cmd[i++] = MI_BATCH_BUFFER_END;
+
+ batch_addr = to_user_pointer(batch);
+
+ /* Punch a gap in the SVM map where we map the batch_bo */
+ xe_vm_bind_lr_sync(fd, vm, batch_bo, 0, batch_addr, batch_bo_size, 0);
+ *bo = batch_bo;
+ *addr = batch_addr;
+}
+
static void batch_init(int fd, uint32_t vm, uint64_t src_addr,
uint64_t dst_addr, uint64_t copy_size,
uint32_t *bo, uint64_t *addr)
@@ -373,6 +412,143 @@ gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
copy_src_dst(src, dst, eci, args->prefetch_req);
}
+static void
+coherency_test_multigpu(struct xe_svm_gpu_info *gpu0,
+ struct xe_svm_gpu_info *gpu1,
+ struct drm_xe_engine_class_instance *eci,
+ bool coh_fail_set,
+ bool prefetch_req)
+{
+ uint64_t addr;
+ uint32_t vm[2];
+ uint32_t exec_queue[2];
+ uint32_t batch_bo, batch1_bo[2];
+ uint64_t batch_addr, batch1_addr[2];
+ struct drm_xe_sync sync = {};
+ volatile uint64_t *sync_addr;
+ int value = 60;
+ uint64_t *data1;
+ void *copy_dst;
+
+ create_vm_and_queue(gpu0, eci, &vm[0], &exec_queue[0]);
+ create_vm_and_queue(gpu1, eci, &vm[1], &exec_queue[1]);
+
+ data1 = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(data1);
+ addr = to_user_pointer(data1);
+
+ copy_dst = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(copy_dst);
+
+ store_dword_batch_init(gpu0->fd, vm[0], addr, &batch_bo, &batch_addr, value);
+
+ /* Place destination in GPU0 local memory location to test */
+ xe_multigpu_madvise(gpu0->fd, vm[0], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu0->fd, 0, gpu0->vram_regions[0], exec_queue[0],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu0->fd, vm[0], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[0], prefetch_req);
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute STORE command on GPU0 */
+ xe_exec_sync(gpu0->fd, exec_queue[0], batch_addr, &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu0->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[0],
+ NSEC_PER_SEC * 10);
+
+ igt_assert_eq(*(uint64_t *)addr, value);
+
+ /* Creating batch for GPU1 using addr as Src which have value from GPU0 */
+ batch_init(gpu1->fd, vm[1], addr, to_user_pointer(copy_dst),
+ SZ_4K, &batch_bo, &batch_addr);
+
+ /* Place destination in GPU1 local memory location to test */
+ xe_multigpu_madvise(gpu1->fd, vm[1], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu1->fd, 0, gpu1->vram_regions[0], exec_queue[1],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu1->fd, vm[1], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[1], prefetch_req);
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute COPY command on GPU1 */
+ xe_exec_sync(gpu1->fd, exec_queue[1], batch_addr, &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu1->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[1],
+ NSEC_PER_SEC * 10);
+
+ igt_assert_eq(*(uint64_t *)copy_dst, value);
+
+ /* CPU writes 10, memset set bytes no integer hence memset fills 4 bytes with 0x0A */
+ memset((void *)(uintptr_t)addr, 10, sizeof(int));
+ igt_assert_eq(*(uint64_t *)addr, 0x0A0A0A0A);
+
+ if (coh_fail_set) {
+ igt_info("coherency fail impl\n");
+
+ /* Coherency fail scenario */
+ store_dword_batch_init(gpu0->fd, vm[0], addr, &batch1_bo[0], &batch1_addr[0], value + 10);
+ store_dword_batch_init(gpu1->fd, vm[1], addr, &batch1_bo[1], &batch1_addr[1], value + 20);
+
+ sync_addr = (void *)((char *)batch1_addr[0] + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute STORE command on GPU1 */
+ xe_exec_sync(gpu0->fd, exec_queue[0], batch1_addr[0], &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu0->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[0],
+ NSEC_PER_SEC * 10);
+
+ sync_addr = (void *)((char *)batch1_addr[1] + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute STORE command on GPU2 */
+ xe_exec_sync(gpu1->fd, exec_queue[1], batch1_addr[1], &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu1->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[1],
+ NSEC_PER_SEC * 10);
+
+ igt_warn_on_f(*(uint64_t *)addr != (value + 10),
+ "GPU2(dst_gpu] has overwritten value at addr\n");
+
+ munmap((void *)batch1_addr[0], BATCH_SIZE(gpu0->fd));
+ munmap((void *)batch1_addr[1], BATCH_SIZE(gpu1->fd));
+
+ batch_fini(gpu0->fd, vm[0], batch1_bo[0], batch1_addr[0]);
+ batch_fini(gpu1->fd, vm[1], batch1_bo[1], batch1_addr[1]);
+ }
+
+ /* CPU writes 11, memset set bytes no integer hence memset fills 4 bytes with 0x0B */
+ memset((void *)(uintptr_t)addr, 11, sizeof(int));
+ igt_assert_eq(*(uint64_t *)addr, 0x0B0B0B0B);
+
+ munmap((void *)batch_addr, BATCH_SIZE(gpu0->fd));
+ batch_fini(gpu0->fd, vm[0], batch_bo, batch_addr);
+ batch_fini(gpu1->fd, vm[1], batch_bo, batch_addr);
+ free(data1);
+ free(copy_dst);
+
+ cleanup_vm_and_queue(gpu0, vm[0], exec_queue[0]);
+ cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
+}
+
static void
atomic_inc_op(struct xe_svm_gpu_info *gpu0,
struct xe_svm_gpu_info *gpu1,
@@ -472,6 +648,19 @@ gpu_atomic_inc_wrapper(struct xe_svm_gpu_info *src,
atomic_inc_op(src, dst, eci, args->prefetch_req);
}
+static void
+gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args)
+{
+ struct multigpu_ops_args *args = (struct multigpu_ops_args *)extra_args;
+ igt_assert(src);
+ igt_assert(dst);
+
+ coherency_test_multigpu(src, dst, eci, args->op_mod, args->prefetch_req);
+}
+
igt_main
{
struct xe_svm_gpu_info gpus[MAX_XE_GPUS];
@@ -519,6 +708,16 @@ igt_main
for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_atomic_inc_wrapper, &atomic_args);
}
+ igt_subtest("coherency-multi-gpu") {
+ struct multigpu_ops_args coh_args;
+ coh_args.prefetch_req = 1;
+ coh_args.op_mod = 0;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_coherecy_test_wrapper, &coh_args);
+ coh_args.prefetch_req = 0;
+ coh_args.op_mod = 1;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_coherecy_test_wrapper, &coh_args);
+ }
+
igt_fixture {
int cnt;
--
2.48.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH i-g-t v7 06/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU performance test
2025-11-13 17:16 [PATCH i-g-t v7 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (4 preceding siblings ...)
2025-11-13 17:16 ` [PATCH i-g-t v7 05/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU coherency test nishit.sharma
@ 2025-11-13 17:16 ` nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 07/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU fault handling test nishit.sharma
` (7 subsequent siblings)
13 siblings, 0 replies; 22+ messages in thread
From: nishit.sharma @ 2025-11-13 17:16 UTC (permalink / raw)
To: igt-dev
From: Nishit Sharma <nishit.sharma@intel.com>
This test measures latency and bandwidth for buffer access from each GPU
and the CPU in a multi-GPU SVM environment. It compares performance for
local versus remote access using madvise and prefetch to control buffer
placement
Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
---
tests/intel/xe_multi_gpusvm.c | 181 ++++++++++++++++++++++++++++++++++
1 file changed, 181 insertions(+)
diff --git a/tests/intel/xe_multi_gpusvm.c b/tests/intel/xe_multi_gpusvm.c
index 6792ef72c..2c8e62e34 100644
--- a/tests/intel/xe_multi_gpusvm.c
+++ b/tests/intel/xe_multi_gpusvm.c
@@ -13,6 +13,8 @@
#include "intel_mocs.h"
#include "intel_reg.h"
+#include "time.h"
+
#include "xe/xe_ioctl.h"
#include "xe/xe_query.h"
#include "xe/xe_util.h"
@@ -41,6 +43,11 @@
* Description:
* This test checks coherency in multi-gpu by writing from GPU0
* reading from GPU1 and verify and repeating with CPU and both GPUs
+ *
+ * SUBTEST: latency-multi-gpu
+ * Description:
+ * This test measures and compares latency and bandwidth for buffer access
+ * from CPU, local GPU, and remote GPU
*/
#define MAX_XE_REGIONS 8
@@ -103,6 +110,11 @@ static void gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
void *extra_args);
+static void gpu_latency_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args);
+
static void
create_vm_and_queue(struct xe_svm_gpu_info *gpu, struct drm_xe_engine_class_instance *eci,
uint32_t *vm, uint32_t *exec_queue)
@@ -197,6 +209,11 @@ static void for_each_gpu_pair(int num_gpus, struct xe_svm_gpu_info *gpus,
static void open_pagemaps(int fd, struct xe_svm_gpu_info *info);
+static double time_diff(struct timespec *start, struct timespec *end)
+{
+ return (end->tv_sec - start->tv_sec) + (end->tv_nsec - start->tv_nsec) / 1e9;
+}
+
static void
atomic_batch_init(int fd, uint32_t vm, uint64_t src_addr,
uint32_t *bo, uint64_t *addr)
@@ -549,6 +566,147 @@ coherency_test_multigpu(struct xe_svm_gpu_info *gpu0,
cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
}
+static void
+latency_test_multigpu(struct xe_svm_gpu_info *gpu0,
+ struct xe_svm_gpu_info *gpu1,
+ struct drm_xe_engine_class_instance *eci,
+ bool remote_copy,
+ bool prefetch_req)
+{
+ uint64_t addr;
+ uint32_t vm[2];
+ uint32_t exec_queue[2];
+ uint32_t batch_bo;
+ uint8_t *copy_dst;
+ uint64_t batch_addr;
+ struct drm_xe_sync sync = {};
+ volatile uint64_t *sync_addr;
+ int value = 60;
+ int shared_val[4];
+ struct test_exec_data *data;
+ struct timespec t_start, t_end;
+ double cpu_latency, gpu1_latency, gpu2_latency;
+ double cpu_bw, gpu1_bw, gpu2_bw;
+
+ create_vm_and_queue(gpu0, eci, &vm[0], &exec_queue[0]);
+ create_vm_and_queue(gpu1, eci, &vm[1], &exec_queue[1]);
+
+ data = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(data);
+ data[0].vm_sync = 0;
+ addr = to_user_pointer(data);
+
+ copy_dst = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(copy_dst);
+
+ store_dword_batch_init(gpu0->fd, vm[0], addr, &batch_bo, &batch_addr, value);
+
+ /* Measure GPU0 access latency/bandwidth */
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+
+ /* GPU0(src_gpu) access */
+ xe_multigpu_madvise(gpu0->fd, vm[0], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu0->fd, 0, gpu0->vram_regions[0], exec_queue[0],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu0->fd, vm[0], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[0], prefetch_req);
+
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ gpu1_latency = time_diff(&t_start, &t_end);
+ gpu1_bw = COPY_SIZE / gpu1_latency / (1024 * 1024); // MB/s
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute STORE command on GPU0 */
+ xe_exec_sync(gpu0->fd, exec_queue[0], batch_addr, &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu0->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[0],
+ NSEC_PER_SEC * 10);
+
+ memcpy(shared_val, (void *)addr, 4);
+ igt_assert_eq(shared_val[0], value);
+
+ /* CPU writes 10, memset set bytes no integer hence memset fills 4 bytes with 0x0A */
+ memset((void *)(uintptr_t)addr, 10, sizeof(int));
+ memcpy(shared_val, (void *)(uintptr_t)addr, sizeof(shared_val));
+ igt_assert_eq(shared_val[0], 0x0A0A0A0A);
+
+ *(uint64_t *)addr = 50;
+
+ if(remote_copy) {
+ igt_info("creating batch for COPY_CMD on GPU1\n");
+ batch_init(gpu1->fd, vm[1], addr, to_user_pointer(copy_dst),
+ SZ_4K, &batch_bo, &batch_addr);
+ } else {
+ igt_info("creating batch for STORE_CMD on GPU1\n");
+ store_dword_batch_init(gpu1->fd, vm[1], addr, &batch_bo, &batch_addr, value + 10);
+ }
+
+ /* Measure GPU1 access latency/bandwidth */
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+
+ /* GPU1(dst_gpu) access */
+ xe_multigpu_madvise(gpu1->fd, vm[1], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu1->fd, 0, gpu1->vram_regions[0], exec_queue[1],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu1->fd, vm[1], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[1], prefetch_req);
+
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ gpu2_latency = time_diff(&t_start, &t_end);
+ gpu2_bw = COPY_SIZE / gpu2_latency / (1024 * 1024); // MB/s
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute COPY/STORE command on GPU1 */
+ xe_exec_sync(gpu1->fd, exec_queue[1], batch_addr, &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu1->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[1],
+ NSEC_PER_SEC * 10);
+
+ if (!remote_copy)
+ igt_assert_eq(*(uint64_t *)addr, value + 10);
+ else
+ igt_assert_eq(*(uint64_t *)copy_dst, 50);
+
+ /* CPU writes 11, memset set bytes no integer hence memset fills 4 bytes with 0x0B */
+ /* Measure CPU access latency/bandwidth */
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+ memset((void *)(uintptr_t)addr, 11, sizeof(int));
+ memcpy(shared_val, (void *)(uintptr_t)addr, sizeof(shared_val));
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ cpu_latency = time_diff(&t_start, &t_end);
+ cpu_bw = COPY_SIZE / cpu_latency / (1024 * 1024); // MB/s
+
+ igt_assert_eq(shared_val[0], 0x0B0B0B0B);
+
+ /* Print results */
+ igt_info("CPU: Latency %.6f s, Bandwidth %.2f MB/s\n", cpu_latency, cpu_bw);
+ igt_info("GPU: Latency %.6f s, Bandwidth %.2f MB/s\n", gpu1_latency, gpu1_bw);
+ igt_info("GPU: Latency %.6f s, Bandwidth %.2f MB/s\n", gpu2_latency, gpu2_bw);
+
+ munmap((void *)batch_addr, BATCH_SIZE(gpu0->fd));
+ batch_fini(gpu0->fd, vm[0], batch_bo, batch_addr);
+ batch_fini(gpu1->fd, vm[1], batch_bo, batch_addr);
+ free(data);
+ free(copy_dst);
+
+ cleanup_vm_and_queue(gpu0, vm[0], exec_queue[0]);
+ cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
+}
+
static void
atomic_inc_op(struct xe_svm_gpu_info *gpu0,
struct xe_svm_gpu_info *gpu1,
@@ -661,6 +819,19 @@ gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
coherency_test_multigpu(src, dst, eci, args->op_mod, args->prefetch_req);
}
+static void
+gpu_latency_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args)
+{
+ struct multigpu_ops_args *args = (struct multigpu_ops_args *)extra_args;
+ igt_assert(src);
+ igt_assert(dst);
+
+ latency_test_multigpu(src, dst, eci, args->op_mod, args->prefetch_req);
+}
+
igt_main
{
struct xe_svm_gpu_info gpus[MAX_XE_GPUS];
@@ -718,6 +889,16 @@ igt_main
for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_coherecy_test_wrapper, &coh_args);
}
+ igt_subtest("latency-multi-gpu") {
+ struct multigpu_ops_args latency_args;
+ latency_args.prefetch_req = 1;
+ latency_args.op_mod = 1;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_latency_test_wrapper, &latency_args);
+ latency_args.prefetch_req = 0;
+ latency_args.op_mod = 0;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_latency_test_wrapper, &latency_args);
+ }
+
igt_fixture {
int cnt;
--
2.48.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH i-g-t v7 07/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU fault handling test
2025-11-13 17:16 [PATCH i-g-t v7 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (5 preceding siblings ...)
2025-11-13 17:16 ` [PATCH i-g-t v7 06/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU performance test nishit.sharma
@ 2025-11-13 17:16 ` nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 08/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU simultaneous access test nishit.sharma
` (6 subsequent siblings)
13 siblings, 0 replies; 22+ messages in thread
From: nishit.sharma @ 2025-11-13 17:16 UTC (permalink / raw)
To: igt-dev
From: Nishit Sharma <nishit.sharma@intel.com>
This test intentionally triggers page faults by accessing regions without
prefetch for both GPUs in a multi-GPU environment.
Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
---
tests/intel/xe_multi_gpusvm.c | 102 ++++++++++++++++++++++++++++++++++
1 file changed, 102 insertions(+)
diff --git a/tests/intel/xe_multi_gpusvm.c b/tests/intel/xe_multi_gpusvm.c
index 2c8e62e34..6feb543ae 100644
--- a/tests/intel/xe_multi_gpusvm.c
+++ b/tests/intel/xe_multi_gpusvm.c
@@ -15,6 +15,7 @@
#include "time.h"
+#include "xe/xe_gt.h"
#include "xe/xe_ioctl.h"
#include "xe/xe_query.h"
#include "xe/xe_util.h"
@@ -48,6 +49,11 @@
* Description:
* This test measures and compares latency and bandwidth for buffer access
* from CPU, local GPU, and remote GPU
+ *
+ * SUBTEST: pagefault-multi-gpu
+ * Description:
+ * This test intentionally triggers page faults by accessing unmapped SVM
+ * regions from both GPUs
*/
#define MAX_XE_REGIONS 8
@@ -115,6 +121,11 @@ static void gpu_latency_test_wrapper(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
void *extra_args);
+static void gpu_fault_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args);
+
static void
create_vm_and_queue(struct xe_svm_gpu_info *gpu, struct drm_xe_engine_class_instance *eci,
uint32_t *vm, uint32_t *exec_queue)
@@ -707,6 +718,76 @@ latency_test_multigpu(struct xe_svm_gpu_info *gpu0,
cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
}
+static void
+pagefault_test_multigpu(struct xe_svm_gpu_info *gpu0,
+ struct xe_svm_gpu_info *gpu1,
+ struct drm_xe_engine_class_instance *eci,
+ bool prefetch_req)
+{
+ uint64_t addr;
+ uint32_t vm[2];
+ uint32_t exec_queue[2];
+ uint32_t batch_bo;
+ uint64_t batch_addr;
+ struct drm_xe_sync sync = {};
+ volatile uint64_t *sync_addr;
+ int value = 60, pf_count_1, pf_count_2;
+ void *data;
+ const char *pf_count_stat = "svm_pagefault_count";
+
+ create_vm_and_queue(gpu0, eci, &vm[0], &exec_queue[0]);
+ create_vm_and_queue(gpu1, eci, &vm[1], &exec_queue[1]);
+
+ data = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(data);
+ addr = to_user_pointer(data);
+
+ pf_count_1 = xe_gt_stats_get_count(gpu0->fd, eci->gt_id, pf_count_stat);
+
+ /* checking pagefault count on GPU */
+ store_dword_batch_init(gpu0->fd, vm[0], addr, &batch_bo, &batch_addr, value);
+
+ xe_multigpu_madvise(gpu0->fd, vm[0], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu0->fd, 0, gpu0->vram_regions[0], exec_queue[0],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu0->fd, vm[0], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[0], prefetch_req);
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute STORE command on GPU */
+ xe_exec_sync(gpu0->fd, exec_queue[0], batch_addr, &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu0->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[0],
+ NSEC_PER_SEC * 10);
+
+ pf_count_2 = xe_gt_stats_get_count(gpu0->fd, eci->gt_id, pf_count_stat);
+
+ if (pf_count_2 != pf_count_1) {
+ igt_warn("GPU pf: pf_count_2(%d) != pf_count_1(%d) prefetch_req :%d\n",
+ pf_count_2, pf_count_1, prefetch_req);
+ }
+
+ igt_assert_eq(*(uint64_t *)addr, value);
+
+ /* CPU writes 11, memset set bytes no integer hence memset fills 4 bytes with 0x0B */
+ memset((void *)(uintptr_t)addr, 11, sizeof(int));
+ igt_assert_eq(*(uint64_t *)addr, 0x0B0B0B0B);
+
+ munmap((void *)batch_addr, BATCH_SIZE(gpu0->fd));
+ batch_fini(gpu0->fd, vm[0], batch_bo, batch_addr);
+ free(data);
+
+ cleanup_vm_and_queue(gpu0, vm[0], exec_queue[0]);
+ cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
+}
+
static void
atomic_inc_op(struct xe_svm_gpu_info *gpu0,
struct xe_svm_gpu_info *gpu1,
@@ -832,6 +913,19 @@ gpu_latency_test_wrapper(struct xe_svm_gpu_info *src,
latency_test_multigpu(src, dst, eci, args->op_mod, args->prefetch_req);
}
+static void
+gpu_fault_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args)
+{
+ struct multigpu_ops_args *args = (struct multigpu_ops_args *)extra_args;
+ igt_assert(src);
+ igt_assert(dst);
+
+ pagefault_test_multigpu(src, dst, eci, args->prefetch_req);
+}
+
igt_main
{
struct xe_svm_gpu_info gpus[MAX_XE_GPUS];
@@ -899,6 +993,14 @@ igt_main
for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_latency_test_wrapper, &latency_args);
}
+ igt_subtest("pagefault-multi-gpu") {
+ struct multigpu_ops_args fault_args;
+ fault_args.prefetch_req = 1;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_fault_test_wrapper, &fault_args);
+ fault_args.prefetch_req = 0;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_fault_test_wrapper, &fault_args);
+ }
+
igt_fixture {
int cnt;
--
2.48.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH i-g-t v7 08/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU simultaneous access test
2025-11-13 17:16 [PATCH i-g-t v7 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (6 preceding siblings ...)
2025-11-13 17:16 ` [PATCH i-g-t v7 07/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU fault handling test nishit.sharma
@ 2025-11-13 17:16 ` nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 09/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU conflicting madvise test nishit.sharma
` (5 subsequent siblings)
13 siblings, 0 replies; 22+ messages in thread
From: nishit.sharma @ 2025-11-13 17:16 UTC (permalink / raw)
To: igt-dev
From: Nishit Sharma <nishit.sharma@intel.com>
This test launches compute or copy workloads on both GPUs that access the same
SVM buffer, using synchronization primitives (fences/semaphores) to coordinate
access. It verifies data integrity and checks for the absence of race conditions
in a multi-GPU SVM environment.
Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
---
tests/intel/xe_multi_gpusvm.c | 133 ++++++++++++++++++++++++++++++++++
1 file changed, 133 insertions(+)
diff --git a/tests/intel/xe_multi_gpusvm.c b/tests/intel/xe_multi_gpusvm.c
index 6feb543ae..dc2a8f9c8 100644
--- a/tests/intel/xe_multi_gpusvm.c
+++ b/tests/intel/xe_multi_gpusvm.c
@@ -54,6 +54,11 @@
* Description:
* This test intentionally triggers page faults by accessing unmapped SVM
* regions from both GPUs
+ *
+ * SUBTEST: concurrent-access-multi-gpu
+ * Description:
+ * This tests aunches simultaneous workloads on both GPUs accessing the
+ * same SVM buffer synchronizes with fences, and verifies data integrity
*/
#define MAX_XE_REGIONS 8
@@ -126,6 +131,11 @@ static void gpu_fault_test_wrapper(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
void *extra_args);
+static void gpu_simult_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args);
+
static void
create_vm_and_queue(struct xe_svm_gpu_info *gpu, struct drm_xe_engine_class_instance *eci,
uint32_t *vm, uint32_t *exec_queue)
@@ -900,6 +910,108 @@ gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
coherency_test_multigpu(src, dst, eci, args->op_mod, args->prefetch_req);
}
+static void
+multigpu_access_test(struct xe_svm_gpu_info *gpu0,
+ struct xe_svm_gpu_info *gpu1,
+ struct drm_xe_engine_class_instance *eci,
+ bool no_prefetch)
+{
+ uint64_t addr;
+ uint32_t vm[2];
+ uint32_t exec_queue[2];
+ uint32_t batch_bo[2];
+ struct test_exec_data *data;
+ uint64_t batch_addr[2];
+ struct drm_xe_sync sync[2] = {};
+ volatile uint64_t *sync_addr[2];
+ volatile uint32_t *shared_val;
+
+ create_vm_and_queue(gpu0, eci, &vm[0], &exec_queue[0]);
+ create_vm_and_queue(gpu1, eci, &vm[1], &exec_queue[1]);
+
+ data = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(data);
+ data[0].vm_sync = 0;
+ addr = to_user_pointer(data);
+
+ shared_val = (volatile uint32_t *)addr;
+ *shared_val = ATOMIC_OP_VAL - 1;
+
+ atomic_batch_init(gpu0->fd, vm[0], addr, &batch_bo[0], &batch_addr[0]);
+ *shared_val = ATOMIC_OP_VAL - 2;
+ atomic_batch_init(gpu1->fd, vm[1], addr, &batch_bo[1], &batch_addr[1]);
+
+ /* Place destination in an optionally remote location to test */
+ xe_multigpu_madvise(gpu0->fd, vm[0], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu0->fd, 0, gpu0->vram_regions[0], exec_queue[0],
+ 0, 0);
+ xe_multigpu_madvise(gpu1->fd, vm[1], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu1->fd, 0, gpu1->vram_regions[0], exec_queue[1],
+ 0, 0);
+
+ setup_sync(&sync[0], &sync_addr[0], BIND_SYNC_VAL);
+ setup_sync(&sync[1], &sync_addr[1], BIND_SYNC_VAL);
+
+ /* For simultaneous access need to call xe_wait_ufence for both gpus after prefetch */
+ if(!no_prefetch) {
+ xe_vm_prefetch_async(gpu0->fd, vm[0], 0, 0, addr,
+ SZ_4K, &sync[0], 1,
+ DRM_XE_CONSULT_MEM_ADVISE_PREF_LOC);
+
+ xe_vm_prefetch_async(gpu1->fd, vm[1], 0, 0, addr,
+ SZ_4K, &sync[1], 1,
+ DRM_XE_CONSULT_MEM_ADVISE_PREF_LOC);
+
+ if (*sync_addr[0] != BIND_SYNC_VAL)
+ xe_wait_ufence(gpu0->fd, (uint64_t *)sync_addr[0], BIND_SYNC_VAL, exec_queue[0],
+ NSEC_PER_SEC * 10);
+ free((void *)sync_addr[0]);
+ if (*sync_addr[1] != BIND_SYNC_VAL)
+ xe_wait_ufence(gpu1->fd, (uint64_t *)sync_addr[1], BIND_SYNC_VAL, exec_queue[1],
+ NSEC_PER_SEC * 10);
+ free((void *)sync_addr[1]);
+ }
+
+ if (no_prefetch) {
+ free((void *)sync_addr[0]);
+ free((void *)sync_addr[1]);
+ }
+
+ for (int i = 0; i < 100; i++) {
+ sync_addr[0] = (void *)((char *)batch_addr[0] + SZ_4K);
+ sync[0].addr = to_user_pointer((uint64_t *)sync_addr[0]);
+ sync[0].timeline_value = EXEC_SYNC_VAL;
+
+ sync_addr[1] = (void *)((char *)batch_addr[1] + SZ_4K);
+ sync[1].addr = to_user_pointer((uint64_t *)sync_addr[1]);
+ sync[1].timeline_value = EXEC_SYNC_VAL;
+ *sync_addr[0] = 0;
+ *sync_addr[1] = 0;
+
+ xe_exec_sync(gpu0->fd, exec_queue[0], batch_addr[0], &sync[0], 1);
+ if (*sync_addr[0] != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu0->fd, (uint64_t *)sync_addr[0], EXEC_SYNC_VAL, exec_queue[0],
+ NSEC_PER_SEC * 10);
+ xe_exec_sync(gpu1->fd, exec_queue[1], batch_addr[1], &sync[1], 1);
+ if (*sync_addr[1] != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu1->fd, (uint64_t *)sync_addr[1], EXEC_SYNC_VAL, exec_queue[1],
+ NSEC_PER_SEC * 10);
+ }
+
+ igt_assert_eq(*(uint64_t *)addr, 254);
+
+ munmap((void *)batch_addr[0], BATCH_SIZE(gpu0->fd));
+ munmap((void *)batch_addr[1], BATCH_SIZE(gpu0->fd));
+ batch_fini(gpu0->fd, vm[0], batch_bo[0], batch_addr[0]);
+ batch_fini(gpu1->fd, vm[1], batch_bo[1], batch_addr[1]);
+ free(data);
+
+ cleanup_vm_and_queue(gpu0, vm[0], exec_queue[0]);
+ cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
+}
+
static void
gpu_latency_test_wrapper(struct xe_svm_gpu_info *src,
struct xe_svm_gpu_info *dst,
@@ -926,6 +1038,19 @@ gpu_fault_test_wrapper(struct xe_svm_gpu_info *src,
pagefault_test_multigpu(src, dst, eci, args->prefetch_req);
}
+static void
+gpu_simult_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args)
+{
+ struct multigpu_ops_args *args = (struct multigpu_ops_args *)extra_args;
+ igt_assert(src);
+ igt_assert(dst);
+
+ multigpu_access_test(src, dst, eci, args->prefetch_req);
+}
+
igt_main
{
struct xe_svm_gpu_info gpus[MAX_XE_GPUS];
@@ -1001,6 +1126,14 @@ igt_main
for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_fault_test_wrapper, &fault_args);
}
+ igt_subtest("concurrent-access-multi-gpu") {
+ struct multigpu_ops_args simul_args;
+ simul_args.prefetch_req = 1;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_simult_test_wrapper, &simul_args);
+ simul_args.prefetch_req = 0;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_simult_test_wrapper, &simul_args);
+ }
+
igt_fixture {
int cnt;
--
2.48.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH i-g-t v7 09/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU conflicting madvise test
2025-11-13 17:16 [PATCH i-g-t v7 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (7 preceding siblings ...)
2025-11-13 17:16 ` [PATCH i-g-t v7 08/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU simultaneous access test nishit.sharma
@ 2025-11-13 17:16 ` nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 10/10] tests/intel/xe_multi-gpusvm: Add SVM multi-GPU migration test nishit.sharma
` (4 subsequent siblings)
13 siblings, 0 replies; 22+ messages in thread
From: nishit.sharma @ 2025-11-13 17:16 UTC (permalink / raw)
To: igt-dev
From: Nishit Sharma <nishit.sharma@intel.com>
This test calls madvise operations on GPU0 with the preferred location set
to GPU1 and vice versa. It reports conflicts when conflicting memory advice
is given for shared SVM buffers in a multi-GPU environment.
Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
---
tests/intel/xe_multi_gpusvm.c | 143 ++++++++++++++++++++++++++++++++++
1 file changed, 143 insertions(+)
diff --git a/tests/intel/xe_multi_gpusvm.c b/tests/intel/xe_multi_gpusvm.c
index dc2a8f9c8..afbf010e6 100644
--- a/tests/intel/xe_multi_gpusvm.c
+++ b/tests/intel/xe_multi_gpusvm.c
@@ -59,6 +59,11 @@
* Description:
* This tests aunches simultaneous workloads on both GPUs accessing the
* same SVM buffer synchronizes with fences, and verifies data integrity
+ *
+ * SUBTEST: conflicting-madvise-gpu
+ * Description:
+ * This test checks conflicting madvise by allocating shared buffer
+ * prefetches from both and checks for migration conflicts
*/
#define MAX_XE_REGIONS 8
@@ -69,6 +74,8 @@
#define EXEC_SYNC_VAL 0x676767
#define COPY_SIZE SZ_64M
#define ATOMIC_OP_VAL 56
+#define USER_FENCE_VALUE 0xdeadbeefdeadbeefull
+#define FIVE_SEC (5LL * NSEC_PER_SEC)
struct xe_svm_gpu_info {
bool supports_faults;
@@ -136,6 +143,11 @@ static void gpu_simult_test_wrapper(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
void *extra_args);
+static void gpu_conflict_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args);
+
static void
create_vm_and_queue(struct xe_svm_gpu_info *gpu, struct drm_xe_engine_class_instance *eci,
uint32_t *vm, uint32_t *exec_queue)
@@ -798,6 +810,116 @@ pagefault_test_multigpu(struct xe_svm_gpu_info *gpu0,
cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
}
+#define XE_BO_FLAG_SYSTEM BIT(1)
+#define XE_BO_FLAG_CPU_ADDR_MIRROR BIT(24)
+
+static void
+conflicting_madvise(struct xe_svm_gpu_info *gpu0,
+ struct xe_svm_gpu_info *gpu1,
+ struct drm_xe_engine_class_instance *eci,
+ bool no_prefetch)
+{
+ uint64_t addr;
+ uint32_t vm[2];
+ uint32_t exec_queue[2];
+ uint32_t batch_bo[2];
+ void *data;
+ uint64_t batch_addr[2];
+ struct drm_xe_sync sync[2] = {};
+ volatile uint64_t *sync_addr[2];
+ int local_fd;
+ uint16_t local_vram;
+
+ create_vm_and_queue(gpu0, eci, &vm[0], &exec_queue[0]);
+ create_vm_and_queue(gpu1, eci, &vm[1], &exec_queue[1]);
+
+ data = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(data);
+ addr = to_user_pointer(data);
+
+ xe_vm_madvise(gpu0->fd, vm[0], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ DRM_XE_PREFERRED_LOC_DEFAULT_SYSTEM, 0, 0);
+
+ store_dword_batch_init(gpu0->fd, vm[0], addr, &batch_bo[0], &batch_addr[0], 10);
+ store_dword_batch_init(gpu1->fd, vm[0], addr, &batch_bo[1], &batch_addr[1], 20);
+
+ /* Place destination in an optionally remote location to test */
+ local_fd = gpu0->fd;
+ local_vram = gpu0->vram_regions[0];
+ xe_multigpu_madvise(gpu0->fd, vm[0], addr, SZ_4K,
+ 0, DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu1->fd, 0, gpu1->vram_regions[0], exec_queue[0],
+ local_fd, local_vram);
+
+ local_fd = gpu1->fd;
+ local_vram = gpu1->vram_regions[0];
+ xe_multigpu_madvise(gpu1->fd, vm[1], addr, SZ_4K,
+ 0, DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu0->fd, 0, gpu0->vram_regions[0], exec_queue[0],
+ local_fd, local_vram);
+
+ setup_sync(&sync[0], &sync_addr[0], BIND_SYNC_VAL);
+ setup_sync(&sync[1], &sync_addr[1], BIND_SYNC_VAL);
+
+ /* For simultaneous access need to call xe_wait_ufence for both gpus after prefetch */
+ if(!no_prefetch) {
+ xe_vm_prefetch_async(gpu0->fd, vm[0], 0, 0, addr,
+ SZ_4K, &sync[0], 1,
+ DRM_XE_CONSULT_MEM_ADVISE_PREF_LOC);
+
+ xe_vm_prefetch_async(gpu1->fd, vm[1], 0, 0, addr,
+ SZ_4K, &sync[1], 1,
+ DRM_XE_CONSULT_MEM_ADVISE_PREF_LOC);
+
+ if (*sync_addr[0] != BIND_SYNC_VAL)
+ xe_wait_ufence(gpu0->fd, (uint64_t *)sync_addr[0], BIND_SYNC_VAL, exec_queue[0],
+ NSEC_PER_SEC * 10);
+ free((void *)sync_addr[0]);
+ if (*sync_addr[1] != BIND_SYNC_VAL)
+ xe_wait_ufence(gpu1->fd, (uint64_t *)sync_addr[1], BIND_SYNC_VAL, exec_queue[1],
+ NSEC_PER_SEC * 10);
+ free((void *)sync_addr[1]);
+ }
+
+ if (no_prefetch) {
+ free((void *)sync_addr[0]);
+ free((void *)sync_addr[1]);
+ }
+
+ for (int i = 0; i < 1; i++) {
+ sync_addr[0] = (void *)((char *)batch_addr[0] + SZ_4K);
+ sync[0].addr = to_user_pointer((uint64_t *)sync_addr[0]);
+ sync[0].timeline_value = EXEC_SYNC_VAL;
+
+ sync_addr[1] = (void *)((char *)batch_addr[1] + SZ_4K);
+ sync[1].addr = to_user_pointer((uint64_t *)sync_addr[1]);
+ sync[1].timeline_value = EXEC_SYNC_VAL;
+ *sync_addr[0] = 0;
+ *sync_addr[1] = 0;
+
+ xe_exec_sync(gpu0->fd, exec_queue[0], batch_addr[0], &sync[0], 1);
+ if (*sync_addr[0] != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu0->fd, (uint64_t *)sync_addr[0], EXEC_SYNC_VAL, exec_queue[0],
+ NSEC_PER_SEC * 10);
+ xe_exec_sync(gpu1->fd, exec_queue[1], batch_addr[1], &sync[1], 1);
+ if (*sync_addr[1] != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu1->fd, (uint64_t *)sync_addr[1], EXEC_SYNC_VAL, exec_queue[1],
+ NSEC_PER_SEC * 10);
+ }
+
+ igt_assert_eq(*(uint64_t *)addr, 20);
+
+ munmap((void *)batch_addr[0], BATCH_SIZE(gpu0->fd));
+ munmap((void *)batch_addr[1], BATCH_SIZE(gpu0->fd));
+ batch_fini(gpu0->fd, vm[0], batch_bo[0], batch_addr[0]);
+ batch_fini(gpu1->fd, vm[1], batch_bo[1], batch_addr[1]);
+ free(data);
+
+ cleanup_vm_and_queue(gpu0, vm[0], exec_queue[0]);
+ cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
+}
+
static void
atomic_inc_op(struct xe_svm_gpu_info *gpu0,
struct xe_svm_gpu_info *gpu1,
@@ -1012,6 +1134,19 @@ multigpu_access_test(struct xe_svm_gpu_info *gpu0,
cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
}
+static void
+gpu_conflict_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args)
+{
+ struct multigpu_ops_args *args = (struct multigpu_ops_args *)extra_args;
+ igt_assert(src);
+ igt_assert(dst);
+
+ conflicting_madvise(src, dst, eci, args->prefetch_req);
+}
+
static void
gpu_latency_test_wrapper(struct xe_svm_gpu_info *src,
struct xe_svm_gpu_info *dst,
@@ -1108,6 +1243,14 @@ igt_main
for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_coherecy_test_wrapper, &coh_args);
}
+ igt_subtest("conflicting-madvise-gpu") {
+ struct multigpu_ops_args conflict_args;
+ conflict_args.prefetch_req = 1;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_conflict_test_wrapper, &conflict_args);
+ conflict_args.prefetch_req = 0;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_conflict_test_wrapper, &conflict_args);
+ }
+
igt_subtest("latency-multi-gpu") {
struct multigpu_ops_args latency_args;
latency_args.prefetch_req = 1;
--
2.48.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH i-g-t v7 10/10] tests/intel/xe_multi-gpusvm: Add SVM multi-GPU migration test
2025-11-13 17:16 [PATCH i-g-t v7 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (8 preceding siblings ...)
2025-11-13 17:16 ` [PATCH i-g-t v7 09/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU conflicting madvise test nishit.sharma
@ 2025-11-13 17:16 ` nishit.sharma
2025-11-14 0:43 ` ✓ i915.CI.BAT: success for Madvise feature in SVM for Multi-GPU configs Patchwork
` (3 subsequent siblings)
13 siblings, 0 replies; 22+ messages in thread
From: nishit.sharma @ 2025-11-13 17:16 UTC (permalink / raw)
To: igt-dev
From: Nishit Sharma <nishit.sharma@intel.com>
This test allocates a buffer in SVM, accesses it from GPU 1, then GPU 2
and then the CPU. It verifies that the buffer migrates correctly between
devices and remains accessible across all agents in a multi-GPU environment.
Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
---
tests/intel/xe_multi_gpusvm.c | 155 ++++++++++++++++++++++++++++++++++
1 file changed, 155 insertions(+)
diff --git a/tests/intel/xe_multi_gpusvm.c b/tests/intel/xe_multi_gpusvm.c
index afbf010e6..a4acb2455 100644
--- a/tests/intel/xe_multi_gpusvm.c
+++ b/tests/intel/xe_multi_gpusvm.c
@@ -64,6 +64,11 @@
* Description:
* This test checks conflicting madvise by allocating shared buffer
* prefetches from both and checks for migration conflicts
+ *
+ * SUBTEST: migrate-test-multi-gpu
+ * Description:
+ * This test allocates an SVM buffer, accesses it from GPU 1, GPU 2, and CPU,
+ * and verifies migration and accessibility between devices
*/
#define MAX_XE_REGIONS 8
@@ -148,6 +153,11 @@ static void gpu_conflict_test_wrapper(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
void *extra_args);
+static void gpu_migration_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args);
+
static void
create_vm_and_queue(struct xe_svm_gpu_info *gpu, struct drm_xe_engine_class_instance *eci,
uint32_t *vm, uint32_t *exec_queue)
@@ -1134,6 +1144,130 @@ multigpu_access_test(struct xe_svm_gpu_info *gpu0,
cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
}
+static void
+multigpu_migrate_test(struct xe_svm_gpu_info *gpu0,
+ struct xe_svm_gpu_info *gpu1,
+ struct drm_xe_engine_class_instance *eci,
+ bool prefetch_req)
+{
+ uint64_t addr;
+ uint32_t vm[2];
+ uint32_t exec_queue[2];
+ uint32_t batch1_bo[2];
+ uint64_t batch1_addr[2];
+ struct drm_xe_sync sync = {};
+ volatile uint64_t *sync_addr;
+ int value = 60;
+ uint64_t *data1;
+ void *copy_dst;
+
+ create_vm_and_queue(gpu0, eci, &vm[0], &exec_queue[0]);
+ create_vm_and_queue(gpu1, eci, &vm[1], &exec_queue[1]);
+
+ data1 = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(data1);
+ addr = to_user_pointer(data1);
+
+ copy_dst = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(copy_dst);
+
+ xe_vm_madvise(gpu0->fd, vm[0], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ DRM_XE_PREFERRED_LOC_DEFAULT_SYSTEM, 0, 0);
+
+ store_dword_batch_init(gpu0->fd, vm[0], addr, &batch1_bo[0], &batch1_addr[0], value);
+
+ /* Place destination in GPU0 local memory location to test */
+ xe_multigpu_madvise(gpu0->fd, vm[0], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu0->fd, 0, gpu0->vram_regions[0], exec_queue[0],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu0->fd, vm[0], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[0], prefetch_req);
+
+ sync_addr = (void *)((char *)batch1_addr[0] + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute STORE command on GPU0 */
+ xe_exec_sync(gpu0->fd, exec_queue[0], batch1_addr[0], &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu0->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[0],
+ NSEC_PER_SEC * 10);
+
+ igt_assert_eq(*(uint64_t *)addr, value);
+
+ /* Creating batch for GPU1 using addr as Src which have value from GPU0 */
+ store_dword_batch_init(gpu1->fd, vm[1], addr, &batch1_bo[1], &batch1_addr[1], value + 10);
+
+ /* Place destination in GPU1 local memory location to test */
+ xe_multigpu_madvise(gpu1->fd, vm[1], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu1->fd, 0, gpu1->vram_regions[0], exec_queue[1],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu1->fd, vm[1], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[1], prefetch_req);
+
+ sync_addr = (void *)((char *)batch1_addr[1] + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute COPY command on GPU1 */
+ xe_exec_sync(gpu1->fd, exec_queue[1], batch1_addr[1], &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu1->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[1],
+ NSEC_PER_SEC * 10);
+
+ igt_assert_eq(*(uint64_t *)addr, value + 10);
+
+ /* CPU writes 10, memset set bytes no integer hence memset fills 4 bytes with 0x0A */
+ memset((void *)(uintptr_t)addr, 10, sizeof(int));
+ igt_assert_eq(*(uint64_t *)addr, 0x0A0A0A0A);
+
+ /* Creating batch for GPU1 using addr as Src which have value from GPU0 */
+ batch_init(gpu1->fd, vm[1], addr, to_user_pointer(copy_dst),
+ SZ_4K, &batch1_bo[1], &batch1_addr[1]);
+
+ /* Place destination in GPU1 local memory location to test */
+ xe_multigpu_madvise(gpu1->fd, vm[0], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu1->fd, 0, gpu1->vram_regions[0], exec_queue[0],
+ 0, 0);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu0->fd, vm[0], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[0], prefetch_req);
+
+ sync_addr = (void *)((char *)batch1_addr[1] + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ *sync_addr = 0;
+
+ /* Execute COPY command on GPU1 */
+ xe_exec_sync(gpu1->fd, exec_queue[1], batch1_addr[1], &sync, 1);
+ if (*sync_addr != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu1->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue[1],
+ NSEC_PER_SEC * 10);
+
+ igt_assert_eq(*(uint64_t *)copy_dst, 0x0A0A0A0A);
+
+ munmap((void *)batch1_addr[0], BATCH_SIZE(gpu0->fd));
+ munmap((void *)batch1_addr[1], BATCH_SIZE(gpu1->fd));
+ batch_fini(gpu0->fd, vm[0], batch1_bo[0], batch1_addr[0]);
+ batch_fini(gpu1->fd, vm[1], batch1_bo[1], batch1_addr[1]);
+ free(data1);
+ free(copy_dst);
+
+ cleanup_vm_and_queue(gpu0, vm[0], exec_queue[0]);
+ cleanup_vm_and_queue(gpu1, vm[1], exec_queue[1]);
+}
+
static void
gpu_conflict_test_wrapper(struct xe_svm_gpu_info *src,
struct xe_svm_gpu_info *dst,
@@ -1186,6 +1320,19 @@ gpu_simult_test_wrapper(struct xe_svm_gpu_info *src,
multigpu_access_test(src, dst, eci, args->prefetch_req);
}
+static void
+gpu_migration_test_wrapper(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ void *extra_args)
+{
+ struct multigpu_ops_args *args = (struct multigpu_ops_args *)extra_args;
+ igt_assert(src);
+ igt_assert(dst);
+
+ multigpu_migrate_test(src, dst, eci, args->prefetch_req);
+}
+
igt_main
{
struct xe_svm_gpu_info gpus[MAX_XE_GPUS];
@@ -1277,6 +1424,14 @@ igt_main
for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_simult_test_wrapper, &simul_args);
}
+ igt_subtest("migrate-test-multi-gpu") {
+ struct multigpu_ops_args migrate_args;
+ migrate_args.prefetch_req = 1;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_migration_test_wrapper, &migrate_args);
+ migrate_args.prefetch_req = 0;
+ for_each_gpu_pair(gpu_cnt, gpus, &eci, gpu_migration_test_wrapper, &migrate_args);
+ }
+
igt_fixture {
int cnt;
--
2.48.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* ✓ i915.CI.BAT: success for Madvise feature in SVM for Multi-GPU configs
2025-11-13 17:16 [PATCH i-g-t v7 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (9 preceding siblings ...)
2025-11-13 17:16 ` [PATCH i-g-t v7 10/10] tests/intel/xe_multi-gpusvm: Add SVM multi-GPU migration test nishit.sharma
@ 2025-11-14 0:43 ` Patchwork
2025-11-14 1:06 ` ✓ Xe.CI.BAT: " Patchwork
` (2 subsequent siblings)
13 siblings, 0 replies; 22+ messages in thread
From: Patchwork @ 2025-11-14 0:43 UTC (permalink / raw)
To: nishit.sharma; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 3607 bytes --]
== Series Details ==
Series: Madvise feature in SVM for Multi-GPU configs
URL : https://patchwork.freedesktop.org/series/157524/
State : success
== Summary ==
CI Bug Log - changes from IGT_8623 -> IGTPW_14057
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/index.html
Participating hosts (44 -> 43)
------------------------------
Missing (1): fi-snb-2520m
Known issues
------------
Here are the changes found in IGTPW_14057 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_module_load@load:
- bat-mtlp-9: [PASS][1] -> [DMESG-WARN][2] ([i915#13494])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8623/bat-mtlp-9/igt@i915_module_load@load.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/bat-mtlp-9/igt@i915_module_load@load.html
* igt@i915_selftest@live@workarounds:
- bat-arls-5: [PASS][3] -> [DMESG-FAIL][4] ([i915#12061]) +1 other test dmesg-fail
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8623/bat-arls-5/igt@i915_selftest@live@workarounds.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/bat-arls-5/igt@i915_selftest@live@workarounds.html
#### Possible fixes ####
* igt@i915_selftest@live@workarounds:
- bat-dg2-9: [DMESG-FAIL][5] ([i915#12061]) -> [PASS][6] +1 other test pass
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8623/bat-dg2-9/igt@i915_selftest@live@workarounds.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/bat-dg2-9/igt@i915_selftest@live@workarounds.html
- bat-mtlp-9: [DMESG-FAIL][7] ([i915#12061]) -> [PASS][8] +1 other test pass
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8623/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
#### Warnings ####
* igt@i915_selftest@live:
- bat-atsm-1: [DMESG-FAIL][9] ([i915#12061] / [i915#13929]) -> [DMESG-FAIL][10] ([i915#12061] / [i915#14204])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8623/bat-atsm-1/igt@i915_selftest@live.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/bat-atsm-1/igt@i915_selftest@live.html
* igt@i915_selftest@live@mman:
- bat-atsm-1: [DMESG-FAIL][11] ([i915#13929]) -> [DMESG-FAIL][12] ([i915#14204])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8623/bat-atsm-1/igt@i915_selftest@live@mman.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/bat-atsm-1/igt@i915_selftest@live@mman.html
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#13494]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13494
[i915#13929]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13929
[i915#14204]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14204
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_8623 -> IGTPW_14057
* Linux: CI_DRM_17544 -> CI_DRM_17545
CI-20190529: 20190529
CI_DRM_17544: 9d61bbd3042d1976dc5f67a30e0aa6c010cbc98f @ git://anongit.freedesktop.org/gfx-ci/linux
CI_DRM_17545: e15c082b1af0c5cd053273ea096ab84fbc309657 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_14057: 563b969f3ee3984029668b1e77f8d67abd67f926 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8623: 8623
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/index.html
[-- Attachment #2: Type: text/html, Size: 4781 bytes --]
^ permalink raw reply [flat|nested] 22+ messages in thread
* ✓ Xe.CI.BAT: success for Madvise feature in SVM for Multi-GPU configs
2025-11-13 17:16 [PATCH i-g-t v7 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (10 preceding siblings ...)
2025-11-14 0:43 ` ✓ i915.CI.BAT: success for Madvise feature in SVM for Multi-GPU configs Patchwork
@ 2025-11-14 1:06 ` Patchwork
2025-11-14 10:28 ` ✗ Xe.CI.Full: failure " Patchwork
2025-11-14 21:13 ` ✓ i915.CI.Full: success " Patchwork
13 siblings, 0 replies; 22+ messages in thread
From: Patchwork @ 2025-11-14 1:06 UTC (permalink / raw)
To: nishit.sharma; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 2014 bytes --]
== Series Details ==
Series: Madvise feature in SVM for Multi-GPU configs
URL : https://patchwork.freedesktop.org/series/157524/
State : success
== Summary ==
CI Bug Log - changes from XEIGT_8623_BAT -> XEIGTPW_14057_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (13 -> 13)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in XEIGTPW_14057_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_flip@basic-plain-flip@d-edp1:
- bat-adlp-7: [PASS][1] -> [DMESG-WARN][2] ([Intel XE#4543]) +1 other test dmesg-warn
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/bat-adlp-7/igt@kms_flip@basic-plain-flip@d-edp1.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/bat-adlp-7/igt@kms_flip@basic-plain-flip@d-edp1.html
#### Possible fixes ####
* igt@kms_flip@basic-flip-vs-modeset:
- bat-adlp-7: [DMESG-WARN][3] ([Intel XE#4543]) -> [PASS][4] +1 other test pass
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/bat-adlp-7/igt@kms_flip@basic-flip-vs-modeset.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/bat-adlp-7/igt@kms_flip@basic-flip-vs-modeset.html
[Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
Build changes
-------------
* IGT: IGT_8623 -> IGTPW_14057
* Linux: xe-4101-efff261d878490433669a252a1f40412e784ef92 -> xe-4104-e15c082b1af0c5cd053273ea096ab84fbc309657
IGTPW_14057: 563b969f3ee3984029668b1e77f8d67abd67f926 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8623: 8623
xe-4101-efff261d878490433669a252a1f40412e784ef92: efff261d878490433669a252a1f40412e784ef92
xe-4104-e15c082b1af0c5cd053273ea096ab84fbc309657: e15c082b1af0c5cd053273ea096ab84fbc309657
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/index.html
[-- Attachment #2: Type: text/html, Size: 2688 bytes --]
^ permalink raw reply [flat|nested] 22+ messages in thread
* ✗ Xe.CI.Full: failure for Madvise feature in SVM for Multi-GPU configs
2025-11-13 17:16 [PATCH i-g-t v7 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (11 preceding siblings ...)
2025-11-14 1:06 ` ✓ Xe.CI.BAT: " Patchwork
@ 2025-11-14 10:28 ` Patchwork
2025-11-14 21:13 ` ✓ i915.CI.Full: success " Patchwork
13 siblings, 0 replies; 22+ messages in thread
From: Patchwork @ 2025-11-14 10:28 UTC (permalink / raw)
To: nishit.sharma; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 71263 bytes --]
== Series Details ==
Series: Madvise feature in SVM for Multi-GPU configs
URL : https://patchwork.freedesktop.org/series/157524/
State : failure
== Summary ==
CI Bug Log - changes from XEIGT_8623_FULL -> XEIGTPW_14057_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with XEIGTPW_14057_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in XEIGTPW_14057_FULL, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (4 -> 3)
------------------------------
Missing (1): shard-adlp
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in XEIGTPW_14057_FULL:
### IGT changes ###
#### Possible regressions ####
* {igt@xe_multi_gpusvm@atomic-inc-gpu-op} (NEW):
- shard-bmg: NOTRUN -> [SKIP][1] +7 other tests skip
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-8/igt@xe_multi_gpusvm@atomic-inc-gpu-op.html
* {igt@xe_multi_gpusvm@concurrent-access-multi-gpu} (NEW):
- shard-lnl: NOTRUN -> [SKIP][2] +7 other tests skip
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-2/igt@xe_multi_gpusvm@concurrent-access-multi-gpu.html
* igt@xe_waitfence@abstime:
- shard-bmg: [PASS][3] -> [FAIL][4]
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-1/igt@xe_waitfence@abstime.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-5/igt@xe_waitfence@abstime.html
New tests
---------
New tests have been introduced between XEIGT_8623_FULL and XEIGTPW_14057_FULL:
### New IGT tests (9) ###
* igt@kms_feature_discovery:
- Statuses :
- Exec time: [None] s
* igt@xe_multi_gpusvm@atomic-inc-gpu-op:
- Statuses : 1 pass(s) 2 skip(s)
- Exec time: [0.0] s
* igt@xe_multi_gpusvm@coherency-multi-gpu:
- Statuses : 1 pass(s) 2 skip(s)
- Exec time: [0.0] s
* igt@xe_multi_gpusvm@concurrent-access-multi-gpu:
- Statuses : 1 pass(s) 2 skip(s)
- Exec time: [0.0] s
* igt@xe_multi_gpusvm@conflicting-madvise-gpu:
- Statuses : 1 pass(s) 2 skip(s)
- Exec time: [0.0] s
* igt@xe_multi_gpusvm@cross-gpu-mem-access:
- Statuses : 1 pass(s) 2 skip(s)
- Exec time: [0.0] s
* igt@xe_multi_gpusvm@latency-multi-gpu:
- Statuses : 1 pass(s) 2 skip(s)
- Exec time: [0.0] s
* igt@xe_multi_gpusvm@migrate-test-multi-gpu:
- Statuses : 1 pass(s) 2 skip(s)
- Exec time: [0.0] s
* igt@xe_multi_gpusvm@pagefault-multi-gpu:
- Statuses : 1 pass(s) 2 skip(s)
- Exec time: [0.0] s
Known issues
------------
Here are the changes found in XEIGTPW_14057_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_async_flips@test-cursor:
- shard-lnl: NOTRUN -> [SKIP][5] ([Intel XE#664])
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-1/igt@kms_async_flips@test-cursor.html
* igt@kms_big_fb@linear-64bpp-rotate-270:
- shard-bmg: NOTRUN -> [SKIP][6] ([Intel XE#2327]) +2 other tests skip
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-8/igt@kms_big_fb@linear-64bpp-rotate-270.html
* igt@kms_big_fb@x-tiled-32bpp-rotate-90:
- shard-lnl: NOTRUN -> [SKIP][7] ([Intel XE#1407])
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-4/igt@kms_big_fb@x-tiled-32bpp-rotate-90.html
* igt@kms_big_fb@x-tiled-8bpp-rotate-270:
- shard-dg2-set2: NOTRUN -> [SKIP][8] ([Intel XE#316])
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-432/igt@kms_big_fb@x-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip:
- shard-dg2-set2: NOTRUN -> [SKIP][9] ([Intel XE#1124]) +9 other tests skip
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-433/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
- shard-bmg: NOTRUN -> [SKIP][10] ([Intel XE#1124]) +1 other test skip
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-2/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
* igt@kms_big_fb@yf-tiled-addfb:
- shard-dg2-set2: NOTRUN -> [SKIP][11] ([Intel XE#619])
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-464/igt@kms_big_fb@yf-tiled-addfb.html
* igt@kms_big_fb@yf-tiled-addfb-size-overflow:
- shard-dg2-set2: NOTRUN -> [SKIP][12] ([Intel XE#610])
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-434/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
- shard-lnl: NOTRUN -> [SKIP][13] ([Intel XE#1124]) +1 other test skip
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-5/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html
* igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p:
- shard-lnl: NOTRUN -> [SKIP][14] ([Intel XE#2191]) +1 other test skip
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-3/igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p.html
* igt@kms_bw@linear-tiling-3-displays-2560x1440p:
- shard-dg2-set2: NOTRUN -> [SKIP][15] ([Intel XE#367]) +1 other test skip
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-464/igt@kms_bw@linear-tiling-3-displays-2560x1440p.html
* igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs-cc:
- shard-bmg: NOTRUN -> [SKIP][16] ([Intel XE#2887]) +9 other tests skip
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs-cc.html
* igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [SKIP][17] ([Intel XE#787]) +104 other tests skip
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-436/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-6.html
* igt@kms_ccs@bad-pixel-format-yf-tiled-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][18] ([Intel XE#455] / [Intel XE#787]) +29 other tests skip
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-432/igt@kms_ccs@bad-pixel-format-yf-tiled-ccs.html
* igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][19] ([Intel XE#2907])
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-434/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][20] ([Intel XE#3442])
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-463/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [SKIP][21] ([Intel XE#2652] / [Intel XE#787]) +8 other tests skip
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-8/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-a-dp-2.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs:
- shard-lnl: NOTRUN -> [SKIP][22] ([Intel XE#2887]) +3 other tests skip
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-3/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-d-dp-4:
- shard-dg2-set2: NOTRUN -> [INCOMPLETE][23] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4345] / [Intel XE#4522])
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-d-dp-4.html
* igt@kms_chamelium_color@ctm-green-to-red:
- shard-bmg: NOTRUN -> [SKIP][24] ([Intel XE#2325]) +1 other test skip
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-4/igt@kms_chamelium_color@ctm-green-to-red.html
* igt@kms_chamelium_color@gamma:
- shard-dg2-set2: NOTRUN -> [SKIP][25] ([Intel XE#306]) +1 other test skip
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-436/igt@kms_chamelium_color@gamma.html
* igt@kms_chamelium_edid@dp-edid-change-during-suspend:
- shard-dg2-set2: NOTRUN -> [SKIP][26] ([Intel XE#373]) +6 other tests skip
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-433/igt@kms_chamelium_edid@dp-edid-change-during-suspend.html
* igt@kms_chamelium_hpd@dp-hpd-storm-disable:
- shard-bmg: NOTRUN -> [SKIP][27] ([Intel XE#2252]) +4 other tests skip
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-2/igt@kms_chamelium_hpd@dp-hpd-storm-disable.html
* igt@kms_chamelium_hpd@vga-hpd-enable-disable-mode:
- shard-lnl: NOTRUN -> [SKIP][28] ([Intel XE#373]) +2 other tests skip
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-1/igt@kms_chamelium_hpd@vga-hpd-enable-disable-mode.html
* igt@kms_content_protection@atomic-dpms@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][29] ([Intel XE#1178]) +1 other test fail
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-8/igt@kms_content_protection@atomic-dpms@pipe-a-dp-2.html
* igt@kms_content_protection@dp-mst-lic-type-1:
- shard-bmg: NOTRUN -> [SKIP][30] ([Intel XE#2390])
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-6/igt@kms_content_protection@dp-mst-lic-type-1.html
- shard-dg2-set2: NOTRUN -> [SKIP][31] ([Intel XE#307])
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-432/igt@kms_content_protection@dp-mst-lic-type-1.html
* igt@kms_cursor_crc@cursor-offscreen-32x32:
- shard-bmg: NOTRUN -> [SKIP][32] ([Intel XE#2320]) +1 other test skip
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@kms_cursor_crc@cursor-offscreen-32x32.html
* igt@kms_cursor_crc@cursor-random-32x10:
- shard-lnl: NOTRUN -> [SKIP][33] ([Intel XE#1424])
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-3/igt@kms_cursor_crc@cursor-random-32x10.html
* igt@kms_cursor_crc@cursor-sliding-512x170:
- shard-bmg: NOTRUN -> [SKIP][34] ([Intel XE#2321])
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-6/igt@kms_cursor_crc@cursor-sliding-512x170.html
* igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
- shard-lnl: NOTRUN -> [SKIP][35] ([Intel XE#309]) +1 other test skip
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-2/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html
* igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
- shard-bmg: [PASS][36] -> [SKIP][37] ([Intel XE#2291]) +2 other tests skip
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-7/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-6/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
- shard-lnl: NOTRUN -> [SKIP][38] ([Intel XE#323]) +1 other test skip
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-4/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
- shard-dg2-set2: NOTRUN -> [SKIP][39] ([Intel XE#323])
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-432/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
- shard-bmg: NOTRUN -> [SKIP][40] ([Intel XE#2286])
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
* igt@kms_dp_link_training@uhbr-mst:
- shard-dg2-set2: NOTRUN -> [SKIP][41] ([Intel XE#4356])
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-464/igt@kms_dp_link_training@uhbr-mst.html
* igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-dirtyfb-tests:
- shard-bmg: NOTRUN -> [SKIP][42] ([Intel XE#4422])
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-dirtyfb-tests.html
- shard-dg2-set2: NOTRUN -> [SKIP][43] ([Intel XE#4422])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-433/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-dirtyfb-tests.html
- shard-lnl: NOTRUN -> [SKIP][44] ([Intel XE#4422])
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-7/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-dirtyfb-tests.html
* igt@kms_feature_discovery@display-2x:
- shard-bmg: [PASS][45] -> [SKIP][46] ([Intel XE#2373])
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-7/igt@kms_feature_discovery@display-2x.html
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-6/igt@kms_feature_discovery@display-2x.html
* igt@kms_flip@2x-flip-vs-dpms:
- shard-bmg: NOTRUN -> [SKIP][47] ([Intel XE#2316])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-6/igt@kms_flip@2x-flip-vs-dpms.html
- shard-lnl: NOTRUN -> [SKIP][48] ([Intel XE#1421])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-3/igt@kms_flip@2x-flip-vs-dpms.html
* igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible:
- shard-bmg: [PASS][49] -> [SKIP][50] ([Intel XE#2316]) +1 other test skip
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-5/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-6/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html
* igt@kms_flip@flip-vs-absolute-wf_vblank@a-dp2:
- shard-bmg: [PASS][51] -> [FAIL][52] ([Intel XE#5338] / [Intel XE#6266]) +1 other test fail
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-7/igt@kms_flip@flip-vs-absolute-wf_vblank@a-dp2.html
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-7/igt@kms_flip@flip-vs-absolute-wf_vblank@a-dp2.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling:
- shard-bmg: NOTRUN -> [SKIP][53] ([Intel XE#2293] / [Intel XE#2380])
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-valid-mode:
- shard-bmg: NOTRUN -> [SKIP][54] ([Intel XE#2293])
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling:
- shard-lnl: NOTRUN -> [SKIP][55] ([Intel XE#1397] / [Intel XE#1745])
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][56] ([Intel XE#1397])
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling:
- shard-bmg: NOTRUN -> [SKIP][57] ([Intel XE#2380]) +1 other test skip
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-7/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html
* igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-shrfb-draw-render:
- shard-lnl: NOTRUN -> [SKIP][58] ([Intel XE#651]) +2 other tests skip
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-4/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-fullscreen:
- shard-dg2-set2: NOTRUN -> [SKIP][59] ([Intel XE#651]) +21 other tests skip
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-463/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-fullscreen.html
* igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][60] ([Intel XE#6313])
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-rte:
- shard-bmg: NOTRUN -> [SKIP][61] ([Intel XE#5427])
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-rte.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-bmg: NOTRUN -> [SKIP][62] ([Intel XE#5390]) +8 other tests skip
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-render:
- shard-dg2-set2: NOTRUN -> [SKIP][63] ([Intel XE#6312]) +4 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-432/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-shrfb-draw-blt:
- shard-lnl: NOTRUN -> [SKIP][64] ([Intel XE#6312])
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-5/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][65] ([Intel XE#2311]) +8 other tests skip
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-msflip-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][66] ([Intel XE#653]) +23 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-pri-indfb-multidraw:
- shard-bmg: NOTRUN -> [SKIP][67] ([Intel XE#2313]) +9 other tests skip
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-pri-indfb-multidraw.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc:
- shard-bmg: NOTRUN -> [SKIP][68] ([Intel XE#2312]) +2 other tests skip
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-tiling-y:
- shard-bmg: NOTRUN -> [SKIP][69] ([Intel XE#2352])
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc:
- shard-lnl: NOTRUN -> [SKIP][70] ([Intel XE#656]) +11 other tests skip
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-5/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_hdr@invalid-hdr:
- shard-bmg: [PASS][71] -> [SKIP][72] ([Intel XE#1503])
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-4/igt@kms_hdr@invalid-hdr.html
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@kms_hdr@invalid-hdr.html
* igt@kms_hdr@static-toggle-dpms:
- shard-lnl: NOTRUN -> [SKIP][73] ([Intel XE#1503]) +1 other test skip
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-5/igt@kms_hdr@static-toggle-dpms.html
* igt@kms_joiner@basic-max-non-joiner:
- shard-dg2-set2: NOTRUN -> [SKIP][74] ([Intel XE#2925])
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-436/igt@kms_joiner@basic-max-non-joiner.html
* igt@kms_joiner@basic-ultra-joiner:
- shard-dg2-set2: NOTRUN -> [SKIP][75] ([Intel XE#2925] / [Intel XE#2927])
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-466/igt@kms_joiner@basic-ultra-joiner.html
* igt@kms_joiner@invalid-modeset-force-big-joiner:
- shard-bmg: [PASS][76] -> [SKIP][77] ([Intel XE#3012])
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-5/igt@kms_joiner@invalid-modeset-force-big-joiner.html
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-6/igt@kms_joiner@invalid-modeset-force-big-joiner.html
* igt@kms_pm_backlight@brightness-with-dpms:
- shard-bmg: NOTRUN -> [SKIP][78] ([Intel XE#2938])
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-2/igt@kms_pm_backlight@brightness-with-dpms.html
* igt@kms_pm_backlight@fade-with-dpms:
- shard-dg2-set2: NOTRUN -> [SKIP][79] ([Intel XE#870])
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-432/igt@kms_pm_backlight@fade-with-dpms.html
* igt@kms_pm_dc@dc5-dpms:
- shard-lnl: NOTRUN -> [FAIL][80] ([Intel XE#718])
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-1/igt@kms_pm_dc@dc5-dpms.html
* igt@kms_pm_dc@dc5-psr:
- shard-bmg: NOTRUN -> [SKIP][81] ([Intel XE#2392])
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-6/igt@kms_pm_dc@dc5-psr.html
- shard-dg2-set2: NOTRUN -> [SKIP][82] ([Intel XE#1129])
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-434/igt@kms_pm_dc@dc5-psr.html
* igt@kms_pm_rpm@modeset-lpsp:
- shard-bmg: NOTRUN -> [SKIP][83] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#836])
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-2/igt@kms_pm_rpm@modeset-lpsp.html
* igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf:
- shard-bmg: NOTRUN -> [SKIP][84] ([Intel XE#1406] / [Intel XE#1489]) +3 other tests skip
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-7/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf:
- shard-dg2-set2: NOTRUN -> [SKIP][85] ([Intel XE#1406] / [Intel XE#1489]) +5 other tests skip
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-464/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf.html
* igt@kms_psr2_sf@pr-plane-move-sf-dmg-area:
- shard-lnl: NOTRUN -> [SKIP][86] ([Intel XE#1406] / [Intel XE#2893]) +2 other tests skip
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-3/igt@kms_psr2_sf@pr-plane-move-sf-dmg-area.html
* igt@kms_psr@fbc-psr2-cursor-plane-move:
- shard-bmg: NOTRUN -> [SKIP][87] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850]) +4 other tests skip
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-7/igt@kms_psr@fbc-psr2-cursor-plane-move.html
* igt@kms_psr@fbc-psr2-sprite-plane-move:
- shard-dg2-set2: NOTRUN -> [SKIP][88] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +11 other tests skip
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-463/igt@kms_psr@fbc-psr2-sprite-plane-move.html
* igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
- shard-dg2-set2: NOTRUN -> [SKIP][89] ([Intel XE#1406] / [Intel XE#2939])
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-434/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
* igt@kms_rotation_crc@primary-x-tiled-reflect-x-0:
- shard-lnl: NOTRUN -> [FAIL][90] ([Intel XE#4689])
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-1/igt@kms_rotation_crc@primary-x-tiled-reflect-x-0.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-0:
- shard-bmg: NOTRUN -> [SKIP][91] ([Intel XE#2330])
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-4/igt@kms_rotation_crc@primary-y-tiled-reflect-x-0.html
- shard-dg2-set2: NOTRUN -> [SKIP][92] ([Intel XE#1127])
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-464/igt@kms_rotation_crc@primary-y-tiled-reflect-x-0.html
- shard-lnl: NOTRUN -> [SKIP][93] ([Intel XE#1127])
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-2/igt@kms_rotation_crc@primary-y-tiled-reflect-x-0.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
- shard-dg2-set2: NOTRUN -> [SKIP][94] ([Intel XE#3414]) +1 other test skip
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-433/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html
* igt@kms_scaling_modes@scaling-mode-full-aspect:
- shard-bmg: NOTRUN -> [SKIP][95] ([Intel XE#2413])
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@kms_scaling_modes@scaling-mode-full-aspect.html
* igt@kms_sharpness_filter@invalid-filter-with-scaling-mode:
- shard-bmg: NOTRUN -> [SKIP][96] ([Intel XE#6503])
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@kms_sharpness_filter@invalid-filter-with-scaling-mode.html
* igt@kms_vrr@cmrr@pipe-a-edp-1:
- shard-lnl: [PASS][97] -> [FAIL][98] ([Intel XE#4459]) +1 other test fail
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-4/igt@kms_vrr@cmrr@pipe-a-edp-1.html
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-8/igt@kms_vrr@cmrr@pipe-a-edp-1.html
* igt@kms_vrr@flipline:
- shard-dg2-set2: NOTRUN -> [SKIP][99] ([Intel XE#455]) +9 other tests skip
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-432/igt@kms_vrr@flipline.html
* igt@kms_vrr@lobf:
- shard-bmg: NOTRUN -> [SKIP][100] ([Intel XE#2168])
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-7/igt@kms_vrr@lobf.html
* igt@kms_vrr@negative-basic:
- shard-bmg: [PASS][101] -> [SKIP][102] ([Intel XE#1499])
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-5/igt@kms_vrr@negative-basic.html
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-6/igt@kms_vrr@negative-basic.html
* igt@kms_vrr@seamless-rr-switch-virtual@pipe-a-edp-1:
- shard-lnl: [PASS][103] -> [FAIL][104] ([Intel XE#2142]) +1 other test fail
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-5/igt@kms_vrr@seamless-rr-switch-virtual@pipe-a-edp-1.html
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-7/igt@kms_vrr@seamless-rr-switch-virtual@pipe-a-edp-1.html
* igt@xe_copy_basic@mem-page-copy-17:
- shard-dg2-set2: NOTRUN -> [SKIP][105] ([Intel XE#5300])
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-464/igt@xe_copy_basic@mem-page-copy-17.html
* igt@xe_eu_stall@invalid-gt-id:
- shard-dg2-set2: NOTRUN -> [SKIP][106] ([Intel XE#5626]) +1 other test skip
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-436/igt@xe_eu_stall@invalid-gt-id.html
* igt@xe_eudebug@basic-vm-access-parameters-userptr-faultable:
- shard-lnl: NOTRUN -> [SKIP][107] ([Intel XE#4837]) +1 other test skip
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-7/igt@xe_eudebug@basic-vm-access-parameters-userptr-faultable.html
* igt@xe_eudebug@basic-vm-bind-ufence-delay-ack:
- shard-dg2-set2: NOTRUN -> [SKIP][108] ([Intel XE#4837]) +12 other tests skip
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-466/igt@xe_eudebug@basic-vm-bind-ufence-delay-ack.html
* igt@xe_eudebug_online@single-step-one:
- shard-bmg: NOTRUN -> [SKIP][109] ([Intel XE#4837]) +6 other tests skip
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-8/igt@xe_eudebug_online@single-step-one.html
* igt@xe_evict@evict-beng-threads-large-multi-vm:
- shard-lnl: NOTRUN -> [SKIP][110] ([Intel XE#688]) +2 other tests skip
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-3/igt@xe_evict@evict-beng-threads-large-multi-vm.html
* igt@xe_exec_basic@multigpu-once-null-rebind:
- shard-bmg: NOTRUN -> [SKIP][111] ([Intel XE#2322]) +2 other tests skip
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-4/igt@xe_exec_basic@multigpu-once-null-rebind.html
- shard-lnl: NOTRUN -> [SKIP][112] ([Intel XE#1392]) +2 other tests skip
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-2/igt@xe_exec_basic@multigpu-once-null-rebind.html
* igt@xe_exec_fault_mode@once-bindexecqueue-imm:
- shard-dg2-set2: NOTRUN -> [SKIP][113] ([Intel XE#288]) +24 other tests skip
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-432/igt@xe_exec_fault_mode@once-bindexecqueue-imm.html
* igt@xe_exec_mix_modes@exec-simple-batch-store-dma-fence:
- shard-dg2-set2: NOTRUN -> [SKIP][114] ([Intel XE#2360])
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-464/igt@xe_exec_mix_modes@exec-simple-batch-store-dma-fence.html
* igt@xe_exec_system_allocator@many-execqueues-mmap-new-huge:
- shard-dg2-set2: NOTRUN -> [SKIP][115] ([Intel XE#4915]) +273 other tests skip
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-436/igt@xe_exec_system_allocator@many-execqueues-mmap-new-huge.html
* igt@xe_exec_system_allocator@many-malloc-prefetch-madvise:
- shard-lnl: NOTRUN -> [WARN][116] ([Intel XE#5786])
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-1/igt@xe_exec_system_allocator@many-malloc-prefetch-madvise.html
* igt@xe_exec_system_allocator@once-large-mmap-free-huge-nomemset:
- shard-lnl: NOTRUN -> [SKIP][117] ([Intel XE#4943]) +11 other tests skip
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-8/igt@xe_exec_system_allocator@once-large-mmap-free-huge-nomemset.html
* igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-single-vma:
- shard-lnl: [PASS][118] -> [FAIL][119] ([Intel XE#5625])
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-5/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-single-vma.html
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-5/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-single-vma.html
* igt@xe_exec_system_allocator@threads-many-large-execqueues-mmap-new-huge:
- shard-bmg: NOTRUN -> [SKIP][120] ([Intel XE#4943]) +9 other tests skip
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-6/igt@xe_exec_system_allocator@threads-many-large-execqueues-mmap-new-huge.html
* igt@xe_huc_copy@huc_copy:
- shard-dg2-set2: NOTRUN -> [SKIP][121] ([Intel XE#255])
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-432/igt@xe_huc_copy@huc_copy.html
* igt@xe_module_load@load:
- shard-lnl: ([PASS][122], [PASS][123], [PASS][124], [PASS][125], [PASS][126], [PASS][127], [PASS][128], [PASS][129], [PASS][130], [PASS][131], [PASS][132], [PASS][133], [PASS][134], [PASS][135], [PASS][136], [PASS][137], [PASS][138], [PASS][139], [PASS][140], [PASS][141], [PASS][142], [PASS][143], [PASS][144], [PASS][145], [PASS][146]) -> ([PASS][147], [PASS][148], [PASS][149], [PASS][150], [PASS][151], [PASS][152], [PASS][153], [PASS][154], [PASS][155], [PASS][156], [PASS][157], [PASS][158], [PASS][159], [PASS][160], [PASS][161], [PASS][162], [PASS][163], [PASS][164], [PASS][165], [SKIP][166], [PASS][167], [PASS][168], [PASS][169], [PASS][170], [PASS][171], [PASS][172]) ([Intel XE#378])
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-2/igt@xe_module_load@load.html
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-2/igt@xe_module_load@load.html
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-7/igt@xe_module_load@load.html
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-7/igt@xe_module_load@load.html
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-2/igt@xe_module_load@load.html
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-5/igt@xe_module_load@load.html
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-5/igt@xe_module_load@load.html
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-5/igt@xe_module_load@load.html
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-1/igt@xe_module_load@load.html
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-1/igt@xe_module_load@load.html
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-8/igt@xe_module_load@load.html
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-2/igt@xe_module_load@load.html
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-4/igt@xe_module_load@load.html
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-7/igt@xe_module_load@load.html
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-7/igt@xe_module_load@load.html
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-3/igt@xe_module_load@load.html
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-4/igt@xe_module_load@load.html
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-4/igt@xe_module_load@load.html
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-8/igt@xe_module_load@load.html
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-8/igt@xe_module_load@load.html
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-8/igt@xe_module_load@load.html
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-1/igt@xe_module_load@load.html
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-3/igt@xe_module_load@load.html
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-3/igt@xe_module_load@load.html
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-1/igt@xe_module_load@load.html
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-4/igt@xe_module_load@load.html
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-4/igt@xe_module_load@load.html
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-4/igt@xe_module_load@load.html
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-8/igt@xe_module_load@load.html
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-7/igt@xe_module_load@load.html
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-1/igt@xe_module_load@load.html
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-5/igt@xe_module_load@load.html
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-2/igt@xe_module_load@load.html
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-3/igt@xe_module_load@load.html
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-1/igt@xe_module_load@load.html
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-8/igt@xe_module_load@load.html
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-8/igt@xe_module_load@load.html
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-2/igt@xe_module_load@load.html
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-1/igt@xe_module_load@load.html
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-5/igt@xe_module_load@load.html
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-5/igt@xe_module_load@load.html
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-2/igt@xe_module_load@load.html
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-4/igt@xe_module_load@load.html
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-5/igt@xe_module_load@load.html
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-5/igt@xe_module_load@load.html
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-3/igt@xe_module_load@load.html
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-3/igt@xe_module_load@load.html
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-3/igt@xe_module_load@load.html
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-7/igt@xe_module_load@load.html
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-7/igt@xe_module_load@load.html
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-1/igt@xe_module_load@load.html
- shard-bmg: ([PASS][173], [PASS][174], [PASS][175], [PASS][176], [PASS][177], [PASS][178], [PASS][179], [PASS][180], [PASS][181], [PASS][182], [PASS][183], [PASS][184], [PASS][185], [PASS][186], [PASS][187], [PASS][188], [PASS][189], [PASS][190], [PASS][191], [PASS][192], [PASS][193], [PASS][194], [PASS][195], [PASS][196]) -> ([PASS][197], [PASS][198], [PASS][199], [PASS][200], [PASS][201], [PASS][202], [PASS][203], [PASS][204], [PASS][205], [SKIP][206], [PASS][207], [PASS][208], [PASS][209], [PASS][210], [PASS][211], [PASS][212], [PASS][213], [PASS][214], [PASS][215], [PASS][216], [PASS][217]) ([Intel XE#2457])
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-5/igt@xe_module_load@load.html
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-1/igt@xe_module_load@load.html
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-8/igt@xe_module_load@load.html
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-8/igt@xe_module_load@load.html
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-8/igt@xe_module_load@load.html
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-7/igt@xe_module_load@load.html
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-2/igt@xe_module_load@load.html
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-5/igt@xe_module_load@load.html
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-2/igt@xe_module_load@load.html
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-4/igt@xe_module_load@load.html
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-2/igt@xe_module_load@load.html
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-6/igt@xe_module_load@load.html
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-1/igt@xe_module_load@load.html
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-1/igt@xe_module_load@load.html
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-1/igt@xe_module_load@load.html
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-5/igt@xe_module_load@load.html
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-7/igt@xe_module_load@load.html
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-7/igt@xe_module_load@load.html
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-4/igt@xe_module_load@load.html
[192]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-5/igt@xe_module_load@load.html
[193]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-4/igt@xe_module_load@load.html
[194]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-6/igt@xe_module_load@load.html
[195]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-6/igt@xe_module_load@load.html
[196]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-6/igt@xe_module_load@load.html
[197]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-6/igt@xe_module_load@load.html
[198]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-5/igt@xe_module_load@load.html
[199]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-6/igt@xe_module_load@load.html
[200]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-7/igt@xe_module_load@load.html
[201]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-8/igt@xe_module_load@load.html
[202]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@xe_module_load@load.html
[203]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@xe_module_load@load.html
[204]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-7/igt@xe_module_load@load.html
[205]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-8/igt@xe_module_load@load.html
[206]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-4/igt@xe_module_load@load.html
[207]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-8/igt@xe_module_load@load.html
[208]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-2/igt@xe_module_load@load.html
[209]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-5/igt@xe_module_load@load.html
[210]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-7/igt@xe_module_load@load.html
[211]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-2/igt@xe_module_load@load.html
[212]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-2/igt@xe_module_load@load.html
[213]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-6/igt@xe_module_load@load.html
[214]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-4/igt@xe_module_load@load.html
[215]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@xe_module_load@load.html
[216]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-4/igt@xe_module_load@load.html
[217]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-4/igt@xe_module_load@load.html
- shard-dg2-set2: ([PASS][218], [PASS][219], [PASS][220], [PASS][221], [PASS][222], [PASS][223], [PASS][224], [PASS][225], [PASS][226], [PASS][227], [PASS][228], [PASS][229], [PASS][230], [PASS][231], [PASS][232], [PASS][233], [PASS][234], [PASS][235], [PASS][236], [PASS][237], [PASS][238], [PASS][239], [PASS][240], [PASS][241], [PASS][242]) -> ([PASS][243], [PASS][244], [PASS][245], [PASS][246], [PASS][247], [PASS][248], [PASS][249], [PASS][250], [PASS][251], [PASS][252], [PASS][253], [PASS][254], [PASS][255], [PASS][256], [PASS][257], [PASS][258], [PASS][259], [PASS][260], [PASS][261], [PASS][262], [PASS][263], [PASS][264], [SKIP][265], [PASS][266], [PASS][267]) ([Intel XE#378])
[218]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-433/igt@xe_module_load@load.html
[219]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-433/igt@xe_module_load@load.html
[220]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-463/igt@xe_module_load@load.html
[221]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-435/igt@xe_module_load@load.html
[222]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-435/igt@xe_module_load@load.html
[223]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-463/igt@xe_module_load@load.html
[224]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-433/igt@xe_module_load@load.html
[225]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-432/igt@xe_module_load@load.html
[226]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-432/igt@xe_module_load@load.html
[227]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-464/igt@xe_module_load@load.html
[228]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-432/igt@xe_module_load@load.html
[229]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-434/igt@xe_module_load@load.html
[230]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-435/igt@xe_module_load@load.html
[231]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-466/igt@xe_module_load@load.html
[232]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-436/igt@xe_module_load@load.html
[233]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-436/igt@xe_module_load@load.html
[234]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-434/igt@xe_module_load@load.html
[235]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-463/igt@xe_module_load@load.html
[236]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-466/igt@xe_module_load@load.html
[237]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-466/igt@xe_module_load@load.html
[238]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-434/igt@xe_module_load@load.html
[239]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-463/igt@xe_module_load@load.html
[240]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-464/igt@xe_module_load@load.html
[241]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-464/igt@xe_module_load@load.html
[242]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-436/igt@xe_module_load@load.html
[243]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-463/igt@xe_module_load@load.html
[244]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-433/igt@xe_module_load@load.html
[245]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-434/igt@xe_module_load@load.html
[246]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-433/igt@xe_module_load@load.html
[247]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-464/igt@xe_module_load@load.html
[248]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-464/igt@xe_module_load@load.html
[249]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-432/igt@xe_module_load@load.html
[250]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-432/igt@xe_module_load@load.html
[251]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-432/igt@xe_module_load@load.html
[252]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-436/igt@xe_module_load@load.html
[253]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-466/igt@xe_module_load@load.html
[254]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-466/igt@xe_module_load@load.html
[255]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-432/igt@xe_module_load@load.html
[256]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-434/igt@xe_module_load@load.html
[257]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-466/igt@xe_module_load@load.html
[258]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-433/igt@xe_module_load@load.html
[259]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-436/igt@xe_module_load@load.html
[260]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-436/igt@xe_module_load@load.html
[261]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-436/igt@xe_module_load@load.html
[262]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-434/igt@xe_module_load@load.html
[263]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-436/igt@xe_module_load@load.html
[264]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-463/igt@xe_module_load@load.html
[265]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-436/igt@xe_module_load@load.html
[266]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-463/igt@xe_module_load@load.html
[267]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-463/igt@xe_module_load@load.html
* igt@xe_oa@closed-fd-and-unmapped-access:
- shard-dg2-set2: NOTRUN -> [SKIP][268] ([Intel XE#3573]) +9 other tests skip
[268]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-464/igt@xe_oa@closed-fd-and-unmapped-access.html
* igt@xe_pm@d3cold-i2c:
- shard-dg2-set2: NOTRUN -> [SKIP][269] ([Intel XE#5694])
[269]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-433/igt@xe_pm@d3cold-i2c.html
- shard-lnl: NOTRUN -> [SKIP][270] ([Intel XE#5694])
[270]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-7/igt@xe_pm@d3cold-i2c.html
* igt@xe_pm@d3hot-mmap-vram:
- shard-lnl: NOTRUN -> [SKIP][271] ([Intel XE#1948])
[271]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-7/igt@xe_pm@d3hot-mmap-vram.html
* igt@xe_pm@s3-basic-exec:
- shard-lnl: NOTRUN -> [SKIP][272] ([Intel XE#584])
[272]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-2/igt@xe_pm@s3-basic-exec.html
* igt@xe_pm@vram-d3cold-threshold:
- shard-bmg: NOTRUN -> [SKIP][273] ([Intel XE#579])
[273]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-5/igt@xe_pm@vram-d3cold-threshold.html
* igt@xe_pmu@engine-activity-accuracy-90@engine-drm_xe_engine_class_copy0:
- shard-lnl: [PASS][274] -> [FAIL][275] ([Intel XE#6251]) +1 other test fail
[274]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-2/igt@xe_pmu@engine-activity-accuracy-90@engine-drm_xe_engine_class_copy0.html
[275]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-4/igt@xe_pmu@engine-activity-accuracy-90@engine-drm_xe_engine_class_copy0.html
* igt@xe_pmu@gt-c6-idle:
- shard-dg2-set2: NOTRUN -> [FAIL][276] ([Intel XE#6366])
[276]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-432/igt@xe_pmu@gt-c6-idle.html
* igt@xe_pxp@display-pxp-fb:
- shard-dg2-set2: NOTRUN -> [SKIP][277] ([Intel XE#4733]) +1 other test skip
[277]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-436/igt@xe_pxp@display-pxp-fb.html
* igt@xe_pxp@pxp-termination-key-update-post-suspend:
- shard-bmg: NOTRUN -> [SKIP][278] ([Intel XE#4733]) +1 other test skip
[278]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-7/igt@xe_pxp@pxp-termination-key-update-post-suspend.html
* igt@xe_query@multigpu-query-topology:
- shard-lnl: NOTRUN -> [SKIP][279] ([Intel XE#944])
[279]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-5/igt@xe_query@multigpu-query-topology.html
* igt@xe_query@multigpu-query-uc-fw-version-guc:
- shard-dg2-set2: NOTRUN -> [SKIP][280] ([Intel XE#944]) +3 other tests skip
[280]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-433/igt@xe_query@multigpu-query-uc-fw-version-guc.html
* igt@xe_query@multigpu-query-uc-fw-version-huc:
- shard-bmg: NOTRUN -> [SKIP][281] ([Intel XE#944]) +1 other test skip
[281]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-4/igt@xe_query@multigpu-query-uc-fw-version-huc.html
* igt@xe_sriov_auto_provisioning@selfconfig-basic:
- shard-dg2-set2: NOTRUN -> [SKIP][282] ([Intel XE#4130])
[282]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-436/igt@xe_sriov_auto_provisioning@selfconfig-basic.html
* igt@xe_sriov_scheduling@nonpreempt-engine-resets:
- shard-dg2-set2: NOTRUN -> [SKIP][283] ([Intel XE#4351])
[283]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-436/igt@xe_sriov_scheduling@nonpreempt-engine-resets.html
* igt@xe_survivability@i2c-functionality:
- shard-dg2-set2: NOTRUN -> [SKIP][284] ([Intel XE#6529])
[284]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-432/igt@xe_survivability@i2c-functionality.html
- shard-lnl: NOTRUN -> [SKIP][285] ([Intel XE#6529])
[285]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-8/igt@xe_survivability@i2c-functionality.html
#### Possible fixes ####
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-dp-4:
- shard-dg2-set2: [INCOMPLETE][286] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4522] / [Intel XE#6014]) -> [PASS][287]
[286]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-dp-4.html
[287]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-dp-4.html
* igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic:
- shard-bmg: [SKIP][288] ([Intel XE#2291]) -> [PASS][289] +3 other tests pass
[288]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-6/igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic.html
[289]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-2/igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-bmg: [SKIP][290] ([Intel XE#1340]) -> [PASS][291]
[290]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
[291]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-4/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_flip@2x-flip-vs-dpms-on-nop:
- shard-bmg: [SKIP][292] ([Intel XE#2316]) -> [PASS][293] +4 other tests pass
[292]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-6/igt@kms_flip@2x-flip-vs-dpms-on-nop.html
[293]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@kms_flip@2x-flip-vs-dpms-on-nop.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1:
- shard-lnl: [FAIL][294] ([Intel XE#301]) -> [PASS][295] +3 other tests pass
[294]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
[295]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
* igt@kms_plane_multiple@2x-tiling-none:
- shard-bmg: [SKIP][296] ([Intel XE#4596]) -> [PASS][297]
[296]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-none.html
[297]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-8/igt@kms_plane_multiple@2x-tiling-none.html
* igt@kms_setmode@basic@pipe-b-edp-1:
- shard-lnl: [FAIL][298] ([Intel XE#6361]) -> [PASS][299] +2 other tests pass
[298]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-1/igt@kms_setmode@basic@pipe-b-edp-1.html
[299]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-3/igt@kms_setmode@basic@pipe-b-edp-1.html
* igt@kms_setmode@clone-exclusive-crtc:
- shard-bmg: [SKIP][300] ([Intel XE#1435]) -> [PASS][301]
[300]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-6/igt@kms_setmode@clone-exclusive-crtc.html
[301]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@kms_setmode@clone-exclusive-crtc.html
* igt@xe_pmu@engine-activity-accuracy-90@engine-drm_xe_engine_class_compute0:
- shard-lnl: [FAIL][302] ([Intel XE#6251]) -> [PASS][303] +2 other tests pass
[302]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-lnl-2/igt@xe_pmu@engine-activity-accuracy-90@engine-drm_xe_engine_class_compute0.html
[303]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-lnl-4/igt@xe_pmu@engine-activity-accuracy-90@engine-drm_xe_engine_class_compute0.html
* igt@xe_sriov_flr@flr-twice:
- shard-bmg: [FAIL][304] ([Intel XE#6569]) -> [PASS][305]
[304]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-6/igt@xe_sriov_flr@flr-twice.html
[305]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-8/igt@xe_sriov_flr@flr-twice.html
* igt@xe_sriov_flr@flr-vfs-parallel:
- shard-bmg: [FAIL][306] -> [PASS][307]
[306]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-2/igt@xe_sriov_flr@flr-vfs-parallel.html
[307]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-7/igt@xe_sriov_flr@flr-vfs-parallel.html
#### Warnings ####
* igt@kms_content_protection@lic-type-0:
- shard-bmg: [FAIL][308] ([Intel XE#1178]) -> [SKIP][309] ([Intel XE#2341])
[308]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-7/igt@kms_content_protection@lic-type-0.html
[309]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-6/igt@kms_content_protection@lic-type-0.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt:
- shard-bmg: [SKIP][310] ([Intel XE#2311]) -> [SKIP][311] ([Intel XE#2312]) +9 other tests skip
[310]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt.html
[311]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][312] ([Intel XE#2312]) -> [SKIP][313] ([Intel XE#2311]) +10 other tests skip
[312]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc.html
[313]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-8/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-move:
- shard-bmg: [SKIP][314] ([Intel XE#5390]) -> [SKIP][315] ([Intel XE#2312])
[314]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-move.html
[315]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-move.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt:
- shard-bmg: [SKIP][316] ([Intel XE#2312]) -> [SKIP][317] ([Intel XE#5390]) +2 other tests skip
[316]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt.html
[317]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render:
- shard-bmg: [SKIP][318] ([Intel XE#2312]) -> [SKIP][319] ([Intel XE#2313]) +9 other tests skip
[318]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render.html
[319]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt:
- shard-bmg: [SKIP][320] ([Intel XE#2313]) -> [SKIP][321] ([Intel XE#2312]) +5 other tests skip
[320]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt.html
[321]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt.html
* igt@xe_evict@evict-mixed-many-threads-small:
- shard-bmg: [INCOMPLETE][322] ([Intel XE#6321]) -> [INCOMPLETE][323] ([Intel XE#6321] / [Intel XE#6606])
[322]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8623/shard-bmg-5/igt@xe_evict@evict-mixed-many-threads-small.html
[323]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/shard-bmg-7/igt@xe_evict@evict-mixed-many-threads-small.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1127
[Intel XE#1129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1129
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1340]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1340
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
[Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
[Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
[Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
[Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
[Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
[Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
[Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
[Intel XE#1948]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1948
[Intel XE#2142]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2142
[Intel XE#2168]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2168
[Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2286]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2286
[Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
[Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
[Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
[Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
[Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
[Intel XE#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
[Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
[Intel XE#2330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2330
[Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
[Intel XE#2352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2352
[Intel XE#2360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2360
[Intel XE#2373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2373
[Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
[Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
[Intel XE#2392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2392
[Intel XE#2413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2413
[Intel XE#2457]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2457
[Intel XE#255]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/255
[Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
[Intel XE#2705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2705
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
[Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
[Intel XE#2925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2925
[Intel XE#2927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2927
[Intel XE#2938]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2938
[Intel XE#2939]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2939
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#3012]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3012
[Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
[Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
[Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
[Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
[Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
[Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#3442]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3442
[Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/378
[Intel XE#4130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4130
[Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
[Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
[Intel XE#4351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4351
[Intel XE#4356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4356
[Intel XE#4422]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4422
[Intel XE#4459]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4459
[Intel XE#4522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4522
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
[Intel XE#4689]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4689
[Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
[Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
[Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
[Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
[Intel XE#5300]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5300
[Intel XE#5338]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5338
[Intel XE#5390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5390
[Intel XE#5427]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5427
[Intel XE#5625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5625
[Intel XE#5626]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5626
[Intel XE#5694]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5694
[Intel XE#5786]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5786
[Intel XE#579]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/579
[Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
[Intel XE#6014]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6014
[Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
[Intel XE#619]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/619
[Intel XE#6251]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6251
[Intel XE#6266]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6266
[Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
[Intel XE#6313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6313
[Intel XE#6321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6321
[Intel XE#6361]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6361
[Intel XE#6366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6366
[Intel XE#6503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6503
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#6529]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6529
[Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#6569]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6569
[Intel XE#6606]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6606
[Intel XE#664]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/664
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
[Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
Build changes
-------------
* IGT: IGT_8623 -> IGTPW_14057
* Linux: xe-4101-efff261d878490433669a252a1f40412e784ef92 -> xe-4104-e15c082b1af0c5cd053273ea096ab84fbc309657
IGTPW_14057: 563b969f3ee3984029668b1e77f8d67abd67f926 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8623: 8623
xe-4101-efff261d878490433669a252a1f40412e784ef92: efff261d878490433669a252a1f40412e784ef92
xe-4104-e15c082b1af0c5cd053273ea096ab84fbc309657: e15c082b1af0c5cd053273ea096ab84fbc309657
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14057/index.html
[-- Attachment #2: Type: text/html, Size: 79600 bytes --]
^ permalink raw reply [flat|nested] 22+ messages in thread
* ✓ i915.CI.Full: success for Madvise feature in SVM for Multi-GPU configs
2025-11-13 17:16 [PATCH i-g-t v7 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (12 preceding siblings ...)
2025-11-14 10:28 ` ✗ Xe.CI.Full: failure " Patchwork
@ 2025-11-14 21:13 ` Patchwork
13 siblings, 0 replies; 22+ messages in thread
From: Patchwork @ 2025-11-14 21:13 UTC (permalink / raw)
To: nishit.sharma; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 167513 bytes --]
== Series Details ==
Series: Madvise feature in SVM for Multi-GPU configs
URL : https://patchwork.freedesktop.org/series/157524/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_17545_full -> IGTPW_14057_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/index.html
Participating hosts (11 -> 10)
------------------------------
Missing (1): shard-dg2-set2
New tests
---------
New tests have been introduced between CI_DRM_17545_full and IGTPW_14057_full:
### New IGT tests (12) ###
* igt@i915_pm_rps@2x-long-cursor-vs-flip-legacy:
- Statuses :
- Exec time: [None] s
* igt@i915_pm_rps@basic-max-non-joiner:
- Statuses :
- Exec time: [None] s
* igt@i915_pm_rps@create-close:
- Statuses :
- Exec time: [None] s
* igt@i915_pm_rps@exhaustion:
- Statuses :
- Exec time: [None] s
* igt@i915_pm_rps@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-gtt:
- Statuses :
- Exec time: [None] s
* igt@i915_pm_rps@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-wc:
- Statuses :
- Exec time: [None] s
* igt@i915_pm_rps@fbcpsr-rgb101010-draw-mmap-wc:
- Statuses :
- Exec time: [None] s
* igt@i915_pm_rps@plane-all-transition-nonblocking-fencing:
- Statuses :
- Exec time: [None] s
* igt@i915_pm_rps@psr-farfromfence-mmap-gtt:
- Statuses :
- Exec time: [None] s
* igt@i915_pm_rps@syncobj-repeat:
- Statuses :
- Exec time: [None] s
* igt@i915_pm_rps@test_reprime:
- Statuses :
- Exec time: [None] s
* igt@i915_pm_rps@x-tiled:
- Statuses :
- Exec time: [None] s
Known issues
------------
Here are the changes found in IGTPW_14057_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@device_reset@cold-reset-bound:
- shard-tglu: NOTRUN -> [SKIP][1] ([i915#11078])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-2/igt@device_reset@cold-reset-bound.html
* igt@drm_buddy@drm_buddy:
- shard-glk: NOTRUN -> [DMESG-WARN][2] ([i915#15095]) +1 other test dmesg-warn
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-glk9/igt@drm_buddy@drm_buddy.html
* igt@fbdev@unaligned-write:
- shard-rkl: [PASS][3] -> [SKIP][4] ([i915#14544] / [i915#2582])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@fbdev@unaligned-write.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@fbdev@unaligned-write.html
* igt@gem_basic@multigpu-create-close:
- shard-dg1: NOTRUN -> [SKIP][5] ([i915#7697])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-12/igt@gem_basic@multigpu-create-close.html
* igt@gem_busy@semaphore:
- shard-mtlp: NOTRUN -> [SKIP][6] ([i915#3936])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-7/igt@gem_busy@semaphore.html
* igt@gem_caching@read-writes:
- shard-mtlp: NOTRUN -> [SKIP][7] ([i915#4873])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-3/igt@gem_caching@read-writes.html
* igt@gem_ccs@block-copy-compressed:
- shard-rkl: NOTRUN -> [SKIP][8] ([i915#3555] / [i915#9323])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@gem_ccs@block-copy-compressed.html
- shard-dg1: NOTRUN -> [SKIP][9] ([i915#3555] / [i915#9323])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-19/igt@gem_ccs@block-copy-compressed.html
- shard-tglu: NOTRUN -> [SKIP][10] ([i915#3555] / [i915#9323])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-8/igt@gem_ccs@block-copy-compressed.html
- shard-mtlp: NOTRUN -> [SKIP][11] ([i915#3555] / [i915#9323])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-3/igt@gem_ccs@block-copy-compressed.html
* igt@gem_ccs@suspend-resume:
- shard-tglu: NOTRUN -> [SKIP][12] ([i915#9323])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-6/igt@gem_ccs@suspend-resume.html
* igt@gem_ctx_persistence@heartbeat-hang:
- shard-dg2: NOTRUN -> [SKIP][13] ([i915#8555])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-11/igt@gem_ctx_persistence@heartbeat-hang.html
* igt@gem_ctx_persistence@heartbeat-hostile:
- shard-dg1: NOTRUN -> [SKIP][14] ([i915#8555])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-18/igt@gem_ctx_persistence@heartbeat-hostile.html
* igt@gem_ctx_sseu@invalid-args:
- shard-tglu-1: NOTRUN -> [SKIP][15] ([i915#280])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@gem_ctx_sseu@invalid-args.html
* igt@gem_ctx_sseu@invalid-sseu:
- shard-rkl: NOTRUN -> [SKIP][16] ([i915#280]) +1 other test skip
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@gem_ctx_sseu@invalid-sseu.html
* igt@gem_ctx_sseu@mmap-args:
- shard-mtlp: NOTRUN -> [SKIP][17] ([i915#280])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-4/igt@gem_ctx_sseu@mmap-args.html
* igt@gem_eio@in-flight-suspend:
- shard-rkl: [PASS][18] -> [ABORT][19] ([i915#15131])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@gem_eio@in-flight-suspend.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-4/igt@gem_eio@in-flight-suspend.html
* igt@gem_exec_balancer@bonded-pair:
- shard-dg2: NOTRUN -> [SKIP][20] ([i915#4771])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-7/igt@gem_exec_balancer@bonded-pair.html
* igt@gem_exec_balancer@bonded-sync:
- shard-dg1: NOTRUN -> [SKIP][21] ([i915#4771])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-13/igt@gem_exec_balancer@bonded-sync.html
* igt@gem_exec_balancer@hog:
- shard-dg2: NOTRUN -> [SKIP][22] ([i915#4812])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-6/igt@gem_exec_balancer@hog.html
- shard-dg1: NOTRUN -> [SKIP][23] ([i915#4812]) +1 other test skip
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-18/igt@gem_exec_balancer@hog.html
* igt@gem_exec_balancer@invalid-bonds:
- shard-dg2: NOTRUN -> [SKIP][24] ([i915#4036])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-5/igt@gem_exec_balancer@invalid-bonds.html
* igt@gem_exec_balancer@parallel-contexts:
- shard-tglu: NOTRUN -> [SKIP][25] ([i915#4525])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-8/igt@gem_exec_balancer@parallel-contexts.html
* igt@gem_exec_big@single:
- shard-tglu-1: NOTRUN -> [ABORT][26] ([i915#11713])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@gem_exec_big@single.html
* igt@gem_exec_capture@capture-invisible@lmem0:
- shard-dg2: NOTRUN -> [SKIP][27] ([i915#6334]) +2 other tests skip
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-7/igt@gem_exec_capture@capture-invisible@lmem0.html
* igt@gem_exec_capture@capture-recoverable:
- shard-rkl: NOTRUN -> [SKIP][28] ([i915#6344])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@gem_exec_capture@capture-recoverable.html
* igt@gem_exec_fence@submit:
- shard-mtlp: NOTRUN -> [SKIP][29] ([i915#4812]) +1 other test skip
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-4/igt@gem_exec_fence@submit.html
* igt@gem_exec_flush@basic-wb-rw-before-default:
- shard-dg2: NOTRUN -> [SKIP][30] ([i915#3539] / [i915#4852])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-8/igt@gem_exec_flush@basic-wb-rw-before-default.html
* igt@gem_exec_flush@basic-wb-rw-default:
- shard-dg1: NOTRUN -> [SKIP][31] ([i915#3539] / [i915#4852])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-14/igt@gem_exec_flush@basic-wb-rw-default.html
* igt@gem_exec_reloc@basic-active:
- shard-rkl: NOTRUN -> [SKIP][32] ([i915#14544] / [i915#3281]) +1 other test skip
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@gem_exec_reloc@basic-active.html
* igt@gem_exec_reloc@basic-cpu-gtt-noreloc:
- shard-dg1: NOTRUN -> [SKIP][33] ([i915#3281]) +4 other tests skip
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-12/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html
* igt@gem_exec_reloc@basic-cpu-noreloc:
- shard-mtlp: NOTRUN -> [SKIP][34] ([i915#3281]) +3 other tests skip
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-8/igt@gem_exec_reloc@basic-cpu-noreloc.html
* igt@gem_exec_reloc@basic-wc-read-noreloc:
- shard-dg2: NOTRUN -> [SKIP][35] ([i915#3281]) +3 other tests skip
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-8/igt@gem_exec_reloc@basic-wc-read-noreloc.html
* igt@gem_exec_reloc@basic-write-read:
- shard-rkl: NOTRUN -> [SKIP][36] ([i915#3281]) +5 other tests skip
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@gem_exec_reloc@basic-write-read.html
* igt@gem_exec_schedule@reorder-wide:
- shard-dg2: NOTRUN -> [SKIP][37] ([i915#4537] / [i915#4812])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-6/igt@gem_exec_schedule@reorder-wide.html
* igt@gem_huc_copy@huc-copy:
- shard-tglu-1: NOTRUN -> [SKIP][38] ([i915#2190])
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_evict@dontneed-evict-race:
- shard-tglu: NOTRUN -> [SKIP][39] ([i915#4613] / [i915#7582])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-10/igt@gem_lmem_evict@dontneed-evict-race.html
* igt@gem_lmem_swapping@random:
- shard-glk: NOTRUN -> [SKIP][40] ([i915#4613]) +7 other tests skip
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-glk1/igt@gem_lmem_swapping@random.html
* igt@gem_lmem_swapping@verify-ccs:
- shard-rkl: NOTRUN -> [SKIP][41] ([i915#4613])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@gem_lmem_swapping@verify-ccs.html
* igt@gem_media_vme:
- shard-dg2: NOTRUN -> [SKIP][42] ([i915#284])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-4/igt@gem_media_vme.html
* igt@gem_mmap@big-bo:
- shard-mtlp: NOTRUN -> [SKIP][43] ([i915#4083])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-5/igt@gem_mmap@big-bo.html
* igt@gem_mmap_gtt@cpuset-medium-copy:
- shard-mtlp: NOTRUN -> [SKIP][44] ([i915#4077]) +5 other tests skip
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-5/igt@gem_mmap_gtt@cpuset-medium-copy.html
* igt@gem_mmap_gtt@medium-copy-odd:
- shard-rkl: [PASS][45] -> [DMESG-WARN][46] ([i915#12917] / [i915#12964]) +1 other test dmesg-warn
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@gem_mmap_gtt@medium-copy-odd.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@gem_mmap_gtt@medium-copy-odd.html
* igt@gem_mmap_gtt@zero-extend:
- shard-dg2: NOTRUN -> [SKIP][47] ([i915#4077]) +1 other test skip
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-11/igt@gem_mmap_gtt@zero-extend.html
- shard-dg1: NOTRUN -> [SKIP][48] ([i915#4077]) +4 other tests skip
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-14/igt@gem_mmap_gtt@zero-extend.html
* igt@gem_mmap_wc@bad-object:
- shard-dg2: NOTRUN -> [SKIP][49] ([i915#4083]) +1 other test skip
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-1/igt@gem_mmap_wc@bad-object.html
* igt@gem_mmap_wc@set-cache-level:
- shard-rkl: [PASS][50] -> [SKIP][51] ([i915#14544] / [i915#1850])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-3/igt@gem_mmap_wc@set-cache-level.html
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@gem_mmap_wc@set-cache-level.html
* igt@gem_partial_pwrite_pread@writes-after-reads-display:
- shard-rkl: NOTRUN -> [SKIP][52] ([i915#3282]) +1 other test skip
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@gem_partial_pwrite_pread@writes-after-reads-display.html
* igt@gem_partial_pwrite_pread@writes-after-reads-snoop:
- shard-mtlp: NOTRUN -> [SKIP][53] ([i915#3282]) +1 other test skip
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-4/igt@gem_partial_pwrite_pread@writes-after-reads-snoop.html
* igt@gem_pread@display:
- shard-dg1: NOTRUN -> [SKIP][54] ([i915#3282]) +1 other test skip
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-15/igt@gem_pread@display.html
* igt@gem_pread@snoop:
- shard-dg2: NOTRUN -> [SKIP][55] ([i915#3282])
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-1/igt@gem_pread@snoop.html
* igt@gem_pxp@create-valid-protected-context:
- shard-dg2: NOTRUN -> [SKIP][56] ([i915#4270]) +1 other test skip
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-8/igt@gem_pxp@create-valid-protected-context.html
* igt@gem_pxp@hw-rejects-pxp-buffer:
- shard-tglu-1: NOTRUN -> [SKIP][57] ([i915#13398])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@gem_pxp@hw-rejects-pxp-buffer.html
* igt@gem_pxp@hw-rejects-pxp-context:
- shard-rkl: NOTRUN -> [TIMEOUT][58] ([i915#12917] / [i915#12964]) +1 other test timeout
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@gem_pxp@hw-rejects-pxp-context.html
* igt@gem_pxp@verify-pxp-stale-ctx-execution:
- shard-rkl: [PASS][59] -> [TIMEOUT][60] ([i915#12917] / [i915#12964]) +1 other test timeout
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-8/igt@gem_pxp@verify-pxp-stale-ctx-execution.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@gem_pxp@verify-pxp-stale-ctx-execution.html
* igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs:
- shard-glk: NOTRUN -> [SKIP][61] +501 other tests skip
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-glk1/igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs.html
* igt@gem_render_copy@y-tiled-mc-ccs-to-yf-tiled-ccs:
- shard-glk10: NOTRUN -> [SKIP][62]
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-glk10/igt@gem_render_copy@y-tiled-mc-ccs-to-yf-tiled-ccs.html
* igt@gem_render_copy@y-tiled-to-vebox-y-tiled:
- shard-dg2: NOTRUN -> [SKIP][63] ([i915#5190] / [i915#8428]) +2 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-11/igt@gem_render_copy@y-tiled-to-vebox-y-tiled.html
* igt@gem_render_copy@yf-tiled-ccs-to-yf-tiled:
- shard-mtlp: NOTRUN -> [SKIP][64] ([i915#8428]) +2 other tests skip
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-6/igt@gem_render_copy@yf-tiled-ccs-to-yf-tiled.html
* igt@gem_set_tiling_vs_blt@tiled-to-untiled:
- shard-dg2: NOTRUN -> [SKIP][65] ([i915#4079]) +1 other test skip
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-3/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html
* igt@gem_softpin@evict-snoop:
- shard-dg2: NOTRUN -> [SKIP][66] ([i915#4885])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-11/igt@gem_softpin@evict-snoop.html
* igt@gem_tiled_pread_pwrite:
- shard-mtlp: NOTRUN -> [SKIP][67] ([i915#4079])
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-4/igt@gem_tiled_pread_pwrite.html
* igt@gem_userptr_blits@coherency-sync:
- shard-rkl: NOTRUN -> [SKIP][68] ([i915#3297]) +2 other tests skip
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@gem_userptr_blits@coherency-sync.html
* igt@gem_userptr_blits@dmabuf-unsync:
- shard-dg1: NOTRUN -> [SKIP][69] ([i915#3297])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-12/igt@gem_userptr_blits@dmabuf-unsync.html
* igt@gem_userptr_blits@map-fixed-invalidate:
- shard-dg2: NOTRUN -> [SKIP][70] ([i915#3297] / [i915#4880])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-1/igt@gem_userptr_blits@map-fixed-invalidate.html
- shard-dg1: NOTRUN -> [SKIP][71] ([i915#3297] / [i915#4880])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-17/igt@gem_userptr_blits@map-fixed-invalidate.html
- shard-mtlp: NOTRUN -> [SKIP][72] ([i915#3297])
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-8/igt@gem_userptr_blits@map-fixed-invalidate.html
* igt@gem_userptr_blits@sd-probe:
- shard-dg2: NOTRUN -> [SKIP][73] ([i915#3297] / [i915#4958])
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-5/igt@gem_userptr_blits@sd-probe.html
* igt@gem_userptr_blits@unsync-overlap:
- shard-dg2: NOTRUN -> [SKIP][74] ([i915#3297])
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-4/igt@gem_userptr_blits@unsync-overlap.html
* igt@gem_userptr_blits@unsync-unmap-cycles:
- shard-tglu-1: NOTRUN -> [SKIP][75] ([i915#3297]) +1 other test skip
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@gem_userptr_blits@unsync-unmap-cycles.html
* igt@gen9_exec_parse@allowed-all:
- shard-rkl: NOTRUN -> [SKIP][76] ([i915#2527]) +1 other test skip
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@gen9_exec_parse@allowed-all.html
* igt@gen9_exec_parse@basic-rejected:
- shard-tglu: NOTRUN -> [SKIP][77] ([i915#2527] / [i915#2856])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-7/igt@gen9_exec_parse@basic-rejected.html
* igt@gen9_exec_parse@bb-chained:
- shard-tglu-1: NOTRUN -> [SKIP][78] ([i915#2527] / [i915#2856])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@gen9_exec_parse@bb-chained.html
* igt@gen9_exec_parse@bb-secure:
- shard-dg1: NOTRUN -> [SKIP][79] ([i915#2527])
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-15/igt@gen9_exec_parse@bb-secure.html
* igt@gen9_exec_parse@bb-start-far:
- shard-mtlp: NOTRUN -> [SKIP][80] ([i915#2856])
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-3/igt@gen9_exec_parse@bb-start-far.html
* igt@gen9_exec_parse@shadow-peek:
- shard-dg2: NOTRUN -> [SKIP][81] ([i915#2856])
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-7/igt@gen9_exec_parse@shadow-peek.html
* igt@i915_drm_fdinfo@all-busy-idle-check-all:
- shard-dg1: NOTRUN -> [SKIP][82] ([i915#14123])
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-13/igt@i915_drm_fdinfo@all-busy-idle-check-all.html
* igt@i915_drm_fdinfo@most-busy-idle-check-all@vecs1:
- shard-dg2: NOTRUN -> [SKIP][83] ([i915#14073]) +15 other tests skip
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-10/igt@i915_drm_fdinfo@most-busy-idle-check-all@vecs1.html
* igt@i915_drm_fdinfo@virtual-busy-idle-all:
- shard-mtlp: NOTRUN -> [SKIP][84] ([i915#14118])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-6/igt@i915_drm_fdinfo@virtual-busy-idle-all.html
* igt@i915_module_load@reload-no-display:
- shard-dg2: [PASS][85] -> [DMESG-WARN][86] ([i915#13029] / [i915#14545])
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-8/igt@i915_module_load@reload-no-display.html
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-4/igt@i915_module_load@reload-no-display.html
- shard-dg1: [PASS][87] -> [DMESG-WARN][88] ([i915#13029] / [i915#14545])
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg1-15/igt@i915_module_load@reload-no-display.html
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-19/igt@i915_module_load@reload-no-display.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-dg2: [PASS][89] -> [DMESG-WARN][90] ([i915#13447])
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-4/igt@i915_module_load@reload-with-fault-injection.html
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-3/igt@i915_module_load@reload-with-fault-injection.html
* igt@i915_module_load@resize-bar:
- shard-dg2: NOTRUN -> [DMESG-WARN][91] ([i915#14545])
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-7/igt@i915_module_load@resize-bar.html
* igt@i915_pm_freq_api@freq-suspend:
- shard-rkl: NOTRUN -> [SKIP][92] ([i915#8399])
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@i915_pm_freq_api@freq-suspend.html
- shard-tglu-1: NOTRUN -> [SKIP][93] ([i915#8399])
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@i915_pm_freq_api@freq-suspend.html
* igt@i915_pm_rc6_residency@rc6-accuracy:
- shard-dg2: [PASS][94] -> [FAIL][95] ([i915#12964]) +1 other test fail
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-11/igt@i915_pm_rc6_residency@rc6-accuracy.html
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-4/igt@i915_pm_rc6_residency@rc6-accuracy.html
* igt@i915_pm_rpm@system-suspend-execbuf:
- shard-rkl: [PASS][96] -> [SKIP][97] ([i915#13328])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@i915_pm_rpm@system-suspend-execbuf.html
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-3/igt@i915_pm_rpm@system-suspend-execbuf.html
* igt@i915_pm_rps@basic-api:
- shard-mtlp: NOTRUN -> [SKIP][98] ([i915#11681] / [i915#6621])
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-5/igt@i915_pm_rps@basic-api.html
* igt@i915_pm_rps@reset:
- shard-snb: [PASS][99] -> [INCOMPLETE][100] ([i915#13729] / [i915#13821])
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-snb6/igt@i915_pm_rps@reset.html
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-snb6/igt@i915_pm_rps@reset.html
* igt@i915_query@query-topology-known-pci-ids:
- shard-dg1: NOTRUN -> [SKIP][101] +14 other tests skip
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-14/igt@i915_query@query-topology-known-pci-ids.html
* igt@intel_hwmon@hwmon-read:
- shard-tglu-1: NOTRUN -> [SKIP][102] ([i915#7707])
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@intel_hwmon@hwmon-read.html
* igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy:
- shard-mtlp: NOTRUN -> [SKIP][103] ([i915#4212])
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-6/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html
* igt@kms_addfb_basic@addfb25-yf-tiled-legacy:
- shard-dg1: [PASS][104] -> [DMESG-WARN][105] ([i915#4423]) +6 other tests dmesg-warn
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg1-15/igt@kms_addfb_basic@addfb25-yf-tiled-legacy.html
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-16/igt@kms_addfb_basic@addfb25-yf-tiled-legacy.html
* igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
- shard-tglu: NOTRUN -> [SKIP][106] ([i915#12454] / [i915#12712])
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-5/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
* igt@kms_async_flips@async-flip-suspend-resume:
- shard-glk: NOTRUN -> [INCOMPLETE][107] ([i915#12761])
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-glk5/igt@kms_async_flips@async-flip-suspend-resume.html
* igt@kms_async_flips@async-flip-suspend-resume@pipe-a-hdmi-a-2:
- shard-glk: NOTRUN -> [INCOMPLETE][108] ([i915#12761] / [i915#14995])
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-glk5/igt@kms_async_flips@async-flip-suspend-resume@pipe-a-hdmi-a-2.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
- shard-dg2: [PASS][109] -> [FAIL][110] ([i915#5956])
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-8/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-4/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
- shard-rkl: NOTRUN -> [SKIP][111] ([i915#1769] / [i915#3555])
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing@pipe-a-hdmi-a-1:
- shard-dg2: NOTRUN -> [FAIL][112] ([i915#5956])
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-4/igt@kms_atomic_transition@plane-all-modeset-transition-fencing@pipe-a-hdmi-a-1.html
* igt@kms_big_fb@4-tiled-16bpp-rotate-180:
- shard-dg1: NOTRUN -> [SKIP][113] ([i915#4538] / [i915#5286]) +1 other test skip
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-16/igt@kms_big_fb@4-tiled-16bpp-rotate-180.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-0:
- shard-tglu: NOTRUN -> [SKIP][114] ([i915#5286]) +3 other tests skip
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-8/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-180:
- shard-tglu-1: NOTRUN -> [SKIP][115] ([i915#5286]) +1 other test skip
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_big_fb@4-tiled-32bpp-rotate-180.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip:
- shard-rkl: NOTRUN -> [SKIP][116] ([i915#5286]) +3 other tests skip
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
- shard-mtlp: [PASS][117] -> [FAIL][118] ([i915#5138])
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-mtlp-8/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_big_fb@linear-32bpp-rotate-270:
- shard-dg1: NOTRUN -> [SKIP][119] ([i915#3638])
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-12/igt@kms_big_fb@linear-32bpp-rotate-270.html
* igt@kms_big_fb@x-tiled-16bpp-rotate-90:
- shard-rkl: NOTRUN -> [SKIP][120] ([i915#3638]) +2 other tests skip
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
- shard-dg2: NOTRUN -> [SKIP][121] ([i915#4538] / [i915#5190]) +5 other tests skip
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-6/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html
* igt@kms_big_fb@yf-tiled-32bpp-rotate-180:
- shard-dg1: NOTRUN -> [SKIP][122] ([i915#4538]) +1 other test skip
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-16/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html
* igt@kms_big_fb@yf-tiled-64bpp-rotate-90:
- shard-rkl: NOTRUN -> [SKIP][123] +17 other tests skip
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@kms_big_fb@yf-tiled-64bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-addfb-size-overflow:
- shard-mtlp: NOTRUN -> [SKIP][124] ([i915#6187])
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-7/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-snb: NOTRUN -> [SKIP][125] +38 other tests skip
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-snb6/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
- shard-mtlp: NOTRUN -> [SKIP][126] +8 other tests skip
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-6/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-a-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][127] ([i915#6095]) +9 other tests skip
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-8/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-a-edp-1.html
* igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs:
- shard-rkl: NOTRUN -> [SKIP][128] ([i915#12313])
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs:
- shard-tglu-1: NOTRUN -> [SKIP][129] ([i915#6095]) +34 other tests skip
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs:
- shard-dg1: NOTRUN -> [SKIP][130] ([i915#12313])
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-17/igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs.html
- shard-tglu: NOTRUN -> [SKIP][131] ([i915#12313]) +1 other test skip
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs-cc:
- shard-tglu: NOTRUN -> [SKIP][132] ([i915#6095]) +54 other tests skip
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-8/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
- shard-dg1: NOTRUN -> [SKIP][133] ([i915#12805])
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-19/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-ccs@pipe-a-hdmi-a-1:
- shard-glk: NOTRUN -> [INCOMPLETE][134] ([i915#12796]) +3 other tests incomplete
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-glk5/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs@pipe-a-hdmi-a-1.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs:
- shard-dg2: NOTRUN -> [SKIP][135] ([i915#6095]) +13 other tests skip
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-4/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs:
- shard-mtlp: NOTRUN -> [SKIP][136] ([i915#12313])
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-3/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][137] ([i915#10307] / [i915#6095]) +158 other tests skip
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-1/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-3.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][138] ([i915#6095]) +52 other tests skip
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs@pipe-a-hdmi-a-2.html
* igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][139] ([i915#10307] / [i915#10434] / [i915#6095]) +1 other test skip
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-4/igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs@pipe-d-hdmi-a-1.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][140] ([i915#14098] / [i915#6095]) +51 other tests skip
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2.html
* igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-3:
- shard-dg1: NOTRUN -> [SKIP][141] ([i915#6095]) +142 other tests skip
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-13/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-3.html
* igt@kms_cdclk@plane-scaling@pipe-c-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][142] ([i915#13783]) +4 other tests skip
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-6/igt@kms_cdclk@plane-scaling@pipe-c-edp-1.html
* igt@kms_chamelium_color@ctm-green-to-red:
- shard-dg2: NOTRUN -> [SKIP][143] +11 other tests skip
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-11/igt@kms_chamelium_color@ctm-green-to-red.html
* igt@kms_chamelium_edid@dp-mode-timings:
- shard-tglu-1: NOTRUN -> [SKIP][144] ([i915#11151] / [i915#7828]) +2 other tests skip
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_chamelium_edid@dp-mode-timings.html
* igt@kms_chamelium_frames@hdmi-aspect-ratio:
- shard-tglu: NOTRUN -> [SKIP][145] ([i915#11151] / [i915#7828]) +5 other tests skip
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-6/igt@kms_chamelium_frames@hdmi-aspect-ratio.html
- shard-mtlp: NOTRUN -> [SKIP][146] ([i915#11151] / [i915#7828]) +2 other tests skip
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-8/igt@kms_chamelium_frames@hdmi-aspect-ratio.html
* igt@kms_chamelium_frames@hdmi-cmp-planar-formats:
- shard-rkl: NOTRUN -> [SKIP][147] ([i915#11151] / [i915#14544] / [i915#7828])
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_chamelium_frames@hdmi-cmp-planar-formats.html
* igt@kms_chamelium_frames@hdmi-crc-fast:
- shard-dg2: NOTRUN -> [SKIP][148] ([i915#11151] / [i915#7828]) +6 other tests skip
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-3/igt@kms_chamelium_frames@hdmi-crc-fast.html
* igt@kms_chamelium_frames@hdmi-crc-multiple:
- shard-rkl: NOTRUN -> [SKIP][149] ([i915#11151] / [i915#7828]) +4 other tests skip
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@kms_chamelium_frames@hdmi-crc-multiple.html
* igt@kms_chamelium_hpd@vga-hpd-fast:
- shard-dg1: NOTRUN -> [SKIP][150] ([i915#11151] / [i915#7828]) +3 other tests skip
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-15/igt@kms_chamelium_hpd@vga-hpd-fast.html
* igt@kms_color@ctm-blue-to-red:
- shard-rkl: [PASS][151] -> [SKIP][152] ([i915#12655] / [i915#14544])
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-5/igt@kms_color@ctm-blue-to-red.html
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_color@ctm-blue-to-red.html
* igt@kms_content_protection@atomic-dpms:
- shard-tglu-1: NOTRUN -> [SKIP][153] ([i915#6944] / [i915#7116] / [i915#7118] / [i915#9424])
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_content_protection@atomic-dpms.html
* igt@kms_content_protection@content-type-change:
- shard-dg2: NOTRUN -> [SKIP][154] ([i915#9424])
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-6/igt@kms_content_protection@content-type-change.html
- shard-tglu: NOTRUN -> [SKIP][155] ([i915#6944] / [i915#9424])
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-3/igt@kms_content_protection@content-type-change.html
* igt@kms_content_protection@dp-mst-type-0:
- shard-dg2: NOTRUN -> [SKIP][156] ([i915#3299])
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-11/igt@kms_content_protection@dp-mst-type-0.html
* igt@kms_content_protection@mei-interface:
- shard-tglu-1: NOTRUN -> [SKIP][157] ([i915#6944] / [i915#9424])
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_content_protection@mei-interface.html
* igt@kms_content_protection@srm:
- shard-dg1: NOTRUN -> [SKIP][158] ([i915#7116])
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-18/igt@kms_content_protection@srm.html
* igt@kms_content_protection@uevent:
- shard-mtlp: NOTRUN -> [SKIP][159] ([i915#6944] / [i915#9424])
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-3/igt@kms_content_protection@uevent.html
* igt@kms_cursor_crc@cursor-offscreen-512x512:
- shard-rkl: NOTRUN -> [SKIP][160] ([i915#13049])
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_cursor_crc@cursor-offscreen-512x512.html
* igt@kms_cursor_crc@cursor-random-512x170:
- shard-rkl: NOTRUN -> [SKIP][161] ([i915#14544]) +13 other tests skip
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_cursor_crc@cursor-random-512x170.html
* igt@kms_cursor_crc@cursor-random-max-size:
- shard-rkl: NOTRUN -> [SKIP][162] ([i915#3555])
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_cursor_crc@cursor-random-max-size.html
- shard-tglu-1: NOTRUN -> [SKIP][163] ([i915#3555]) +1 other test skip
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_cursor_crc@cursor-random-max-size.html
* igt@kms_cursor_crc@cursor-rapid-movement-512x512:
- shard-tglu: NOTRUN -> [SKIP][164] ([i915#13049])
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-5/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html
* igt@kms_cursor_crc@cursor-rapid-movement-64x21:
- shard-mtlp: NOTRUN -> [SKIP][165] ([i915#8814])
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-8/igt@kms_cursor_crc@cursor-rapid-movement-64x21.html
* igt@kms_cursor_crc@cursor-sliding-256x85:
- shard-tglu: NOTRUN -> [FAIL][166] ([i915#13566]) +1 other test fail
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-4/igt@kms_cursor_crc@cursor-sliding-256x85.html
* igt@kms_cursor_crc@cursor-sliding-512x512:
- shard-dg1: NOTRUN -> [SKIP][167] ([i915#13049]) +1 other test skip
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-17/igt@kms_cursor_crc@cursor-sliding-512x512.html
* igt@kms_cursor_crc@cursor-sliding-64x21:
- shard-rkl: [PASS][168] -> [FAIL][169] ([i915#13566])
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@kms_cursor_crc@cursor-sliding-64x21.html
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-3/igt@kms_cursor_crc@cursor-sliding-64x21.html
* igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-1:
- shard-tglu: [PASS][170] -> [FAIL][171] ([i915#13566]) +1 other test fail
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-tglu-2/igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-1.html
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-4/igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-1.html
* igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [FAIL][172] ([i915#13566]) +3 other tests fail
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-3/igt@kms_cursor_crc@cursor-sliding-64x21@pipe-a-hdmi-a-2.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
- shard-tglu: NOTRUN -> [SKIP][173] ([i915#4103]) +3 other tests skip
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-9/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions:
- shard-dg2: NOTRUN -> [SKIP][174] ([i915#13046] / [i915#5354]) +2 other tests skip
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-5/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
- shard-mtlp: NOTRUN -> [SKIP][175] ([i915#9809]) +1 other test skip
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-6/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-glk: NOTRUN -> [FAIL][176] ([i915#2346])
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-glk1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
- shard-dg2: NOTRUN -> [SKIP][177] ([i915#4103] / [i915#4213])
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-7/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-dg2: [PASS][178] -> [SKIP][179] ([i915#3555])
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-11/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-1/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][180] ([i915#3804])
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html
* igt@kms_dp_aux_dev:
- shard-rkl: NOTRUN -> [SKIP][181] ([i915#1257])
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_dp_aux_dev.html
- shard-tglu-1: NOTRUN -> [SKIP][182] ([i915#1257])
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_dp_aux_dev.html
* igt@kms_dp_link_training@uhbr-mst:
- shard-tglu-1: NOTRUN -> [SKIP][183] ([i915#13748])
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_dp_link_training@uhbr-mst.html
* igt@kms_dp_linktrain_fallback@dp-fallback:
- shard-tglu-1: NOTRUN -> [SKIP][184] ([i915#13707])
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_dp_linktrain_fallback@dp-fallback.html
* igt@kms_dp_linktrain_fallback@dsc-fallback:
- shard-tglu: NOTRUN -> [SKIP][185] ([i915#13707])
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-9/igt@kms_dp_linktrain_fallback@dsc-fallback.html
* igt@kms_dsc@dsc-fractional-bpp:
- shard-tglu-1: NOTRUN -> [SKIP][186] ([i915#3840])
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_dsc@dsc-fractional-bpp.html
* igt@kms_dsc@dsc-with-bpc:
- shard-dg2: NOTRUN -> [SKIP][187] ([i915#3555] / [i915#3840])
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-1/igt@kms_dsc@dsc-with-bpc.html
* igt@kms_dsc@dsc-with-output-formats:
- shard-dg1: NOTRUN -> [SKIP][188] ([i915#3555] / [i915#3840])
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-17/igt@kms_dsc@dsc-with-output-formats.html
- shard-tglu: NOTRUN -> [SKIP][189] ([i915#3555] / [i915#3840])
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-10/igt@kms_dsc@dsc-with-output-formats.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-glk10: NOTRUN -> [INCOMPLETE][190] ([i915#9878])
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-glk10/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_fbcon_fbt@psr:
- shard-dg2: NOTRUN -> [SKIP][191] ([i915#3469])
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-7/igt@kms_fbcon_fbt@psr.html
* igt@kms_fbcon_fbt@psr-suspend:
- shard-dg1: NOTRUN -> [SKIP][192] ([i915#3469])
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-16/igt@kms_fbcon_fbt@psr-suspend.html
* igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible:
- shard-dg2: NOTRUN -> [SKIP][193] ([i915#9934]) +5 other tests skip
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-6/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html
* igt@kms_flip@2x-plain-flip:
- shard-rkl: NOTRUN -> [SKIP][194] ([i915#9934]) +3 other tests skip
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_flip@2x-plain-flip.html
- shard-tglu-1: NOTRUN -> [SKIP][195] ([i915#3637] / [i915#9934]) +3 other tests skip
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_flip@2x-plain-flip.html
* igt@kms_flip@2x-plain-flip-interruptible:
- shard-rkl: NOTRUN -> [SKIP][196] ([i915#14544] / [i915#9934]) +1 other test skip
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_flip@2x-plain-flip-interruptible.html
- shard-dg1: NOTRUN -> [SKIP][197] ([i915#9934]) +4 other tests skip
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-15/igt@kms_flip@2x-plain-flip-interruptible.html
- shard-tglu: NOTRUN -> [SKIP][198] ([i915#3637] / [i915#9934]) +7 other tests skip
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-8/igt@kms_flip@2x-plain-flip-interruptible.html
- shard-mtlp: NOTRUN -> [SKIP][199] ([i915#3637] / [i915#9934]) +1 other test skip
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-3/igt@kms_flip@2x-plain-flip-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-rkl: [PASS][200] -> [SKIP][201] ([i915#14544] / [i915#3637]) +2 other tests skip
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
* igt@kms_flip@flip-vs-fences:
- shard-mtlp: NOTRUN -> [SKIP][202] ([i915#8381])
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-2/igt@kms_flip@flip-vs-fences.html
- shard-dg2: NOTRUN -> [SKIP][203] ([i915#8381])
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-11/igt@kms_flip@flip-vs-fences.html
- shard-dg1: NOTRUN -> [SKIP][204] ([i915#8381])
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-14/igt@kms_flip@flip-vs-fences.html
* igt@kms_flip@flip-vs-suspend:
- shard-rkl: [PASS][205] -> [INCOMPLETE][206] ([i915#6113])
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@kms_flip@flip-vs-suspend.html
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-3/igt@kms_flip@flip-vs-suspend.html
- shard-glk: NOTRUN -> [INCOMPLETE][207] ([i915#12745] / [i915#4839] / [i915#6113])
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-glk3/igt@kms_flip@flip-vs-suspend.html
* igt@kms_flip@flip-vs-suspend@a-hdmi-a1:
- shard-glk: NOTRUN -> [INCOMPLETE][208] ([i915#12745] / [i915#6113])
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-glk3/igt@kms_flip@flip-vs-suspend@a-hdmi-a1.html
* igt@kms_flip@flip-vs-suspend@a-hdmi-a2:
- shard-rkl: NOTRUN -> [INCOMPLETE][209] ([i915#6113])
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-3/igt@kms_flip@flip-vs-suspend@a-hdmi-a2.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
- shard-mtlp: NOTRUN -> [SKIP][210] ([i915#2672] / [i915#3555] / [i915#8813]) +1 other test skip
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-7/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode:
- shard-mtlp: NOTRUN -> [SKIP][211] ([i915#2672] / [i915#8813]) +1 other test skip
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-7/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling:
- shard-tglu-1: NOTRUN -> [SKIP][212] ([i915#2672] / [i915#3555])
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling@pipe-a-valid-mode:
- shard-tglu-1: NOTRUN -> [SKIP][213] ([i915#2587] / [i915#2672])
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling:
- shard-tglu: NOTRUN -> [SKIP][214] ([i915#2672] / [i915#3555]) +1 other test skip
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-3/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode:
- shard-rkl: NOTRUN -> [SKIP][215] ([i915#2672]) +4 other tests skip
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-valid-mode:
- shard-dg2: NOTRUN -> [SKIP][216] ([i915#2672]) +2 other tests skip
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-10/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling:
- shard-rkl: [PASS][217] -> [SKIP][218] ([i915#14544] / [i915#3555]) +2 other tests skip
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling:
- shard-dg1: NOTRUN -> [SKIP][219] ([i915#2587] / [i915#2672] / [i915#3555])
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-16/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling:
- shard-rkl: NOTRUN -> [SKIP][220] ([i915#2672] / [i915#3555]) +2 other tests skip
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html
- shard-dg1: NOTRUN -> [SKIP][221] ([i915#2672] / [i915#3555]) +1 other test skip
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-19/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode:
- shard-dg1: NOTRUN -> [SKIP][222] ([i915#2587] / [i915#2672]) +2 other tests skip
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-19/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode.html
- shard-tglu: NOTRUN -> [SKIP][223] ([i915#2587] / [i915#2672]) +1 other test skip
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling:
- shard-dg2: NOTRUN -> [SKIP][224] ([i915#2672] / [i915#3555]) +1 other test skip
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-11/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling:
- shard-rkl: NOTRUN -> [SKIP][225] ([i915#14544] / [i915#3555]) +1 other test skip
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling:
- shard-dg2: NOTRUN -> [SKIP][226] ([i915#2672] / [i915#3555] / [i915#5190])
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-1/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-render:
- shard-dg2: [PASS][227] -> [FAIL][228] ([i915#6880])
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-render.html
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-1p-shrfb-fliptrack-mmap-gtt:
- shard-rkl: [PASS][229] -> [SKIP][230] ([i915#14544] / [i915#1849] / [i915#5354]) +3 other tests skip
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@kms_frontbuffer_tracking@fbc-1p-shrfb-fliptrack-mmap-gtt.html
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-shrfb-fliptrack-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-move:
- shard-tglu: NOTRUN -> [SKIP][231] +43 other tests skip
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-move.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-cpu:
- shard-mtlp: NOTRUN -> [SKIP][232] ([i915#1825]) +11 other tests skip
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc:
- shard-dg1: NOTRUN -> [SKIP][233] ([i915#8708]) +3 other tests skip
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-13/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-blt:
- shard-rkl: NOTRUN -> [SKIP][234] ([i915#14544] / [i915#1849] / [i915#5354]) +7 other tests skip
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][235] ([i915#8708]) +8 other tests skip
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-8/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-render:
- shard-dg1: NOTRUN -> [SKIP][236] ([i915#15102])
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-13/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-gtt:
- shard-mtlp: NOTRUN -> [SKIP][237] ([i915#8708])
[237]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move:
- shard-dg2: NOTRUN -> [SKIP][238] ([i915#15102] / [i915#3458]) +11 other tests skip
[238]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-move:
- shard-dg2: NOTRUN -> [SKIP][239] ([i915#5354]) +12 other tests skip
[239]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
- shard-rkl: NOTRUN -> [SKIP][240] ([i915#1825]) +24 other tests skip
[240]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
- shard-tglu-1: NOTRUN -> [SKIP][241] +26 other tests skip
[241]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt:
- shard-tglu-1: NOTRUN -> [SKIP][242] ([i915#15102]) +9 other tests skip
[242]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-tiling-y:
- shard-dg2: NOTRUN -> [SKIP][243] ([i915#10055])
[243]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html
* igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][244] ([i915#15104])
[244]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-wc:
- shard-dg1: NOTRUN -> [SKIP][245] ([i915#15104])
[245]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-17/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-mmap-wc:
- shard-rkl: NOTRUN -> [SKIP][246] ([i915#15102]) +2 other tests skip
[246]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-3/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-cpu:
- shard-tglu: NOTRUN -> [SKIP][247] ([i915#15102]) +14 other tests skip
[247]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@psr-rgb565-draw-render:
- shard-rkl: NOTRUN -> [SKIP][248] ([i915#15102] / [i915#3023]) +13 other tests skip
[248]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-4/igt@kms_frontbuffer_tracking@psr-rgb565-draw-render.html
* igt@kms_frontbuffer_tracking@psr-suspend:
- shard-dg1: NOTRUN -> [SKIP][249] ([i915#15102] / [i915#3458]) +6 other tests skip
[249]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-15/igt@kms_frontbuffer_tracking@psr-suspend.html
* igt@kms_hdr@invalid-metadata-sizes:
- shard-rkl: NOTRUN -> [SKIP][250] ([i915#3555] / [i915#8228])
[250]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_hdr@invalid-metadata-sizes.html
* igt@kms_hdr@static-toggle:
- shard-tglu: NOTRUN -> [SKIP][251] ([i915#3555] / [i915#8228]) +1 other test skip
[251]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-4/igt@kms_hdr@static-toggle.html
* igt@kms_hdr@static-toggle-dpms:
- shard-dg2: [PASS][252] -> [SKIP][253] ([i915#3555] / [i915#8228]) +1 other test skip
[252]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-11/igt@kms_hdr@static-toggle-dpms.html
[253]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-3/igt@kms_hdr@static-toggle-dpms.html
* igt@kms_hdr@static-toggle-suspend:
- shard-dg1: NOTRUN -> [SKIP][254] ([i915#3555] / [i915#8228])
[254]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-12/igt@kms_hdr@static-toggle-suspend.html
* igt@kms_invalid_mode@zero-clock:
- shard-rkl: [PASS][255] -> [SKIP][256] ([i915#14544] / [i915#3555] / [i915#8826]) +2 other tests skip
[255]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@kms_invalid_mode@zero-clock.html
[256]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_invalid_mode@zero-clock.html
* igt@kms_joiner@basic-big-joiner:
- shard-dg2: NOTRUN -> [SKIP][257] ([i915#10656])
[257]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-7/igt@kms_joiner@basic-big-joiner.html
- shard-rkl: NOTRUN -> [SKIP][258] ([i915#10656])
[258]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_joiner@basic-big-joiner.html
- shard-dg1: NOTRUN -> [SKIP][259] ([i915#10656])
[259]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-18/igt@kms_joiner@basic-big-joiner.html
- shard-tglu: NOTRUN -> [SKIP][260] ([i915#10656])
[260]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-6/igt@kms_joiner@basic-big-joiner.html
- shard-mtlp: NOTRUN -> [SKIP][261] ([i915#10656])
[261]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-5/igt@kms_joiner@basic-big-joiner.html
* igt@kms_joiner@basic-force-big-joiner:
- shard-dg2: [PASS][262] -> [SKIP][263] ([i915#12388])
[262]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-11/igt@kms_joiner@basic-force-big-joiner.html
[263]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-1/igt@kms_joiner@basic-force-big-joiner.html
* igt@kms_joiner@basic-max-non-joiner:
- shard-mtlp: NOTRUN -> [SKIP][264] ([i915#15283])
[264]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-8/igt@kms_joiner@basic-max-non-joiner.html
* igt@kms_joiner@invalid-modeset-big-joiner:
- shard-tglu-1: NOTRUN -> [SKIP][265] ([i915#10656])
[265]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_joiner@invalid-modeset-big-joiner.html
* igt@kms_joiner@invalid-modeset-force-big-joiner:
- shard-dg1: NOTRUN -> [SKIP][266] ([i915#10656] / [i915#12388])
[266]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-12/igt@kms_joiner@invalid-modeset-force-big-joiner.html
* igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner:
- shard-dg2: NOTRUN -> [SKIP][267] ([i915#13522])
[267]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-7/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-dg1: NOTRUN -> [SKIP][268] ([i915#1839])
[268]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-13/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_pipe_stress@stress-xrgb8888-ytiled:
- shard-mtlp: NOTRUN -> [SKIP][269] ([i915#13705])
[269]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-5/igt@kms_pipe_stress@stress-xrgb8888-ytiled.html
* igt@kms_plane_alpha_blend@constant-alpha-max:
- shard-glk: NOTRUN -> [FAIL][270] ([i915#10647] / [i915#12169])
[270]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-glk9/igt@kms_plane_alpha_blend@constant-alpha-max.html
* igt@kms_plane_alpha_blend@constant-alpha-max@pipe-c-hdmi-a-1:
- shard-glk: NOTRUN -> [FAIL][271] ([i915#10647]) +1 other test fail
[271]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-glk9/igt@kms_plane_alpha_blend@constant-alpha-max@pipe-c-hdmi-a-1.html
* igt@kms_plane_alpha_blend@constant-alpha-min:
- shard-rkl: [PASS][272] -> [SKIP][273] ([i915#14544] / [i915#7294])
[272]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-8/igt@kms_plane_alpha_blend@constant-alpha-min.html
[273]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_plane_alpha_blend@constant-alpha-min.html
* igt@kms_plane_lowres@tiling-x:
- shard-mtlp: NOTRUN -> [SKIP][274] ([i915#11614] / [i915#3582]) +1 other test skip
[274]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-6/igt@kms_plane_lowres@tiling-x.html
* igt@kms_plane_lowres@tiling-x@pipe-c-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][275] ([i915#10226] / [i915#11614] / [i915#3582]) +2 other tests skip
[275]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-6/igt@kms_plane_lowres@tiling-x@pipe-c-edp-1.html
* igt@kms_plane_multiple@2x-tiling-x:
- shard-rkl: NOTRUN -> [SKIP][276] ([i915#13958])
[276]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_plane_multiple@2x-tiling-x.html
- shard-tglu-1: NOTRUN -> [SKIP][277] ([i915#13958])
[277]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_plane_multiple@2x-tiling-x.html
* igt@kms_plane_multiple@2x-tiling-y:
- shard-dg2: NOTRUN -> [SKIP][278] ([i915#13958])
[278]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-3/igt@kms_plane_multiple@2x-tiling-y.html
* igt@kms_plane_multiple@tiling-y:
- shard-rkl: [PASS][279] -> [SKIP][280] ([i915#14544]) +36 other tests skip
[279]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-8/igt@kms_plane_multiple@tiling-y.html
[280]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_plane_multiple@tiling-y.html
* igt@kms_plane_scaling@intel-max-src-size:
- shard-rkl: NOTRUN -> [SKIP][281] ([i915#14544] / [i915#6953] / [i915#8152])
[281]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_plane_scaling@intel-max-src-size.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-d:
- shard-dg1: NOTRUN -> [SKIP][282] ([i915#12247]) +4 other tests skip
[282]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-18/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-d.html
* igt@kms_plane_scaling@plane-scaler-unity-scaling-with-pixel-format:
- shard-rkl: [PASS][283] -> [SKIP][284] ([i915#14544] / [i915#8152])
[283]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-8/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-pixel-format.html
[284]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-pixel-format.html
* igt@kms_plane_scaling@plane-scaler-unity-scaling-with-pixel-format@pipe-b:
- shard-rkl: [PASS][285] -> [SKIP][286] ([i915#12247] / [i915#14544] / [i915#8152]) +1 other test skip
[285]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-8/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-pixel-format@pipe-b.html
[286]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-pixel-format@pipe-b.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-modifiers:
- shard-rkl: NOTRUN -> [SKIP][287] ([i915#14544] / [i915#3555] / [i915#8152])
[287]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-modifiers.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-modifiers@pipe-a:
- shard-rkl: NOTRUN -> [SKIP][288] ([i915#12247] / [i915#14544])
[288]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-modifiers@pipe-a.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-modifiers@pipe-b:
- shard-rkl: NOTRUN -> [SKIP][289] ([i915#12247] / [i915#14544] / [i915#8152])
[289]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-modifiers@pipe-b.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5:
- shard-rkl: [PASS][290] -> [SKIP][291] ([i915#12247] / [i915#14544] / [i915#6953] / [i915#8152])
[290]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-8/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5.html
[291]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a:
- shard-rkl: [PASS][292] -> [SKIP][293] ([i915#12247] / [i915#14544]) +1 other test skip
[292]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-8/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a.html
[293]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-a.html
* igt@kms_pm_backlight@basic-brightness:
- shard-rkl: NOTRUN -> [SKIP][294] ([i915#5354])
[294]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_pm_backlight@basic-brightness.html
* igt@kms_pm_backlight@brightness-with-dpms:
- shard-rkl: NOTRUN -> [SKIP][295] ([i915#12343] / [i915#14544])
[295]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_pm_backlight@brightness-with-dpms.html
* igt@kms_pm_dc@dc3co-vpb-simulation:
- shard-tglu: NOTRUN -> [SKIP][296] ([i915#9685])
[296]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-8/igt@kms_pm_dc@dc3co-vpb-simulation.html
* igt@kms_pm_dc@dc6-dpms:
- shard-rkl: NOTRUN -> [FAIL][297] ([i915#9295])
[297]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_pm_dc@dc6-dpms.html
* igt@kms_pm_dc@dc6-psr:
- shard-dg2: NOTRUN -> [SKIP][298] ([i915#9685]) +1 other test skip
[298]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-11/igt@kms_pm_dc@dc6-psr.html
* igt@kms_pm_dc@dc9-dpms:
- shard-tglu-1: NOTRUN -> [SKIP][299] ([i915#4281])
[299]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_pm_dc@dc9-dpms.html
* igt@kms_pm_rpm@modeset-lpsp-stress:
- shard-rkl: [PASS][300] -> [SKIP][301] ([i915#15073])
[300]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@kms_pm_rpm@modeset-lpsp-stress.html
[301]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_pm_rpm@modeset-lpsp-stress.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress:
- shard-dg2: [PASS][302] -> [SKIP][303] ([i915#15073])
[302]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-11/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
[303]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-4/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
* igt@kms_pm_rpm@system-suspend-idle:
- shard-dg2: [PASS][304] -> [INCOMPLETE][305] ([i915#14419])
[304]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-4/igt@kms_pm_rpm@system-suspend-idle.html
[305]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-10/igt@kms_pm_rpm@system-suspend-idle.html
* igt@kms_prime@basic-crc-vgem:
- shard-rkl: NOTRUN -> [SKIP][306] ([i915#14544] / [i915#6524])
[306]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_prime@basic-crc-vgem.html
* igt@kms_prime@basic-modeset-hybrid:
- shard-dg1: NOTRUN -> [SKIP][307] ([i915#6524])
[307]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-13/igt@kms_prime@basic-modeset-hybrid.html
- shard-tglu: NOTRUN -> [SKIP][308] ([i915#6524])
[308]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-8/igt@kms_prime@basic-modeset-hybrid.html
* igt@kms_prime@d3hot:
- shard-tglu-1: NOTRUN -> [SKIP][309] ([i915#6524])
[309]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_prime@d3hot.html
* igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf:
- shard-dg2: NOTRUN -> [SKIP][310] ([i915#11520]) +4 other tests skip
[310]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-5/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf.html
- shard-tglu: NOTRUN -> [SKIP][311] ([i915#11520]) +4 other tests skip
[311]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-8/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area:
- shard-mtlp: NOTRUN -> [SKIP][312] ([i915#12316]) +2 other tests skip
[312]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-8/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area:
- shard-glk: NOTRUN -> [SKIP][313] ([i915#11520]) +13 other tests skip
[313]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-glk6/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf:
- shard-dg1: NOTRUN -> [SKIP][314] ([i915#11520]) +3 other tests skip
[314]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-13/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area:
- shard-snb: NOTRUN -> [SKIP][315] ([i915#11520])
[315]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-snb7/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area@pipe-a-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][316] ([i915#9808])
[316]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-6/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area@pipe-a-edp-1.html
* igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area:
- shard-rkl: NOTRUN -> [SKIP][317] ([i915#11520]) +5 other tests skip
[317]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area.html
- shard-tglu-1: NOTRUN -> [SKIP][318] ([i915#11520]) +3 other tests skip
[318]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr2_su@frontbuffer-xrgb8888:
- shard-dg1: NOTRUN -> [SKIP][319] ([i915#9683])
[319]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-19/igt@kms_psr2_su@frontbuffer-xrgb8888.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-tglu-1: NOTRUN -> [SKIP][320] ([i915#9683])
[320]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr@fbc-pr-sprite-plane-move:
- shard-rkl: NOTRUN -> [SKIP][321] ([i915#1072] / [i915#9732]) +7 other tests skip
[321]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_psr@fbc-pr-sprite-plane-move.html
* igt@kms_psr@fbc-pr-sprite-render:
- shard-tglu: NOTRUN -> [SKIP][322] ([i915#9732]) +12 other tests skip
[322]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-9/igt@kms_psr@fbc-pr-sprite-render.html
* igt@kms_psr@pr-cursor-render:
- shard-dg1: NOTRUN -> [SKIP][323] ([i915#1072] / [i915#9732]) +6 other tests skip
[323]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-16/igt@kms_psr@pr-cursor-render.html
* igt@kms_psr@pr-no-drrs:
- shard-dg2: NOTRUN -> [SKIP][324] ([i915#1072] / [i915#9732]) +10 other tests skip
[324]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-8/igt@kms_psr@pr-no-drrs.html
* igt@kms_psr@pr-sprite-plane-move:
- shard-mtlp: NOTRUN -> [SKIP][325] ([i915#9688]) +6 other tests skip
[325]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-3/igt@kms_psr@pr-sprite-plane-move.html
* igt@kms_psr@pr-sprite-plane-onoff:
- shard-tglu-1: NOTRUN -> [SKIP][326] ([i915#9732]) +9 other tests skip
[326]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_psr@pr-sprite-plane-onoff.html
* igt@kms_psr@psr-no-drrs:
- shard-rkl: NOTRUN -> [SKIP][327] ([i915#1072] / [i915#14544] / [i915#9732]) +3 other tests skip
[327]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_psr@psr-no-drrs.html
* igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
- shard-dg1: NOTRUN -> [SKIP][328] ([i915#9685]) +1 other test skip
[328]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-15/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
* igt@kms_rotation_crc@exhaust-fences:
- shard-dg1: NOTRUN -> [SKIP][329] ([i915#4884])
[329]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-14/igt@kms_rotation_crc@exhaust-fences.html
* igt@kms_rotation_crc@primary-4-tiled-reflect-x-180:
- shard-tglu-1: NOTRUN -> [SKIP][330] ([i915#5289])
[330]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_rotation_crc@primary-4-tiled-reflect-x-180.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-180:
- shard-dg2: NOTRUN -> [SKIP][331] ([i915#5190])
[331]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-11/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html
* igt@kms_rotation_crc@sprite-rotation-90:
- shard-dg2: NOTRUN -> [SKIP][332] ([i915#12755])
[332]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-8/igt@kms_rotation_crc@sprite-rotation-90.html
- shard-mtlp: NOTRUN -> [SKIP][333] ([i915#12755])
[333]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-5/igt@kms_rotation_crc@sprite-rotation-90.html
* igt@kms_scaling_modes@scaling-mode-none:
- shard-dg1: NOTRUN -> [SKIP][334] ([i915#3555])
[334]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-16/igt@kms_scaling_modes@scaling-mode-none.html
* igt@kms_setmode@basic-clone-single-crtc:
- shard-dg2: NOTRUN -> [SKIP][335] ([i915#3555]) +1 other test skip
[335]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-5/igt@kms_setmode@basic-clone-single-crtc.html
* igt@kms_setmode@invalid-clone-exclusive-crtc:
- shard-mtlp: NOTRUN -> [SKIP][336] ([i915#3555] / [i915#8809] / [i915#8823])
[336]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-2/igt@kms_setmode@invalid-clone-exclusive-crtc.html
* igt@kms_sharpness_filter@filter-basic:
- shard-rkl: NOTRUN -> [SKIP][337] ([i915#15232]) +1 other test skip
[337]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_sharpness_filter@filter-basic.html
* igt@kms_sharpness_filter@filter-formats:
- shard-dg2: NOTRUN -> [SKIP][338] ([i915#15232]) +1 other test skip
[338]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-7/igt@kms_sharpness_filter@filter-formats.html
* igt@kms_sharpness_filter@filter-scaler-downscale:
- shard-tglu: NOTRUN -> [SKIP][339] ([i915#15232])
[339]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-7/igt@kms_sharpness_filter@filter-scaler-downscale.html
* igt@kms_sharpness_filter@filter-suspend:
- shard-dg1: NOTRUN -> [SKIP][340] ([i915#15232])
[340]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-17/igt@kms_sharpness_filter@filter-suspend.html
* igt@kms_sharpness_filter@invalid-filter-with-scaling-mode:
- shard-tglu-1: NOTRUN -> [SKIP][341] ([i915#15232]) +1 other test skip
[341]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_sharpness_filter@invalid-filter-with-scaling-mode.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-glk: NOTRUN -> [FAIL][342] ([i915#10959])
[342]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-glk1/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_vblank@query-forked-hang@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [DMESG-WARN][343] ([i915#12917] / [i915#12964])
[343]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_vblank@query-forked-hang@pipe-a-hdmi-a-2.html
* igt@kms_vblank@ts-continuation-suspend:
- shard-glk: NOTRUN -> [INCOMPLETE][344] ([i915#12276]) +1 other test incomplete
[344]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-glk1/igt@kms_vblank@ts-continuation-suspend.html
* igt@kms_vrr@flip-dpms:
- shard-rkl: NOTRUN -> [SKIP][345] ([i915#15243] / [i915#3555])
[345]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_vrr@flip-dpms.html
* igt@kms_vrr@flip-suspend:
- shard-tglu: NOTRUN -> [SKIP][346] ([i915#3555]) +2 other tests skip
[346]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-5/igt@kms_vrr@flip-suspend.html
- shard-dg2: NOTRUN -> [SKIP][347] ([i915#15243] / [i915#3555])
[347]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-8/igt@kms_vrr@flip-suspend.html
* igt@kms_vrr@negative-basic:
- shard-rkl: NOTRUN -> [SKIP][348] ([i915#3555] / [i915#9906])
[348]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@kms_vrr@negative-basic.html
* igt@kms_vrr@seamless-rr-switch-drrs:
- shard-dg2: NOTRUN -> [SKIP][349] ([i915#9906])
[349]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-11/igt@kms_vrr@seamless-rr-switch-drrs.html
* igt@kms_writeback@writeback-check-output:
- shard-rkl: NOTRUN -> [SKIP][350] ([i915#2437])
[350]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_writeback@writeback-check-output.html
* igt@kms_writeback@writeback-fb-id:
- shard-tglu-1: NOTRUN -> [SKIP][351] ([i915#2437])
[351]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@kms_writeback@writeback-fb-id.html
- shard-mtlp: NOTRUN -> [SKIP][352] ([i915#2437])
[352]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-2/igt@kms_writeback@writeback-fb-id.html
* igt@kms_writeback@writeback-fb-id-xrgb2101010:
- shard-tglu: NOTRUN -> [SKIP][353] ([i915#2437] / [i915#9412])
[353]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-9/igt@kms_writeback@writeback-fb-id-xrgb2101010.html
* igt@kms_writeback@writeback-invalid-parameters:
- shard-dg1: NOTRUN -> [SKIP][354] ([i915#2437])
[354]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-16/igt@kms_writeback@writeback-invalid-parameters.html
* igt@kms_writeback@writeback-pixel-formats:
- shard-glk: NOTRUN -> [SKIP][355] ([i915#2437])
[355]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-glk1/igt@kms_writeback@writeback-pixel-formats.html
* igt@perf@gen12-group-concurrent-oa-buffer-read:
- shard-rkl: [PASS][356] -> [DMESG-WARN][357] ([i915#12964]) +52 other tests dmesg-warn
[356]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@perf@gen12-group-concurrent-oa-buffer-read.html
[357]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@perf@gen12-group-concurrent-oa-buffer-read.html
* igt@perf@polling-small-buf:
- shard-rkl: [PASS][358] -> [FAIL][359] ([i915#14550])
[358]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@perf@polling-small-buf.html
[359]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@perf@polling-small-buf.html
* igt@perf_pmu@module-unload:
- shard-tglu: NOTRUN -> [FAIL][360] ([i915#14433])
[360]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-3/igt@perf_pmu@module-unload.html
* igt@perf_pmu@rc6-all-gts:
- shard-dg1: NOTRUN -> [SKIP][361] ([i915#8516]) +1 other test skip
[361]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-12/igt@perf_pmu@rc6-all-gts.html
* igt@perf_pmu@rc6@other-idle-gt0:
- shard-dg2: NOTRUN -> [SKIP][362] ([i915#8516])
[362]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-8/igt@perf_pmu@rc6@other-idle-gt0.html
- shard-rkl: NOTRUN -> [SKIP][363] ([i915#8516])
[363]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@perf_pmu@rc6@other-idle-gt0.html
- shard-tglu: NOTRUN -> [SKIP][364] ([i915#8516])
[364]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-8/igt@perf_pmu@rc6@other-idle-gt0.html
* igt@sriov_basic@bind-unbind-vf:
- shard-dg2: NOTRUN -> [SKIP][365] ([i915#9917]) +2 other tests skip
[365]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-7/igt@sriov_basic@bind-unbind-vf.html
* igt@sriov_basic@bind-unbind-vf@vf-4:
- shard-tglu: NOTRUN -> [FAIL][366] ([i915#12910]) +9 other tests fail
[366]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-2/igt@sriov_basic@bind-unbind-vf@vf-4.html
* igt@sriov_basic@enable-vfs-autoprobe-on:
- shard-mtlp: NOTRUN -> [FAIL][367] ([i915#12910]) +10 other tests fail
[367]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-3/igt@sriov_basic@enable-vfs-autoprobe-on.html
* igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
- shard-rkl: NOTRUN -> [SKIP][368] ([i915#9917])
[368]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
- shard-tglu-1: NOTRUN -> [FAIL][369] ([i915#12910])
[369]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-1/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
- shard-dg1: NOTRUN -> [SKIP][370] ([i915#9917])
[370]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-13/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
* igt@tools_test@sysfs_l3_parity:
- shard-dg2: NOTRUN -> [SKIP][371] ([i915#4818])
[371]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-4/igt@tools_test@sysfs_l3_parity.html
- shard-dg1: NOTRUN -> [SKIP][372] ([i915#4818])
[372]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-19/igt@tools_test@sysfs_l3_parity.html
- shard-mtlp: NOTRUN -> [SKIP][373] ([i915#4818])
[373]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-7/igt@tools_test@sysfs_l3_parity.html
* igt@vgem_basic@unload:
- shard-rkl: NOTRUN -> [DMESG-WARN][374] ([i915#12964]) +9 other tests dmesg-warn
[374]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@vgem_basic@unload.html
#### Possible fixes ####
* igt@gem_mmap_offset@clear-via-pagefault:
- shard-mtlp: [ABORT][375] ([i915#14809]) -> [PASS][376] +1 other test pass
[375]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-mtlp-3/igt@gem_mmap_offset@clear-via-pagefault.html
[376]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-7/igt@gem_mmap_offset@clear-via-pagefault.html
* igt@gem_pxp@fail-invalid-protected-context:
- shard-rkl: [TIMEOUT][377] ([i915#12964]) -> [PASS][378]
[377]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@gem_pxp@fail-invalid-protected-context.html
[378]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@gem_pxp@fail-invalid-protected-context.html
* igt@gem_pxp@reject-modify-context-protection-off-1:
- shard-rkl: [TIMEOUT][379] ([i915#12917] / [i915#12964]) -> [PASS][380]
[379]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-5/igt@gem_pxp@reject-modify-context-protection-off-1.html
[380]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@gem_pxp@reject-modify-context-protection-off-1.html
* igt@i915_pm_freq_api@freq-suspend@gt0:
- shard-dg2: [INCOMPLETE][381] ([i915#13356] / [i915#13820]) -> [PASS][382] +1 other test pass
[381]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-7/igt@i915_pm_freq_api@freq-suspend@gt0.html
[382]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-5/igt@i915_pm_freq_api@freq-suspend@gt0.html
* igt@kms_async_flips@async-flip-suspend-resume:
- shard-dg2: [FAIL][383] ([i915#15285]) -> [PASS][384]
[383]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-11/igt@kms_async_flips@async-flip-suspend-resume.html
[384]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-7/igt@kms_async_flips@async-flip-suspend-resume.html
- shard-rkl: [INCOMPLETE][385] ([i915#12761]) -> [PASS][386] +1 other test pass
[385]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-3/igt@kms_async_flips@async-flip-suspend-resume.html
[386]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_async_flips@async-flip-suspend-resume.html
* igt@kms_busy@basic:
- shard-rkl: [SKIP][387] ([i915#11190] / [i915#14544]) -> [PASS][388] +2 other tests pass
[387]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_busy@basic.html
[388]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_busy@basic.html
* igt@kms_color@gamma:
- shard-rkl: [SKIP][389] ([i915#12655] / [i915#14544]) -> [PASS][390] +1 other test pass
[389]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_color@gamma.html
[390]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_color@gamma.html
* igt@kms_cursor_crc@cursor-onscreen-256x256:
- shard-rkl: [SKIP][391] ([i915#14544]) -> [PASS][392] +42 other tests pass
[391]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_cursor_crc@cursor-onscreen-256x256.html
[392]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-3/igt@kms_cursor_crc@cursor-onscreen-256x256.html
* igt@kms_cursor_crc@cursor-rapid-movement-64x64:
- shard-dg1: [DMESG-WARN][393] ([i915#4423]) -> [PASS][394] +1 other test pass
[393]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg1-19/igt@kms_cursor_crc@cursor-rapid-movement-64x64.html
[394]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-19/igt@kms_cursor_crc@cursor-rapid-movement-64x64.html
* igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-1:
- shard-tglu: [FAIL][395] ([i915#13566]) -> [PASS][396] +3 other tests pass
[395]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-tglu-2/igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-1.html
[396]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-8/igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-1.html
* igt@kms_feature_discovery@display-1x:
- shard-rkl: [SKIP][397] ([i915#14544] / [i915#9738]) -> [PASS][398]
[397]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_feature_discovery@display-1x.html
[398]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_feature_discovery@display-1x.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible:
- shard-snb: [TIMEOUT][399] ([i915#14033] / [i915#14350]) -> [PASS][400]
[399]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-snb6/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
[400]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-snb1/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
* igt@kms_flip@2x-flip-vs-suspend@ab-vga1-hdmi-a1:
- shard-snb: [TIMEOUT][401] ([i915#14033]) -> [PASS][402] +2 other tests pass
[401]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-snb4/igt@kms_flip@2x-flip-vs-suspend@ab-vga1-hdmi-a1.html
[402]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-snb7/igt@kms_flip@2x-flip-vs-suspend@ab-vga1-hdmi-a1.html
* igt@kms_flip@dpms-off-confusion-interruptible:
- shard-rkl: [SKIP][403] ([i915#14544] / [i915#3637]) -> [PASS][404] +3 other tests pass
[403]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_flip@dpms-off-confusion-interruptible.html
[404]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_flip@dpms-off-confusion-interruptible.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling:
- shard-rkl: [SKIP][405] ([i915#14544] / [i915#3555]) -> [PASS][406] +1 other test pass
[405]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling.html
[406]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt:
- shard-dg2: [FAIL][407] ([i915#6880]) -> [PASS][408]
[407]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt.html
[408]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt:
- shard-rkl: [SKIP][409] ([i915#14544] / [i915#1849] / [i915#5354]) -> [PASS][410] +7 other tests pass
[409]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
[410]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
* igt@kms_invalid_mode@bad-vsync-end:
- shard-rkl: [SKIP][411] ([i915#14544] / [i915#3555] / [i915#8826]) -> [PASS][412] +1 other test pass
[411]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_invalid_mode@bad-vsync-end.html
[412]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-3/igt@kms_invalid_mode@bad-vsync-end.html
* igt@kms_plane@plane-panning-top-left:
- shard-rkl: [SKIP][413] ([i915#14544] / [i915#8825]) -> [PASS][414] +1 other test pass
[413]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_plane@plane-panning-top-left.html
[414]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_plane@plane-panning-top-left.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats:
- shard-rkl: [SKIP][415] ([i915#14544] / [i915#3555] / [i915#8152]) -> [PASS][416]
[415]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats.html
[416]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-a:
- shard-rkl: [SKIP][417] ([i915#12247] / [i915#14544]) -> [PASS][418] +3 other tests pass
[417]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-a.html
[418]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-a.html
* igt@kms_plane_scaling@plane-upscale-20x20-with-modifiers:
- shard-rkl: [SKIP][419] ([i915#14544] / [i915#8152]) -> [PASS][420] +1 other test pass
[419]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_plane_scaling@plane-upscale-20x20-with-modifiers.html
[420]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_plane_scaling@plane-upscale-20x20-with-modifiers.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5:
- shard-rkl: [SKIP][421] ([i915#14544] / [i915#6953] / [i915#8152]) -> [PASS][422]
[421]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5.html
[422]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-b:
- shard-rkl: [SKIP][423] ([i915#12247] / [i915#14544] / [i915#8152]) -> [PASS][424] +3 other tests pass
[423]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-b.html
[424]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-b.html
* igt@kms_pm_rpm@cursor-dpms:
- shard-rkl: [SKIP][425] ([i915#14544] / [i915#1849]) -> [PASS][426]
[425]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_pm_rpm@cursor-dpms.html
[426]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-4/igt@kms_pm_rpm@cursor-dpms.html
* igt@kms_pm_rpm@dpms-lpsp:
- shard-rkl: [SKIP][427] ([i915#15073]) -> [PASS][428] +1 other test pass
[427]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-5/igt@kms_pm_rpm@dpms-lpsp.html
[428]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_pm_rpm@dpms-lpsp.html
* igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
- shard-rkl: [SKIP][429] ([i915#14544] / [i915#15073]) -> [PASS][430]
[429]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
[430]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
* igt@kms_pm_rpm@modeset-non-lpsp:
- shard-dg2: [SKIP][431] ([i915#15073]) -> [PASS][432]
[431]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-4/igt@kms_pm_rpm@modeset-non-lpsp.html
[432]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-8/igt@kms_pm_rpm@modeset-non-lpsp.html
* igt@kms_vblank@ts-continuation-dpms-suspend:
- shard-rkl: [ABORT][433] ([i915#15132]) -> [PASS][434] +2 other tests pass
[433]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-4/igt@kms_vblank@ts-continuation-dpms-suspend.html
[434]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@kms_vblank@ts-continuation-dpms-suspend.html
* igt@kms_vrr@negative-basic:
- shard-mtlp: [FAIL][435] ([i915#10393]) -> [PASS][436] +1 other test pass
[435]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-mtlp-7/igt@kms_vrr@negative-basic.html
[436]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-2/igt@kms_vrr@negative-basic.html
* igt@perf@non-zero-reason@0-rcs0:
- shard-tglu: [FAIL][437] ([i915#9100]) -> [PASS][438] +1 other test pass
[437]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-tglu-9/igt@perf@non-zero-reason@0-rcs0.html
[438]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-tglu-8/igt@perf@non-zero-reason@0-rcs0.html
* igt@perf@polling@0-rcs0:
- shard-rkl: [DMESG-WARN][439] ([i915#12964]) -> [PASS][440] +31 other tests pass
[439]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-5/igt@perf@polling@0-rcs0.html
[440]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@perf@polling@0-rcs0.html
* igt@perf_pmu@all-busy-idle-check-all:
- shard-dg2: [FAIL][441] ([i915#11943]) -> [PASS][442]
[441]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-7/igt@perf_pmu@all-busy-idle-check-all.html
[442]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-4/igt@perf_pmu@all-busy-idle-check-all.html
- shard-mtlp: [FAIL][443] ([i915#11943]) -> [PASS][444] +2 other tests pass
[443]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-mtlp-2/igt@perf_pmu@all-busy-idle-check-all.html
[444]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-mtlp-6/igt@perf_pmu@all-busy-idle-check-all.html
* igt@perf_pmu@interrupts-sync:
- shard-rkl: [FAIL][445] ([i915#14470]) -> [PASS][446]
[445]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@perf_pmu@interrupts-sync.html
[446]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@perf_pmu@interrupts-sync.html
#### Warnings ####
* igt@api_intel_bb@blit-reloc-purge-cache:
- shard-rkl: [SKIP][447] ([i915#14544] / [i915#8411]) -> [SKIP][448] ([i915#8411]) +1 other test skip
[447]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@api_intel_bb@blit-reloc-purge-cache.html
[448]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@api_intel_bb@blit-reloc-purge-cache.html
* igt@gem_bad_reloc@negative-reloc-lut:
- shard-rkl: [SKIP][449] ([i915#3281]) -> [SKIP][450] ([i915#14544] / [i915#3281]) +2 other tests skip
[449]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-5/igt@gem_bad_reloc@negative-reloc-lut.html
[450]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@gem_bad_reloc@negative-reloc-lut.html
* igt@gem_basic@multigpu-create-close:
- shard-rkl: [SKIP][451] ([i915#14544] / [i915#7697]) -> [SKIP][452] ([i915#7697])
[451]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@gem_basic@multigpu-create-close.html
[452]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@gem_basic@multigpu-create-close.html
* igt@gem_ccs@block-multicopy-inplace:
- shard-rkl: [SKIP][453] ([i915#3555] / [i915#9323]) -> [SKIP][454] ([i915#14544] / [i915#3555] / [i915#9323])
[453]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-8/igt@gem_ccs@block-multicopy-inplace.html
[454]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@gem_ccs@block-multicopy-inplace.html
* igt@gem_ccs@ctrl-surf-copy:
- shard-rkl: [SKIP][455] ([i915#14544] / [i915#3555] / [i915#9323]) -> [SKIP][456] ([i915#3555] / [i915#9323])
[455]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@gem_ccs@ctrl-surf-copy.html
[456]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@gem_ccs@ctrl-surf-copy.html
* igt@gem_ccs@ctrl-surf-copy-new-ctx:
- shard-rkl: [SKIP][457] ([i915#9323]) -> [SKIP][458] ([i915#14544] / [i915#9323]) +1 other test skip
[457]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@gem_ccs@ctrl-surf-copy-new-ctx.html
[458]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@gem_ccs@ctrl-surf-copy-new-ctx.html
* igt@gem_create@create-ext-set-pat:
- shard-rkl: [SKIP][459] ([i915#14544] / [i915#8562]) -> [SKIP][460] ([i915#8562])
[459]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@gem_create@create-ext-set-pat.html
[460]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@gem_create@create-ext-set-pat.html
* igt@gem_exec_balancer@parallel-bb-first:
- shard-rkl: [SKIP][461] ([i915#14544] / [i915#4525]) -> [SKIP][462] ([i915#4525]) +1 other test skip
[461]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@gem_exec_balancer@parallel-bb-first.html
[462]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@gem_exec_balancer@parallel-bb-first.html
* igt@gem_exec_balancer@parallel-contexts:
- shard-rkl: [SKIP][463] ([i915#4525]) -> [SKIP][464] ([i915#14544] / [i915#4525]) +1 other test skip
[463]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@gem_exec_balancer@parallel-contexts.html
[464]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@gem_exec_balancer@parallel-contexts.html
* igt@gem_exec_reloc@basic-cpu-gtt-noreloc:
- shard-rkl: [SKIP][465] ([i915#14544] / [i915#3281]) -> [SKIP][466] ([i915#3281]) +4 other tests skip
[465]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html
[466]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-3/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html
* igt@gem_lmem_evict@dontneed-evict-race:
- shard-rkl: [SKIP][467] ([i915#14544] / [i915#4613] / [i915#7582]) -> [SKIP][468] ([i915#4613] / [i915#7582])
[467]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@gem_lmem_evict@dontneed-evict-race.html
[468]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@gem_lmem_evict@dontneed-evict-race.html
* igt@gem_lmem_swapping@heavy-verify-random:
- shard-rkl: [SKIP][469] ([i915#14544] / [i915#4613]) -> [SKIP][470] ([i915#4613])
[469]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@gem_lmem_swapping@heavy-verify-random.html
[470]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@gem_lmem_swapping@heavy-verify-random.html
* igt@gem_lmem_swapping@random:
- shard-rkl: [SKIP][471] ([i915#4613]) -> [SKIP][472] ([i915#14544] / [i915#4613]) +1 other test skip
[471]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-8/igt@gem_lmem_swapping@random.html
[472]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@gem_lmem_swapping@random.html
* igt@gem_lmem_swapping@smem-oom@lmem0:
- shard-dg2: [DMESG-WARN][473] ([i915#5493]) -> [TIMEOUT][474] ([i915#5493]) +1 other test timeout
[473]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-8/igt@gem_lmem_swapping@smem-oom@lmem0.html
[474]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-5/igt@gem_lmem_swapping@smem-oom@lmem0.html
* igt@gem_partial_pwrite_pread@reads:
- shard-rkl: [SKIP][475] ([i915#3282]) -> [SKIP][476] ([i915#14544] / [i915#3282]) +3 other tests skip
[475]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-5/igt@gem_partial_pwrite_pread@reads.html
[476]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@gem_partial_pwrite_pread@reads.html
* igt@gem_partial_pwrite_pread@reads-uncached:
- shard-rkl: [SKIP][477] ([i915#14544] / [i915#3282]) -> [SKIP][478] ([i915#3282]) +4 other tests skip
[477]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@gem_partial_pwrite_pread@reads-uncached.html
[478]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@gem_partial_pwrite_pread@reads-uncached.html
* igt@gem_pxp@create-valid-protected-context:
- shard-rkl: [SKIP][479] ([i915#4270]) -> [TIMEOUT][480] ([i915#12964])
[479]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@gem_pxp@create-valid-protected-context.html
[480]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@gem_pxp@create-valid-protected-context.html
* igt@gem_pxp@hw-rejects-pxp-buffer:
- shard-rkl: [TIMEOUT][481] ([i915#12917] / [i915#12964]) -> [SKIP][482] ([i915#13717])
[481]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@gem_pxp@hw-rejects-pxp-buffer.html
[482]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@gem_pxp@hw-rejects-pxp-buffer.html
* igt@gem_pxp@reject-modify-context-protection-off-3:
- shard-rkl: [TIMEOUT][483] ([i915#12917] / [i915#12964]) -> [SKIP][484] ([i915#14544] / [i915#4270])
[483]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@gem_pxp@reject-modify-context-protection-off-3.html
[484]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@gem_pxp@reject-modify-context-protection-off-3.html
* igt@gem_pxp@verify-pxp-execution-after-suspend-resume:
- shard-rkl: [SKIP][485] ([i915#14544] / [i915#4270]) -> [TIMEOUT][486] ([i915#12917] / [i915#12964]) +1 other test timeout
[485]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@gem_pxp@verify-pxp-execution-after-suspend-resume.html
[486]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-3/igt@gem_pxp@verify-pxp-execution-after-suspend-resume.html
* igt@gem_softpin@noreloc-s3:
- shard-rkl: [DMESG-WARN][487] ([i915#12964]) -> [ABORT][488] ([i915#15131])
[487]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@gem_softpin@noreloc-s3.html
[488]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-4/igt@gem_softpin@noreloc-s3.html
* igt@gem_userptr_blits@dmabuf-unsync:
- shard-rkl: [SKIP][489] ([i915#14544] / [i915#3297]) -> [SKIP][490] ([i915#3297])
[489]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@gem_userptr_blits@dmabuf-unsync.html
[490]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-3/igt@gem_userptr_blits@dmabuf-unsync.html
* igt@gem_userptr_blits@forbidden-operations:
- shard-rkl: [SKIP][491] ([i915#3282] / [i915#3297]) -> [SKIP][492] ([i915#14544] / [i915#3282] / [i915#3297])
[491]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-3/igt@gem_userptr_blits@forbidden-operations.html
[492]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@gem_userptr_blits@forbidden-operations.html
* igt@gen9_exec_parse@batch-zero-length:
- shard-rkl: [SKIP][493] ([i915#14544] / [i915#2527]) -> [SKIP][494] ([i915#2527])
[493]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@gen9_exec_parse@batch-zero-length.html
[494]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-4/igt@gen9_exec_parse@batch-zero-length.html
* igt@gen9_exec_parse@bb-start-param:
- shard-rkl: [SKIP][495] ([i915#2527]) -> [SKIP][496] ([i915#14544] / [i915#2527]) +3 other tests skip
[495]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@gen9_exec_parse@bb-start-param.html
[496]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@gen9_exec_parse@bb-start-param.html
* igt@i915_pm_freq_api@freq-reset:
- shard-rkl: [SKIP][497] ([i915#8399]) -> [SKIP][498] ([i915#14544] / [i915#8399])
[497]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@i915_pm_freq_api@freq-reset.html
[498]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@i915_pm_freq_api@freq-reset.html
* igt@i915_pm_sseu@full-enable:
- shard-rkl: [SKIP][499] ([i915#14544] / [i915#4387]) -> [SKIP][500] ([i915#4387])
[499]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@i915_pm_sseu@full-enable.html
[500]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@i915_pm_sseu@full-enable.html
* igt@i915_query@test-query-geometry-subslices:
- shard-rkl: [SKIP][501] ([i915#5723]) -> [SKIP][502] ([i915#14544] / [i915#5723])
[501]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-8/igt@i915_query@test-query-geometry-subslices.html
[502]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@i915_query@test-query-geometry-subslices.html
* igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
- shard-rkl: [SKIP][503] ([i915#12454] / [i915#12712] / [i915#14544]) -> [SKIP][504] ([i915#12454] / [i915#12712])
[503]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
[504]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
* igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels:
- shard-rkl: [SKIP][505] ([i915#1769] / [i915#3555]) -> [SKIP][506] ([i915#14544])
[505]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html
[506]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html
* igt@kms_big_fb@4-tiled-addfb:
- shard-rkl: [SKIP][507] ([i915#14544]) -> [SKIP][508] ([i915#5286]) +5 other tests skip
[507]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_big_fb@4-tiled-addfb.html
[508]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@kms_big_fb@4-tiled-addfb.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-rkl: [SKIP][509] ([i915#5286]) -> [SKIP][510] ([i915#14544]) +6 other tests skip
[509]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
[510]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_big_fb@linear-64bpp-rotate-270:
- shard-rkl: [SKIP][511] ([i915#14544]) -> [SKIP][512] ([i915#3638])
[511]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_big_fb@linear-64bpp-rotate-270.html
[512]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_big_fb@linear-64bpp-rotate-270.html
- shard-dg1: [SKIP][513] ([i915#3638]) -> [SKIP][514] ([i915#3638] / [i915#4423])
[513]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg1-14/igt@kms_big_fb@linear-64bpp-rotate-270.html
[514]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-16/igt@kms_big_fb@linear-64bpp-rotate-270.html
* igt@kms_big_fb@linear-64bpp-rotate-90:
- shard-rkl: [SKIP][515] ([i915#3638]) -> [SKIP][516] ([i915#14544]) +3 other tests skip
[515]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@kms_big_fb@linear-64bpp-rotate-90.html
[516]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_big_fb@linear-64bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-16bpp-rotate-270:
- shard-dg1: [SKIP][517] ([i915#4538]) -> [SKIP][518] ([i915#4423] / [i915#4538])
[517]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg1-16/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html
[518]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-16/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html
* igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs:
- shard-rkl: [SKIP][519] ([i915#14544]) -> [SKIP][520] ([i915#14098] / [i915#6095]) +11 other tests skip
[519]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs.html
[520]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-mc-ccs.html
* igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs:
- shard-rkl: [SKIP][521] ([i915#12313]) -> [SKIP][522] ([i915#14544]) +1 other test skip
[521]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html
[522]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-basic-y-tiled-ccs@pipe-b-hdmi-a-2:
- shard-rkl: [SKIP][523] ([i915#14098] / [i915#6095]) -> [SKIP][524] ([i915#6095]) +2 other tests skip
[523]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-5/igt@kms_ccs@crc-primary-basic-y-tiled-ccs@pipe-b-hdmi-a-2.html
[524]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_ccs@crc-primary-basic-y-tiled-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@crc-primary-rotation-180-y-tiled-ccs@pipe-b-hdmi-a-2:
- shard-rkl: [SKIP][525] ([i915#6095]) -> [SKIP][526] ([i915#14098] / [i915#6095]) +2 other tests skip
[525]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-8/igt@kms_ccs@crc-primary-rotation-180-y-tiled-ccs@pipe-b-hdmi-a-2.html
[526]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_ccs@crc-primary-rotation-180-y-tiled-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
- shard-rkl: [SKIP][527] ([i915#14544]) -> [SKIP][528] ([i915#12805])
[527]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
[528]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs:
- shard-rkl: [SKIP][529] ([i915#12805]) -> [SKIP][530] ([i915#14544])
[529]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html
[530]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs:
- shard-rkl: [SKIP][531] ([i915#14544]) -> [SKIP][532] ([i915#12313]) +1 other test skip
[531]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
[532]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-4/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs:
- shard-rkl: [SKIP][533] ([i915#14098] / [i915#6095]) -> [SKIP][534] ([i915#14544]) +10 other tests skip
[533]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-3/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs.html
[534]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs.html
* igt@kms_chamelium_frames@dp-frame-dump:
- shard-rkl: [SKIP][535] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][536] ([i915#11151] / [i915#7828]) +2 other tests skip
[535]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_chamelium_frames@dp-frame-dump.html
[536]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_chamelium_frames@dp-frame-dump.html
* igt@kms_chamelium_hpd@vga-hpd-for-each-pipe:
- shard-rkl: [SKIP][537] ([i915#11151] / [i915#7828]) -> [SKIP][538] ([i915#11151] / [i915#14544] / [i915#7828]) +3 other tests skip
[537]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-5/igt@kms_chamelium_hpd@vga-hpd-for-each-pipe.html
[538]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_chamelium_hpd@vga-hpd-for-each-pipe.html
* igt@kms_content_protection@atomic:
- shard-dg2: [FAIL][539] ([i915#7173]) -> [SKIP][540] ([i915#7118] / [i915#9424])
[539]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-11/igt@kms_content_protection@atomic.html
[540]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-8/igt@kms_content_protection@atomic.html
* igt@kms_content_protection@legacy:
- shard-rkl: [SKIP][541] ([i915#14544]) -> [SKIP][542] ([i915#7118] / [i915#9424])
[541]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_content_protection@legacy.html
[542]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_content_protection@legacy.html
* igt@kms_content_protection@srm:
- shard-rkl: [SKIP][543] ([i915#14544]) -> [SKIP][544] ([i915#7118])
[543]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_content_protection@srm.html
[544]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_content_protection@srm.html
* igt@kms_cursor_crc@cursor-offscreen-128x128:
- shard-rkl: [DMESG-WARN][545] ([i915#12964]) -> [SKIP][546] ([i915#14544])
[545]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-5/igt@kms_cursor_crc@cursor-offscreen-128x128.html
[546]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_cursor_crc@cursor-offscreen-128x128.html
* igt@kms_cursor_crc@cursor-random-256x85:
- shard-rkl: [FAIL][547] ([i915#13566]) -> [SKIP][548] ([i915#14544])
[547]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@kms_cursor_crc@cursor-random-256x85.html
[548]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_cursor_crc@cursor-random-256x85.html
* igt@kms_cursor_crc@cursor-random-512x512:
- shard-rkl: [SKIP][549] ([i915#13049]) -> [SKIP][550] ([i915#14544])
[549]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-3/igt@kms_cursor_crc@cursor-random-512x512.html
[550]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_cursor_crc@cursor-random-512x512.html
* igt@kms_cursor_crc@cursor-rapid-movement-512x170:
- shard-rkl: [SKIP][551] ([i915#14544]) -> [SKIP][552] ([i915#13049]) +3 other tests skip
[551]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html
[552]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-3/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html
* igt@kms_cursor_crc@cursor-sliding-32x10:
- shard-rkl: [SKIP][553] ([i915#3555]) -> [SKIP][554] ([i915#14544]) +2 other tests skip
[553]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-8/igt@kms_cursor_crc@cursor-sliding-32x10.html
[554]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_cursor_crc@cursor-sliding-32x10.html
* igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
- shard-rkl: [SKIP][555] ([i915#14544]) -> [SKIP][556] +11 other tests skip
[555]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
[556]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
- shard-rkl: [SKIP][557] ([i915#4103]) -> [SKIP][558] ([i915#14544]) +1 other test skip
[557]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
[558]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
* igt@kms_cursor_legacy@cursora-vs-flipb-varying-size:
- shard-rkl: [SKIP][559] -> [SKIP][560] ([i915#14544]) +10 other tests skip
[559]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-5/igt@kms_cursor_legacy@cursora-vs-flipb-varying-size.html
[560]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_cursor_legacy@cursora-vs-flipb-varying-size.html
* igt@kms_dsc@dsc-fractional-bpp:
- shard-rkl: [SKIP][561] ([i915#14544]) -> [SKIP][562] ([i915#3840])
[561]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_dsc@dsc-fractional-bpp.html
[562]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_dsc@dsc-fractional-bpp.html
* igt@kms_dsc@dsc-with-bpc-formats:
- shard-rkl: [SKIP][563] ([i915#3555] / [i915#3840]) -> [SKIP][564] ([i915#14544]) +1 other test skip
[563]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-3/igt@kms_dsc@dsc-with-bpc-formats.html
[564]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_dsc@dsc-with-bpc-formats.html
* igt@kms_dsc@dsc-with-output-formats:
- shard-rkl: [SKIP][565] ([i915#14544]) -> [SKIP][566] ([i915#3555] / [i915#3840])
[565]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_dsc@dsc-with-output-formats.html
[566]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-3/igt@kms_dsc@dsc-with-output-formats.html
* igt@kms_fbcon_fbt@psr-suspend:
- shard-rkl: [SKIP][567] ([i915#14544] / [i915#3955]) -> [SKIP][568] ([i915#3955])
[567]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_fbcon_fbt@psr-suspend.html
[568]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_fbcon_fbt@psr-suspend.html
* igt@kms_feature_discovery@display-3x:
- shard-rkl: [SKIP][569] ([i915#1839]) -> [SKIP][570] ([i915#14544] / [i915#1839])
[569]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@kms_feature_discovery@display-3x.html
[570]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_feature_discovery@display-3x.html
* igt@kms_feature_discovery@display-4x:
- shard-dg1: [SKIP][571] ([i915#1839]) -> [SKIP][572] ([i915#1839] / [i915#4423])
[571]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg1-15/igt@kms_feature_discovery@display-4x.html
[572]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-16/igt@kms_feature_discovery@display-4x.html
* igt@kms_feature_discovery@dp-mst:
- shard-rkl: [SKIP][573] ([i915#14544] / [i915#9337]) -> [SKIP][574] ([i915#9337])
[573]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_feature_discovery@dp-mst.html
[574]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_feature_discovery@dp-mst.html
* igt@kms_flip@2x-flip-vs-panning:
- shard-rkl: [SKIP][575] ([i915#9934]) -> [SKIP][576] ([i915#14544] / [i915#9934]) +8 other tests skip
[575]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@kms_flip@2x-flip-vs-panning.html
[576]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_flip@2x-flip-vs-panning.html
* igt@kms_flip@2x-flip-vs-panning-vs-hang:
- shard-rkl: [SKIP][577] ([i915#14544] / [i915#9934]) -> [SKIP][578] ([i915#9934]) +4 other tests skip
[577]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_flip@2x-flip-vs-panning-vs-hang.html
[578]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_flip@2x-flip-vs-panning-vs-hang.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling:
- shard-rkl: [SKIP][579] ([i915#14544] / [i915#3555]) -> [SKIP][580] ([i915#2672] / [i915#3555]) +1 other test skip
[579]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html
[580]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling:
- shard-rkl: [SKIP][581] ([i915#2672] / [i915#3555]) -> [SKIP][582] ([i915#14544] / [i915#3555]) +1 other test skip
[581]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-5/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling.html
[582]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move:
- shard-rkl: [DMESG-WARN][583] ([i915#12964]) -> [SKIP][584] ([i915#14544] / [i915#1849] / [i915#5354])
[583]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move.html
[584]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt:
- shard-rkl: [SKIP][585] ([i915#14544] / [i915#1849] / [i915#5354]) -> [SKIP][586] ([i915#1825]) +24 other tests skip
[585]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt.html
[586]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-gtt:
- shard-dg1: [SKIP][587] ([i915#4423] / [i915#8708]) -> [SKIP][588] ([i915#8708])
[587]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg1-12/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-gtt.html
[588]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-12/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-pwrite:
- shard-dg1: [SKIP][589] ([i915#4423]) -> [SKIP][590]
[589]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg1-14/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-pwrite.html
[590]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-15/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render:
- shard-rkl: [SKIP][591] ([i915#1825]) -> [SKIP][592] ([i915#14544] / [i915#1849] / [i915#5354]) +20 other tests skip
[591]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render.html
[592]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-blt:
- shard-rkl: [SKIP][593] ([i915#15102]) -> [SKIP][594] ([i915#14544]) +1 other test skip
[593]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-blt.html
[594]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-render:
- shard-dg1: [SKIP][595] ([i915#15102]) -> [SKIP][596] ([i915#15102] / [i915#4423])
[595]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg1-16/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-render.html
[596]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-16/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt:
- shard-dg2: [SKIP][597] ([i915#10433] / [i915#15102] / [i915#3458]) -> [SKIP][598] ([i915#15102] / [i915#3458]) +3 other tests skip
[597]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt.html
[598]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite:
- shard-dg2: [SKIP][599] ([i915#15102] / [i915#3458]) -> [SKIP][600] ([i915#10433] / [i915#15102] / [i915#3458])
[599]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg2-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite.html
[600]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-mmap-cpu:
- shard-dg1: [SKIP][601] -> [SKIP][602] ([i915#4423])
[601]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg1-15/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-mmap-cpu.html
[602]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-16/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbcpsr-tiling-4:
- shard-rkl: [SKIP][603] ([i915#5439]) -> [SKIP][604] ([i915#14544] / [i915#1849] / [i915#5354])
[603]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html
[604]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html
* igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-wc:
- shard-rkl: [SKIP][605] ([i915#14544]) -> [SKIP][606] ([i915#15102]) +2 other tests skip
[605]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-wc.html
[606]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt:
- shard-rkl: [SKIP][607] ([i915#14544] / [i915#1849] / [i915#5354]) -> [SKIP][608] ([i915#15102] / [i915#3023]) +11 other tests skip
[607]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt.html
[608]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt:
- shard-rkl: [SKIP][609] ([i915#15102] / [i915#3023]) -> [SKIP][610] ([i915#14544] / [i915#1849] / [i915#5354]) +15 other tests skip
[609]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt.html
[610]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt.html
* igt@kms_hdr@brightness-with-hdr:
- shard-rkl: [SKIP][611] ([i915#14544]) -> [SKIP][612] ([i915#12713])
[611]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_hdr@brightness-with-hdr.html
[612]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_hdr@brightness-with-hdr.html
* igt@kms_hdr@static-toggle-suspend:
- shard-rkl: [SKIP][613] ([i915#14544]) -> [SKIP][614] ([i915#3555] / [i915#8228]) +1 other test skip
[613]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_hdr@static-toggle-suspend.html
[614]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@kms_hdr@static-toggle-suspend.html
* igt@kms_joiner@basic-force-big-joiner:
- shard-rkl: [SKIP][615] ([i915#12388]) -> [SKIP][616] ([i915#12388] / [i915#14544])
[615]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-3/igt@kms_joiner@basic-force-big-joiner.html
[616]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_joiner@basic-force-big-joiner.html
* igt@kms_joiner@invalid-modeset-force-big-joiner:
- shard-rkl: [SKIP][617] ([i915#10656] / [i915#12388] / [i915#14544]) -> [SKIP][618] ([i915#10656] / [i915#12388])
[617]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_joiner@invalid-modeset-force-big-joiner.html
[618]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_joiner@invalid-modeset-force-big-joiner.html
* igt@kms_joiner@invalid-modeset-force-ultra-joiner:
- shard-rkl: [SKIP][619] ([i915#12394]) -> [SKIP][620] ([i915#12394] / [i915#14544])
[619]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
[620]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
* igt@kms_joiner@invalid-modeset-ultra-joiner:
- shard-dg1: [SKIP][621] ([i915#12339] / [i915#4423]) -> [SKIP][622] ([i915#12339])
[621]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg1-19/igt@kms_joiner@invalid-modeset-ultra-joiner.html
[622]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-18/igt@kms_joiner@invalid-modeset-ultra-joiner.html
* igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner:
- shard-rkl: [SKIP][623] ([i915#13522]) -> [SKIP][624] ([i915#13522] / [i915#14544])
[623]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html
[624]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html
* igt@kms_plane_multiple@tiling-yf:
- shard-rkl: [SKIP][625] ([i915#14544]) -> [SKIP][626] ([i915#14259])
[625]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_plane_multiple@tiling-yf.html
[626]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@kms_plane_multiple@tiling-yf.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a:
- shard-rkl: [SKIP][627] ([i915#12247] / [i915#14544]) -> [SKIP][628] ([i915#12247])
[627]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a.html
[628]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b:
- shard-rkl: [SKIP][629] ([i915#12247] / [i915#14544] / [i915#8152]) -> [SKIP][630] ([i915#12247]) +1 other test skip
[629]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b.html
[630]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b.html
* igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a:
- shard-rkl: [SKIP][631] ([i915#12247]) -> [SKIP][632] ([i915#12247] / [i915#14544]) +1 other test skip
[631]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a.html
[632]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a.html
* igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-b:
- shard-rkl: [SKIP][633] ([i915#12247]) -> [SKIP][634] ([i915#12247] / [i915#14544] / [i915#8152]) +3 other tests skip
[633]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-b.html
[634]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-b.html
* igt@kms_pm_backlight@fade-with-suspend:
- shard-rkl: [SKIP][635] ([i915#14544] / [i915#5354]) -> [SKIP][636] ([i915#5354])
[635]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_pm_backlight@fade-with-suspend.html
[636]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@kms_pm_backlight@fade-with-suspend.html
* igt@kms_pm_dc@dc3co-vpb-simulation:
- shard-rkl: [SKIP][637] ([i915#9685]) -> [SKIP][638] ([i915#14544] / [i915#9685])
[637]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@kms_pm_dc@dc3co-vpb-simulation.html
[638]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_pm_dc@dc3co-vpb-simulation.html
* igt@kms_pm_dc@dc5-psr:
- shard-rkl: [SKIP][639] ([i915#14544] / [i915#9685]) -> [SKIP][640] ([i915#9685])
[639]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_pm_dc@dc5-psr.html
[640]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_pm_dc@dc5-psr.html
* igt@kms_pm_dc@dc9-dpms:
- shard-rkl: [SKIP][641] ([i915#4281]) -> [SKIP][642] ([i915#3361])
[641]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@kms_pm_dc@dc9-dpms.html
[642]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_pm_dc@dc9-dpms.html
* igt@kms_pm_lpsp@kms-lpsp:
- shard-rkl: [SKIP][643] ([i915#3828]) -> [SKIP][644] ([i915#9340])
[643]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-4/igt@kms_pm_lpsp@kms-lpsp.html
[644]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_pm_lpsp@kms-lpsp.html
* igt@kms_pm_rpm@modeset-lpsp:
- shard-rkl: [SKIP][645] ([i915#15073]) -> [SKIP][646] ([i915#14544] / [i915#15073])
[645]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-8/igt@kms_pm_rpm@modeset-lpsp.html
[646]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_pm_rpm@modeset-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp:
- shard-rkl: [SKIP][647] ([i915#14544] / [i915#15073]) -> [SKIP][648] ([i915#15073])
[647]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_pm_rpm@modeset-non-lpsp.html
[648]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_pm_rpm@modeset-non-lpsp.html
* igt@kms_prime@basic-crc-vgem:
- shard-dg1: [SKIP][649] ([i915#4423] / [i915#6524]) -> [SKIP][650] ([i915#6524])
[649]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg1-14/igt@kms_prime@basic-crc-vgem.html
[650]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-13/igt@kms_prime@basic-crc-vgem.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf:
- shard-rkl: [SKIP][651] ([i915#11520] / [i915#14544]) -> [SKIP][652] ([i915#11520]) +6 other tests skip
[651]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html
[652]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf:
- shard-rkl: [SKIP][653] ([i915#11520]) -> [SKIP][654] ([i915#11520] / [i915#14544]) +5 other tests skip
[653]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-2/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html
[654]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html
* igt@kms_psr2_su@frontbuffer-xrgb8888:
- shard-rkl: [SKIP][655] ([i915#14544] / [i915#9683]) -> [SKIP][656] ([i915#9683])
[655]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_psr2_su@frontbuffer-xrgb8888.html
[656]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_psr2_su@frontbuffer-xrgb8888.html
* igt@kms_psr@pr-basic:
- shard-dg1: [SKIP][657] ([i915#1072] / [i915#9732]) -> [SKIP][658] ([i915#1072] / [i915#4423] / [i915#9732])
[657]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-dg1-14/igt@kms_psr@pr-basic.html
[658]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-dg1-16/igt@kms_psr@pr-basic.html
* igt@kms_psr@psr-cursor-mmap-cpu:
- shard-rkl: [SKIP][659] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][660] ([i915#1072] / [i915#9732]) +12 other tests skip
[659]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_psr@psr-cursor-mmap-cpu.html
[660]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_psr@psr-cursor-mmap-cpu.html
* igt@kms_psr@psr-primary-blt:
- shard-rkl: [SKIP][661] ([i915#1072] / [i915#9732]) -> [SKIP][662] ([i915#1072] / [i915#14544] / [i915#9732]) +12 other tests skip
[661]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-8/igt@kms_psr@psr-primary-blt.html
[662]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_psr@psr-primary-blt.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
- shard-rkl: [SKIP][663] ([i915#5289]) -> [SKIP][664] ([i915#14544])
[663]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-5/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
[664]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
* igt@kms_scaling_modes@scaling-mode-none:
- shard-rkl: [SKIP][665] ([i915#14544]) -> [SKIP][666] ([i915#3555]) +2 other tests skip
[665]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_scaling_modes@scaling-mode-none.html
[666]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_scaling_modes@scaling-mode-none.html
* igt@kms_sharpness_filter@filter-suspend:
- shard-rkl: [SKIP][667] ([i915#14544]) -> [SKIP][668] ([i915#15232]) +1 other test skip
[667]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_sharpness_filter@filter-suspend.html
[668]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@kms_sharpness_filter@filter-suspend.html
* igt@kms_sharpness_filter@invalid-plane-with-filter:
- shard-rkl: [SKIP][669] ([i915#15232]) -> [SKIP][670] ([i915#14544]) +1 other test skip
[669]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@kms_sharpness_filter@invalid-plane-with-filter.html
[670]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_sharpness_filter@invalid-plane-with-filter.html
* igt@kms_vblank@query-forked-busy:
- shard-rkl: [SKIP][671] ([i915#14544]) -> [DMESG-WARN][672] ([i915#12964]) +1 other test dmesg-warn
[671]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_vblank@query-forked-busy.html
[672]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-3/igt@kms_vblank@query-forked-busy.html
* igt@kms_vrr@lobf:
- shard-rkl: [SKIP][673] ([i915#11920]) -> [SKIP][674] ([i915#14544])
[673]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-7/igt@kms_vrr@lobf.html
[674]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-6/igt@kms_vrr@lobf.html
* igt@kms_vrr@seamless-rr-switch-virtual:
- shard-rkl: [SKIP][675] ([i915#14544]) -> [SKIP][676] ([i915#9906])
[675]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_vrr@seamless-rr-switch-virtual.html
[676]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-7/igt@kms_vrr@seamless-rr-switch-virtual.html
* igt@kms_writeback@writeback-fb-id-xrgb2101010:
- shard-rkl: [SKIP][677] ([i915#14544] / [i915#2437] / [i915#9412]) -> [SKIP][678] ([i915#2437] / [i915#9412])
[677]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_writeback@writeback-fb-id-xrgb2101010.html
[678]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_writeback@writeback-fb-id-xrgb2101010.html
* igt@kms_writeback@writeback-invalid-parameters:
- shard-rkl: [SKIP][679] ([i915#14544] / [i915#2437]) -> [SKIP][680] ([i915#2437])
[679]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@kms_writeback@writeback-invalid-parameters.html
[680]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-5/igt@kms_writeback@writeback-invalid-parameters.html
* igt@perf@gen8-unprivileged-single-ctx-counters:
- shard-rkl: [SKIP][681] ([i915#14544] / [i915#2436]) -> [SKIP][682] ([i915#2436])
[681]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@perf@gen8-unprivileged-single-ctx-counters.html
[682]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-2/igt@perf@gen8-unprivileged-single-ctx-counters.html
* igt@perf@per-context-mode-unprivileged:
- shard-rkl: [SKIP][683] ([i915#14544] / [i915#2435]) -> [SKIP][684] ([i915#2435])
[683]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17545/shard-rkl-6/igt@perf@per-context-mode-unprivileged.html
[684]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/shard-rkl-8/igt@perf@per-context-mode-unprivileged.html
[i915#10055]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10055
[i915#10226]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10226
[i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
[i915#10393]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10393
[i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433
[i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
[i915#10647]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10647
[i915#10656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10656
[i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
[i915#10959]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10959
[i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
[i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
[i915#11190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11190
[i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
[i915#11614]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11614
[i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
[i915#11713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11713
[i915#11920]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11920
[i915#11943]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11943
[i915#12169]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12169
[i915#12247]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12247
[i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276
[i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
[i915#12316]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12316
[i915#12339]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12339
[i915#12343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12343
[i915#12388]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12388
[i915#12394]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12394
[i915#12454]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12454
[i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257
[i915#12655]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12655
[i915#12712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12712
[i915#12713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12713
[i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745
[i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755
[i915#12761]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12761
[i915#12796]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12796
[i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805
[i915#12910]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12910
[i915#12917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12917
[i915#12964]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12964
[i915#13029]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13029
[i915#13046]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13046
[i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049
[i915#13328]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13328
[i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356
[i915#13398]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13398
[i915#13447]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13447
[i915#13522]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13522
[i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
[i915#13705]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13705
[i915#13707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13707
[i915#13717]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13717
[i915#13729]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13729
[i915#13748]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13748
[i915#13783]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13783
[i915#13820]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13820
[i915#13821]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13821
[i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958
[i915#14033]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14033
[i915#14073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14073
[i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098
[i915#14118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14118
[i915#14123]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14123
[i915#14259]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14259
[i915#14350]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14350
[i915#14419]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14419
[i915#14433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14433
[i915#14470]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14470
[i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
[i915#14545]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14545
[i915#14550]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14550
[i915#14809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14809
[i915#14995]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14995
[i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073
[i915#15095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15095
[i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102
[i915#15104]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15104
[i915#15131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15131
[i915#15132]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15132
[i915#15232]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15232
[i915#15243]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15243
[i915#15283]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15283
[i915#15285]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15285
[i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769
[i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
[i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839
[i915#1849]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1849
[i915#1850]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1850
[i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
[i915#2346]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2346
[i915#2435]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2435
[i915#2436]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2436
[i915#2437]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2437
[i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
[i915#2582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2582
[i915#2587]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2587
[i915#2672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2672
[i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
[i915#284]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/284
[i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
[i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
[i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
[i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
[i915#3361]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3361
[i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
[i915#3469]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3469
[i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3582
[i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
[i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
[i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
[i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828
[i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
[i915#3936]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3936
[i915#3955]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3955
[i915#4036]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4036
[i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
[i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
[i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
[i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
[i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
[i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
[i915#4281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4281
[i915#4387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4387
[i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
[i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
[i915#4537]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4537
[i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
[i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
[i915#4771]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4771
[i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
[i915#4818]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4818
[i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839
[i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
[i915#4873]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4873
[i915#4880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4880
[i915#4884]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4884
[i915#4885]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4885
[i915#4958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4958
[i915#5138]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5138
[i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
[i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
[i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
[i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
[i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439
[i915#5493]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5493
[i915#5723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5723
[i915#5956]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5956
[i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
[i915#6113]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6113
[i915#6187]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6187
[i915#6334]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6334
[i915#6344]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6344
[i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
[i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
[i915#6880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6880
[i915#6944]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6944
[i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
[i915#7116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7116
[i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118
[i915#7173]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7173
[i915#7294]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7294
[i915#7582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7582
[i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
[i915#7707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7707
[i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
[i915#8152]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8152
[i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
[i915#8381]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8381
[i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399
[i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
[i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
[i915#8516]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8516
[i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555
[i915#8562]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8562
[i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
[i915#8809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8809
[i915#8813]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8813
[i915#8814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8814
[i915#8823]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8823
[i915#8825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8825
[i915#8826]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8826
[i915#9100]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9100
[i915#9295]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9295
[i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
[i915#9337]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9337
[i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340
[i915#9412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9412
[i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424
[i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
[i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
[i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
[i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
[i915#9738]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9738
[i915#9808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9808
[i915#9809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9809
[i915#9878]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9878
[i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
[i915#9917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9917
[i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_8623 -> IGTPW_14057
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_17545: e15c082b1af0c5cd053273ea096ab84fbc309657 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_14057: 563b969f3ee3984029668b1e77f8d67abd67f926 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8623: 8623
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14057/index.html
[-- Attachment #2: Type: text/html, Size: 228507 bytes --]
^ permalink raw reply [flat|nested] 22+ messages in thread
* RE: [PATCH i-g-t v7 03/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU cross-GPU memory access test
2025-11-13 17:16 ` [PATCH i-g-t v7 03/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU cross-GPU memory access test nishit.sharma
@ 2025-11-18 13:36 ` Gurram, Pravalika
2025-11-19 13:00 ` Gurram, Pravalika
0 siblings, 1 reply; 22+ messages in thread
From: Gurram, Pravalika @ 2025-11-18 13:36 UTC (permalink / raw)
To: Sharma, Nishit, igt-dev@lists.freedesktop.org
> -----Original Message-----
> From: igt-dev <igt-dev-bounces@lists.freedesktop.org> On Behalf Of
> nishit.sharma@intel.com
> Sent: Thursday, November 13, 2025 10:46 PM
> To: igt-dev@lists.freedesktop.org
> Subject: [PATCH i-g-t v7 03/10] tests/intel/xe_multi_gpusvm: Add SVM
> multi-GPU cross-GPU memory access test
>
> From: Nishit Sharma <nishit.sharma@intel.com>
>
> This test allocates a buffer in SVM, writes data to it from src GPU , and
> reads/verifies the data from dst GPU. Optionally, the CPU also reads or
> modifies the buffer and both GPUs verify the results, ensuring correct cross-
> GPU and CPU memory access in a multi-GPU environment.
>
> Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
> Acked-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> ---
> tests/intel/xe_multi_gpusvm.c | 373
> ++++++++++++++++++++++++++++++++++
> tests/meson.build | 1 +
> 2 files changed, 374 insertions(+)
> create mode 100644 tests/intel/xe_multi_gpusvm.c
>
> diff --git a/tests/intel/xe_multi_gpusvm.c b/tests/intel/xe_multi_gpusvm.c
> new file mode 100644 index 000000000..6614ea3d1
> --- /dev/null
> +++ b/tests/intel/xe_multi_gpusvm.c
> @@ -0,0 +1,373 @@
> +// SPDX-License-Identifier: MIT
> +/*
> + * Copyright © 2023 Intel Corporation
> + */
> +
> +#include <unistd.h>
> +
> +#include "drmtest.h"
> +#include "igt.h"
> +#include "igt_multigpu.h"
> +
> +#include "intel_blt.h"
> +#include "intel_mocs.h"
> +#include "intel_reg.h"
> +
> +#include "xe/xe_ioctl.h"
> +#include "xe/xe_query.h"
> +#include "xe/xe_util.h"
> +
> +/**
> + * TEST: Basic multi-gpu SVM testing
> + * Category: SVM
> + * Mega feature: Compute
> + * Sub-category: Compute tests
> + * Functionality: SVM p2p access, madvise and prefetch.
> + * Test category: functionality test
> + *
> + * SUBTEST: cross-gpu-mem-access
> + * Description:
> + * This test creates two malloced regions, places the destination
> + * region both remotely and locally and copies to it. Reads back to
> + * system memory and checks the result.
> + *
> + */
> +
> +#define MAX_XE_REGIONS 8
> +#define MAX_XE_GPUS 8
> +#define NUM_LOOPS 1
> +#define BATCH_SIZE(_fd) ALIGN(SZ_8K, xe_get_default_alignment(_fd))
> +#define BIND_SYNC_VAL 0x686868 #define EXEC_SYNC_VAL 0x676767
> #define
> +COPY_SIZE SZ_64M
> +
> +struct xe_svm_gpu_info {
> + bool supports_faults;
> + int vram_regions[MAX_XE_REGIONS];
> + unsigned int num_regions;
> + unsigned int va_bits;
> + int fd;
> +};
> +
> +struct multigpu_ops_args {
> + bool prefetch_req;
> + bool op_mod;
> +};
> +
> +typedef void (*gpu_pair_fn) (
> + struct xe_svm_gpu_info *src,
> + struct xe_svm_gpu_info *dst,
> + struct drm_xe_engine_class_instance *eci,
> + void *extra_args
> +);
> +
> +static void for_each_gpu_pair(int num_gpus,
> + struct xe_svm_gpu_info *gpus,
> + struct drm_xe_engine_class_instance *eci,
> + gpu_pair_fn fn,
> + void *extra_args);
> +
> +static void gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
> + struct xe_svm_gpu_info *dst,
> + struct drm_xe_engine_class_instance *eci,
> + void *extra_args);
> +
> +static void open_pagemaps(int fd, struct xe_svm_gpu_info *info);
> +
> +static void
> +create_vm_and_queue(struct xe_svm_gpu_info *gpu, struct
> drm_xe_engine_class_instance *eci,
> + uint32_t *vm, uint32_t *exec_queue) {
> + *vm = xe_vm_create(gpu->fd,
> + DRM_XE_VM_CREATE_FLAG_LR_MODE |
> DRM_XE_VM_CREATE_FLAG_FAULT_MODE, 0);
> + *exec_queue = xe_exec_queue_create(gpu->fd, *vm, eci, 0);
> + xe_vm_bind_lr_sync(gpu->fd, *vm, 0, 0, 0, 1ull << gpu->va_bits,
> + DRM_XE_VM_BIND_FLAG_CPU_ADDR_MIRROR);
> +}
> +
> +static void
> +setup_sync(struct drm_xe_sync *sync, volatile uint64_t **sync_addr,
> +uint64_t timeline_value) {
> + *sync_addr = malloc(sizeof(**sync_addr));
> + igt_assert(*sync_addr);
> + sync->flags = DRM_XE_SYNC_FLAG_SIGNAL;
> + sync->type = DRM_XE_SYNC_TYPE_USER_FENCE;
> + sync->addr = to_user_pointer((uint64_t *)*sync_addr);
> + sync->timeline_value = timeline_value;
> + **sync_addr = 0;
> +}
> +
> +static void
> +cleanup_vm_and_queue(struct xe_svm_gpu_info *gpu, uint32_t vm,
> uint32_t
> +exec_queue) {
> + xe_vm_unbind_lr_sync(gpu->fd, vm, 0, 0, 1ull << gpu->va_bits);
> + xe_exec_queue_destroy(gpu->fd, exec_queue);
> + xe_vm_destroy(gpu->fd, vm);
> +}
> +
> +static void xe_multigpu_madvise(int src_fd, uint32_t vm, uint64_t addr,
> uint64_t size,
> + uint64_t ext, uint32_t type, int dst_fd,
> uint16_t policy,
> + uint16_t instance, uint32_t exec_queue, int
> local_fd,
> + uint16_t local_vram)
> +{
> + int ret;
> +
> +#define SYSTEM_MEMORY 0
> + if (src_fd != dst_fd) {
> + ret = xe_vm_madvise(src_fd, vm, addr, size, ext, type,
> dst_fd, policy, instance);
> + if (ret == -ENOLINK) {
> + igt_info("No fast interconnect between GPU0 and
> GPU1, falling back to local VRAM\n");
> + ret = xe_vm_madvise(src_fd, vm, addr, size, ext,
> type, local_fd,
> + policy, local_vram);
> + if (ret) {
> + igt_info("Local VRAM madvise failed, falling
> back to system memory\n");
> + ret = xe_vm_madvise(src_fd, vm, addr, size,
> ext, type,
> + SYSTEM_MEMORY, policy,
> SYSTEM_MEMORY);
> + igt_assert_eq(ret, 0);
> + }
> + } else {
> + igt_assert_eq(ret, 0);
> + }
> + } else {
> + ret = xe_vm_madvise(src_fd, vm, addr, size, ext, type,
> dst_fd, policy, instance);
> + igt_assert_eq(ret, 0);
> +
> + }
> +
> +}
> +
> +static void xe_multigpu_prefetch(int src_fd, uint32_t vm, uint64_t addr,
> uint64_t size,
> + struct drm_xe_sync *sync, volatile uint64_t
> *sync_addr,
> + uint32_t exec_queue, bool prefetch_req) {
> + if (prefetch_req) {
> + xe_vm_prefetch_async(src_fd, vm, 0, 0, addr, size, sync, 1,
> +
> DRM_XE_CONSULT_MEM_ADVISE_PREF_LOC);
> + if (*sync_addr != sync->timeline_value)
> + xe_wait_ufence(src_fd, (uint64_t *)sync_addr, sync-
> >timeline_value,
> + exec_queue, NSEC_PER_SEC * 10);
> + }
> + free((void *)sync_addr);
Caller is responsible for freeing sync_addr
> +}
> +
> +static void for_each_gpu_pair(int num_gpus, struct xe_svm_gpu_info
> *gpus,
> + struct drm_xe_engine_class_instance *eci,
> + gpu_pair_fn fn, void *extra_args) {
> + for (int src = 0; src < num_gpus; src++) {
> + if(!gpus[src].supports_faults)
> + continue;
> +
> + for (int dst = 0; dst < num_gpus; dst++) {
> + if (src == dst)
> + continue;
> + fn(&gpus[src], &gpus[dst], eci, extra_args);
> + }
> + }
> +}
> +
> +static void batch_init(int fd, uint32_t vm, uint64_t src_addr,
> + uint64_t dst_addr, uint64_t copy_size,
> + uint32_t *bo, uint64_t *addr)
> +{
> + uint32_t width = copy_size / 256;
> + uint32_t height = 1;
> + uint32_t batch_bo_size = BATCH_SIZE(fd);
> + uint32_t batch_bo;
> + uint64_t batch_addr;
> + void *batch;
> + uint32_t *cmd;
> + uint32_t mocs_index = intel_get_uc_mocs_index(fd);
> + int i = 0;
> +
> + batch_bo = xe_bo_create(fd, vm, batch_bo_size,
> vram_if_possible(fd, 0), 0);
> + batch = xe_bo_map(fd, batch_bo, batch_bo_size);
> + cmd = (uint32_t *) batch;
> + cmd[i++] = MEM_COPY_CMD | (1 << 19);
> + cmd[i++] = width - 1;
> + cmd[i++] = height - 1;
> + cmd[i++] = width - 1;
> + cmd[i++] = width - 1;
> + cmd[i++] = src_addr & ((1UL << 32) - 1);
> + cmd[i++] = src_addr >> 32;
> + cmd[i++] = dst_addr & ((1UL << 32) - 1);
> + cmd[i++] = dst_addr >> 32;
> + cmd[i++] = mocs_index << XE2_MEM_COPY_MOCS_SHIFT |
> mocs_index;
> + cmd[i++] = MI_BATCH_BUFFER_END;
> + cmd[i++] = MI_BATCH_BUFFER_END;
> +
> + batch_addr = to_user_pointer(batch);
> + /* Punch a gap in the SVM map where we map the batch_bo */
> + xe_vm_bind_lr_sync(fd, vm, batch_bo, 0, batch_addr,
> batch_bo_size, 0);
> + *bo = batch_bo;
> + *addr = batch_addr;
> +}
> +
> +static void batch_fini(int fd, uint32_t vm, uint32_t bo, uint64_t addr)
> +{
> + /* Unmap the batch bo by re-instating the SVM binding. */
> + xe_vm_bind_lr_sync(fd, vm, 0, 0, addr, BATCH_SIZE(fd),
> + DRM_XE_VM_BIND_FLAG_CPU_ADDR_MIRROR);
> + gem_close(fd, bo);
> +}
> +
> +
> +static void open_pagemaps(int fd, struct xe_svm_gpu_info *info) {
> + unsigned int count = 0;
> + uint64_t regions = all_memory_regions(fd);
> + uint32_t region;
> +
> + xe_for_each_mem_region(fd, regions, region) {
> + if (XE_IS_VRAM_MEMORY_REGION(fd, region)) {
> + struct drm_xe_mem_region *mem_region =
> + xe_mem_region(fd, 1ull << (region - 1));
> + igt_assert(count < MAX_XE_REGIONS);
> + info->vram_regions[count++] = mem_region-
> >instance;
> + }
> + }
> +
> + info->num_regions = count;
> +}
> +
> +static int get_device_info(struct xe_svm_gpu_info gpus[], int num_gpus)
> +{
> + int cnt;
> + int xe;
> + int i;
> +
> + for (i = 0, cnt = 0 && i < 128; cnt < num_gpus; i++) {
This evaluated cnt = (0 && i < 128) = 0 always.
> + xe = __drm_open_driver_another(i, DRIVER_XE);
> + if (xe < 0)
> + break;
> +
> + gpus[cnt].fd = xe;
> + cnt++;
> + }
> +
> + return cnt;
> +}
> +
> +static void
> +copy_src_dst(struct xe_svm_gpu_info *gpu0,
> + struct xe_svm_gpu_info *gpu1,
> + struct drm_xe_engine_class_instance *eci,
> + bool prefetch_req)
> +{
> + uint32_t vm[1];
> + uint32_t exec_queue[2];
> + uint32_t batch_bo;
> + void *copy_src, *copy_dst;
> + uint64_t batch_addr;
> + struct drm_xe_sync sync = {};
> + volatile uint64_t *sync_addr;
> + int local_fd = gpu0->fd;
> + uint16_t local_vram = gpu0->vram_regions[0];
> +
> + create_vm_and_queue(gpu0, eci, &vm[0], &exec_queue[0]);
> +
> + /* Allocate source and destination buffers */
> + copy_src = aligned_alloc(xe_get_default_alignment(gpu0->fd),
> SZ_64M);
> + igt_assert(copy_src);
> + copy_dst = aligned_alloc(xe_get_default_alignment(gpu1->fd),
> SZ_64M);
> + igt_assert(copy_dst);
> +
> + /*
> + * Initialize, map and bind the batch bo. Note that Xe doesn't seem to
> enjoy
> + * batch buffer memory accessed over PCIe p2p.
> + */
> + batch_init(gpu0->fd, vm[0], to_user_pointer(copy_src),
> to_user_pointer(copy_dst),
> + COPY_SIZE, &batch_bo, &batch_addr);
> +
> + /* Fill the source with a pattern, clear the destination. */
> + memset(copy_src, 0x67, COPY_SIZE);
> + memset(copy_dst, 0x0, COPY_SIZE);
> +
> + xe_multigpu_madvise(gpu0->fd, vm[0], to_user_pointer(copy_dst),
> COPY_SIZE,
> + 0,
> DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
> + gpu1->fd, 0, gpu1->vram_regions[0],
> exec_queue[0],
> + local_fd, local_vram);
> +
> + setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
> + xe_multigpu_prefetch(gpu0->fd, vm[0], to_user_pointer(copy_dst),
> COPY_SIZE, &sync,
> + sync_addr, exec_queue[0], prefetch_req);
> +
Free sync_addr here
> + sync_addr = (void *)((char *)batch_addr + SZ_4K);
> + sync.addr = to_user_pointer((uint64_t *)sync_addr);
> + sync.timeline_value = EXEC_SYNC_VAL;
> + *sync_addr = 0;
> +
> + /* Execute a GPU copy. */
> + xe_exec_sync(gpu0->fd, exec_queue[0], batch_addr, &sync, 1);
> + if (*sync_addr != EXEC_SYNC_VAL)
> + xe_wait_ufence(gpu0->fd, (uint64_t *)sync_addr,
> EXEC_SYNC_VAL, exec_queue[0],
> + NSEC_PER_SEC * 10);
> +
> + igt_assert(memcmp(copy_src, copy_dst, COPY_SIZE) == 0);
> +
> + free(copy_dst);
> + free(copy_src);
> + munmap((void *)batch_addr, BATCH_SIZE(gpu0->fd));
> + batch_fini(gpu0->fd, vm[0], batch_bo, batch_addr);
> + cleanup_vm_and_queue(gpu0, vm[0], exec_queue[0]); }
> +
> +static void
> +gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
> + struct xe_svm_gpu_info *dst,
> + struct drm_xe_engine_class_instance *eci,
> + void *extra_args)
> +{
> + struct multigpu_ops_args *args = (struct multigpu_ops_args
> *)extra_args;
> + igt_assert(src);
> + igt_assert(dst);
> +
> + copy_src_dst(src, dst, eci, args->prefetch_req); }
> +
> +igt_main
> +{
> + struct xe_svm_gpu_info gpus[MAX_XE_GPUS];
> + struct xe_device *xe;
> + int gpu, gpu_cnt;
> +
> + struct drm_xe_engine_class_instance eci = {
> + .engine_class = DRM_XE_ENGINE_CLASS_COPY,
> + };
> +
> + igt_fixture {
> + gpu_cnt = get_device_info(gpus, ARRAY_SIZE(gpus));
> + igt_skip_on(gpu_cnt < 2);
> +
> + for (gpu = 0; gpu < gpu_cnt; ++gpu) {
> + igt_assert(gpu < MAX_XE_GPUS);
> +
> + open_pagemaps(gpus[gpu].fd, &gpus[gpu]);
> + /* NOTE! inverted return value. */
> + gpus[gpu].supports_faults =
> !xe_supports_faults(gpus[gpu].fd);
> + fprintf(stderr, "GPU %u has %u VRAM regions%s,
> and %s SVM VMs.\n",
> + gpu, gpus[gpu].num_regions,
> + gpus[gpu].num_regions != 1 ? "s" : "",
> + gpus[gpu].supports_faults ? "supports" :
> "doesn't support");
> +
> + xe = xe_device_get(gpus[gpu].fd);
> + gpus[gpu].va_bits = xe->va_bits;
> + }
> + }
> +
> + igt_describe("gpu-gpu write-read");
> + igt_subtest("cross-gpu-mem-access") {
> + struct multigpu_ops_args op_args;
> + op_args.prefetch_req = 1;
> + for_each_gpu_pair(gpu_cnt, gpus, &eci,
> gpu_mem_access_wrapper, &op_args);
> + op_args.prefetch_req = 0;
> + for_each_gpu_pair(gpu_cnt, gpus, &eci,
> gpu_mem_access_wrapper, &op_args);
> + }
> +
> + igt_fixture {
> + int cnt;
> +
> + for (cnt = 0; cnt < gpu_cnt; cnt++)
> + drm_close_driver(gpus[cnt].fd);
> + }
> +}
> diff --git a/tests/meson.build b/tests/meson.build index
> 9736f2338..1209f84a4 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -313,6 +313,7 @@ intel_xe_progs = [
> 'xe_media_fill',
> 'xe_mmap',
> 'xe_module_load',
> + 'xe_multi_gpusvm',
> 'xe_noexec_ping_pong',
> 'xe_oa',
> 'xe_pat',
> --
> 2.48.1
^ permalink raw reply [flat|nested] 22+ messages in thread
* RE: [PATCH i-g-t v7 03/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU cross-GPU memory access test
2025-11-18 13:36 ` Gurram, Pravalika
@ 2025-11-19 13:00 ` Gurram, Pravalika
0 siblings, 0 replies; 22+ messages in thread
From: Gurram, Pravalika @ 2025-11-19 13:00 UTC (permalink / raw)
To: Gurram, Pravalika, Sharma, Nishit, igt-dev@lists.freedesktop.org,
Hellstrom, Thomas
> -----Original Message-----
> From: igt-dev <igt-dev-bounces@lists.freedesktop.org> On Behalf Of
> Gurram, Pravalika
> Sent: Tuesday, November 18, 2025 7:07 PM
> To: Sharma, Nishit <nishit.sharma@intel.com>; igt-
> dev@lists.freedesktop.org
> Subject: RE: [PATCH i-g-t v7 03/10] tests/intel/xe_multi_gpusvm: Add SVM
> multi-GPU cross-GPU memory access test
>
>
>
> > -----Original Message-----
> > From: igt-dev <igt-dev-bounces@lists.freedesktop.org> On Behalf Of
> > nishit.sharma@intel.com
> > Sent: Thursday, November 13, 2025 10:46 PM
> > To: igt-dev@lists.freedesktop.org
> > Subject: [PATCH i-g-t v7 03/10] tests/intel/xe_multi_gpusvm: Add SVM
> > multi-GPU cross-GPU memory access test
> >
> > From: Nishit Sharma <nishit.sharma@intel.com>
> >
> > This test allocates a buffer in SVM, writes data to it from src GPU ,
> > and reads/verifies the data from dst GPU. Optionally, the CPU also
> > reads or modifies the buffer and both GPUs verify the results,
> > ensuring correct cross- GPU and CPU memory access in a multi-GPU
> environment.
> >
> > Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
> > Acked-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> > ---
> > tests/intel/xe_multi_gpusvm.c | 373
> > ++++++++++++++++++++++++++++++++++
> > tests/meson.build | 1 +
> > 2 files changed, 374 insertions(+)
> > create mode 100644 tests/intel/xe_multi_gpusvm.c
> >
> > diff --git a/tests/intel/xe_multi_gpusvm.c
> > b/tests/intel/xe_multi_gpusvm.c new file mode 100644 index
> > 000000000..6614ea3d1
> > --- /dev/null
> > +++ b/tests/intel/xe_multi_gpusvm.c
> > @@ -0,0 +1,373 @@
> > +// SPDX-License-Identifier: MIT
> > +/*
> > + * Copyright © 2023 Intel Corporation */
> > +
> > +#include <unistd.h>
> > +
> > +#include "drmtest.h"
> > +#include "igt.h"
> > +#include "igt_multigpu.h"
> > +
> > +#include "intel_blt.h"
> > +#include "intel_mocs.h"
> > +#include "intel_reg.h"
> > +
> > +#include "xe/xe_ioctl.h"
> > +#include "xe/xe_query.h"
> > +#include "xe/xe_util.h"
> > +
> > +/**
> > + * TEST: Basic multi-gpu SVM testing
> > + * Category: SVM
> > + * Mega feature: Compute
> > + * Sub-category: Compute tests
> > + * Functionality: SVM p2p access, madvise and prefetch.
> > + * Test category: functionality test
> > + *
> > + * SUBTEST: cross-gpu-mem-access
> > + * Description:
> > + * This test creates two malloced regions, places the destination
> > + * region both remotely and locally and copies to it. Reads back to
> > + * system memory and checks the result.
> > + *
> > + */
> > +
> > +#define MAX_XE_REGIONS 8
> > +#define MAX_XE_GPUS 8
> > +#define NUM_LOOPS 1
> > +#define BATCH_SIZE(_fd) ALIGN(SZ_8K, xe_get_default_alignment(_fd))
> > +#define BIND_SYNC_VAL 0x686868 #define EXEC_SYNC_VAL 0x676767
> > #define
> > +COPY_SIZE SZ_64M
> > +
> > +struct xe_svm_gpu_info {
> > + bool supports_faults;
> > + int vram_regions[MAX_XE_REGIONS];
> > + unsigned int num_regions;
> > + unsigned int va_bits;
> > + int fd;
> > +};
> > +
> > +struct multigpu_ops_args {
> > + bool prefetch_req;
> > + bool op_mod;
> > +};
> > +
> > +typedef void (*gpu_pair_fn) (
> > + struct xe_svm_gpu_info *src,
> > + struct xe_svm_gpu_info *dst,
> > + struct drm_xe_engine_class_instance *eci,
> > + void *extra_args
> > +);
> > +
> > +static void for_each_gpu_pair(int num_gpus,
> > + struct xe_svm_gpu_info *gpus,
> > + struct drm_xe_engine_class_instance *eci,
> > + gpu_pair_fn fn,
> > + void *extra_args);
> > +
> > +static void gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
> > + struct xe_svm_gpu_info *dst,
> > + struct drm_xe_engine_class_instance *eci,
> > + void *extra_args);
> > +
> > +static void open_pagemaps(int fd, struct xe_svm_gpu_info *info);
> > +
> > +static void
> > +create_vm_and_queue(struct xe_svm_gpu_info *gpu, struct
> > drm_xe_engine_class_instance *eci,
> > + uint32_t *vm, uint32_t *exec_queue) {
> > + *vm = xe_vm_create(gpu->fd,
> > + DRM_XE_VM_CREATE_FLAG_LR_MODE |
> > DRM_XE_VM_CREATE_FLAG_FAULT_MODE, 0);
> > + *exec_queue = xe_exec_queue_create(gpu->fd, *vm, eci, 0);
> > + xe_vm_bind_lr_sync(gpu->fd, *vm, 0, 0, 0, 1ull << gpu->va_bits,
> > + DRM_XE_VM_BIND_FLAG_CPU_ADDR_MIRROR);
> > +}
> > +
> > +static void
> > +setup_sync(struct drm_xe_sync *sync, volatile uint64_t **sync_addr,
> > +uint64_t timeline_value) {
> > + *sync_addr = malloc(sizeof(**sync_addr));
> > + igt_assert(*sync_addr);
> > + sync->flags = DRM_XE_SYNC_FLAG_SIGNAL;
> > + sync->type = DRM_XE_SYNC_TYPE_USER_FENCE;
> > + sync->addr = to_user_pointer((uint64_t *)*sync_addr);
> > + sync->timeline_value = timeline_value;
> > + **sync_addr = 0;
> > +}
> > +
> > +static void
> > +cleanup_vm_and_queue(struct xe_svm_gpu_info *gpu, uint32_t vm,
> > uint32_t
> > +exec_queue) {
> > + xe_vm_unbind_lr_sync(gpu->fd, vm, 0, 0, 1ull << gpu->va_bits);
> > + xe_exec_queue_destroy(gpu->fd, exec_queue);
> > + xe_vm_destroy(gpu->fd, vm);
> > +}
> > +
> > +static void xe_multigpu_madvise(int src_fd, uint32_t vm, uint64_t
> > +addr,
> > uint64_t size,
> > + uint64_t ext, uint32_t type, int dst_fd,
> > uint16_t policy,
> > + uint16_t instance, uint32_t exec_queue, int
> > local_fd,
> > + uint16_t local_vram)
> > +{
> > + int ret;
> > +
> > +#define SYSTEM_MEMORY 0
> > + if (src_fd != dst_fd) {
> > + ret = xe_vm_madvise(src_fd, vm, addr, size, ext, type,
> > dst_fd, policy, instance);
> > + if (ret == -ENOLINK) {
> > + igt_info("No fast interconnect between GPU0 and
> > GPU1, falling back to local VRAM\n");
> > + ret = xe_vm_madvise(src_fd, vm, addr, size, ext,
> > type, local_fd,
> > + policy, local_vram);
> > + if (ret) {
> > + igt_info("Local VRAM madvise failed, falling
> > back to system memory\n");
> > + ret = xe_vm_madvise(src_fd, vm, addr, size,
> > ext, type,
> > + SYSTEM_MEMORY, policy,
> > SYSTEM_MEMORY);
> > + igt_assert_eq(ret, 0);
> > + }
> > + } else {
> > + igt_assert_eq(ret, 0);
> > + }
> > + } else {
> > + ret = xe_vm_madvise(src_fd, vm, addr, size, ext, type,
> > dst_fd, policy, instance);
> > + igt_assert_eq(ret, 0);
> > +
> > + }
> > +
> > +}
> > +
> > +static void xe_multigpu_prefetch(int src_fd, uint32_t vm, uint64_t
> > +addr,
> > uint64_t size,
> > + struct drm_xe_sync *sync, volatile uint64_t
> > *sync_addr,
> > + uint32_t exec_queue, bool prefetch_req) {
> > + if (prefetch_req) {
> > + xe_vm_prefetch_async(src_fd, vm, 0, 0, addr, size, sync, 1,
> > +
> > DRM_XE_CONSULT_MEM_ADVISE_PREF_LOC);
> > + if (*sync_addr != sync->timeline_value)
> > + xe_wait_ufence(src_fd, (uint64_t *)sync_addr, sync-
> > >timeline_value,
> > + exec_queue, NSEC_PER_SEC * 10);
> > + }
> > + free((void *)sync_addr);
> Caller is responsible for freeing sync_addr
> > +}
> > +
> > +static void for_each_gpu_pair(int num_gpus, struct xe_svm_gpu_info
> > *gpus,
> > + struct drm_xe_engine_class_instance *eci,
> > + gpu_pair_fn fn, void *extra_args) {
> > + for (int src = 0; src < num_gpus; src++) {
> > + if(!gpus[src].supports_faults)
> > + continue;
> > +
> > + for (int dst = 0; dst < num_gpus; dst++) {
> > + if (src == dst)
> > + continue;
@Hellstrom, Thomas has provided code initially that has the expected behavior can you please cross check
This is the current behavior, which is wrong
GPU0 → GPU1: COMPLETED
GPU1 → GPU0: COMPLETED
GPU0 → GPU1: COMPLETED
GPU1 → GPU0: COMPLETED
Expected is
GPU0 → GPU0: COMPLETED
GPU1 → GPU0: COMPLETED
GPU0 → GPU1: COMPLETED
GPU1 → GPU1: COMPLETED
And also, if you have any multi-gpu more than 2gpu's, can you please paste this output once you correct this logic.
--Pravalika
> > + fn(&gpus[src], &gpus[dst], eci, extra_args);
> > + }
> > + }
> > +}
> > +
> > +static void batch_init(int fd, uint32_t vm, uint64_t src_addr,
> > + uint64_t dst_addr, uint64_t copy_size,
> > + uint32_t *bo, uint64_t *addr) {
> > + uint32_t width = copy_size / 256;
> > + uint32_t height = 1;
> > + uint32_t batch_bo_size = BATCH_SIZE(fd);
> > + uint32_t batch_bo;
> > + uint64_t batch_addr;
> > + void *batch;
> > + uint32_t *cmd;
> > + uint32_t mocs_index = intel_get_uc_mocs_index(fd);
> > + int i = 0;
> > +
> > + batch_bo = xe_bo_create(fd, vm, batch_bo_size,
> > vram_if_possible(fd, 0), 0);
> > + batch = xe_bo_map(fd, batch_bo, batch_bo_size);
> > + cmd = (uint32_t *) batch;
> > + cmd[i++] = MEM_COPY_CMD | (1 << 19);
> > + cmd[i++] = width - 1;
> > + cmd[i++] = height - 1;
> > + cmd[i++] = width - 1;
> > + cmd[i++] = width - 1;
> > + cmd[i++] = src_addr & ((1UL << 32) - 1);
> > + cmd[i++] = src_addr >> 32;
> > + cmd[i++] = dst_addr & ((1UL << 32) - 1);
> > + cmd[i++] = dst_addr >> 32;
> > + cmd[i++] = mocs_index << XE2_MEM_COPY_MOCS_SHIFT |
> > mocs_index;
> > + cmd[i++] = MI_BATCH_BUFFER_END;
> > + cmd[i++] = MI_BATCH_BUFFER_END;
> > +
> > + batch_addr = to_user_pointer(batch);
> > + /* Punch a gap in the SVM map where we map the batch_bo */
> > + xe_vm_bind_lr_sync(fd, vm, batch_bo, 0, batch_addr,
> > batch_bo_size, 0);
> > + *bo = batch_bo;
> > + *addr = batch_addr;
> > +}
> > +
> > +static void batch_fini(int fd, uint32_t vm, uint32_t bo, uint64_t
> > +addr) {
> > + /* Unmap the batch bo by re-instating the SVM binding. */
> > + xe_vm_bind_lr_sync(fd, vm, 0, 0, addr, BATCH_SIZE(fd),
> > + DRM_XE_VM_BIND_FLAG_CPU_ADDR_MIRROR);
> > + gem_close(fd, bo);
> > +}
> > +
> > +
> > +static void open_pagemaps(int fd, struct xe_svm_gpu_info *info) {
> > + unsigned int count = 0;
> > + uint64_t regions = all_memory_regions(fd);
> > + uint32_t region;
> > +
> > + xe_for_each_mem_region(fd, regions, region) {
> > + if (XE_IS_VRAM_MEMORY_REGION(fd, region)) {
> > + struct drm_xe_mem_region *mem_region =
> > + xe_mem_region(fd, 1ull << (region - 1));
> > + igt_assert(count < MAX_XE_REGIONS);
> > + info->vram_regions[count++] = mem_region-
> > >instance;
> > + }
> > + }
> > +
> > + info->num_regions = count;
> > +}
> > +
> > +static int get_device_info(struct xe_svm_gpu_info gpus[], int
> > +num_gpus) {
> > + int cnt;
> > + int xe;
> > + int i;
> > +
> > + for (i = 0, cnt = 0 && i < 128; cnt < num_gpus; i++) {
> This evaluated cnt = (0 && i < 128) = 0 always.
> > + xe = __drm_open_driver_another(i, DRIVER_XE);
> > + if (xe < 0)
> > + break;
> > +
> > + gpus[cnt].fd = xe;
> > + cnt++;
> > + }
> > +
> > + return cnt;
> > +}
> > +
> > +static void
> > +copy_src_dst(struct xe_svm_gpu_info *gpu0,
> > + struct xe_svm_gpu_info *gpu1,
> > + struct drm_xe_engine_class_instance *eci,
> > + bool prefetch_req)
> > +{
> > + uint32_t vm[1];
> > + uint32_t exec_queue[2];
> > + uint32_t batch_bo;
> > + void *copy_src, *copy_dst;
> > + uint64_t batch_addr;
> > + struct drm_xe_sync sync = {};
> > + volatile uint64_t *sync_addr;
> > + int local_fd = gpu0->fd;
> > + uint16_t local_vram = gpu0->vram_regions[0];
> > +
> > + create_vm_and_queue(gpu0, eci, &vm[0], &exec_queue[0]);
> > +
> > + /* Allocate source and destination buffers */
> > + copy_src = aligned_alloc(xe_get_default_alignment(gpu0->fd),
> > SZ_64M);
> > + igt_assert(copy_src);
> > + copy_dst = aligned_alloc(xe_get_default_alignment(gpu1->fd),
> > SZ_64M);
> > + igt_assert(copy_dst);
> > +
> > + /*
> > + * Initialize, map and bind the batch bo. Note that Xe doesn't seem
> > +to
> > enjoy
> > + * batch buffer memory accessed over PCIe p2p.
> > + */
> > + batch_init(gpu0->fd, vm[0], to_user_pointer(copy_src),
> > to_user_pointer(copy_dst),
> > + COPY_SIZE, &batch_bo, &batch_addr);
> > +
> > + /* Fill the source with a pattern, clear the destination. */
> > + memset(copy_src, 0x67, COPY_SIZE);
> > + memset(copy_dst, 0x0, COPY_SIZE);
> > +
> > + xe_multigpu_madvise(gpu0->fd, vm[0], to_user_pointer(copy_dst),
> > COPY_SIZE,
> > + 0,
> > DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
> > + gpu1->fd, 0, gpu1->vram_regions[0],
> > exec_queue[0],
> > + local_fd, local_vram);
> > +
> > + setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
> > + xe_multigpu_prefetch(gpu0->fd, vm[0], to_user_pointer(copy_dst),
> > COPY_SIZE, &sync,
> > + sync_addr, exec_queue[0], prefetch_req);
> > +
> Free sync_addr here
> > + sync_addr = (void *)((char *)batch_addr + SZ_4K);
> > + sync.addr = to_user_pointer((uint64_t *)sync_addr);
> > + sync.timeline_value = EXEC_SYNC_VAL;
> > + *sync_addr = 0;
> > +
> > + /* Execute a GPU copy. */
> > + xe_exec_sync(gpu0->fd, exec_queue[0], batch_addr, &sync, 1);
> > + if (*sync_addr != EXEC_SYNC_VAL)
> > + xe_wait_ufence(gpu0->fd, (uint64_t *)sync_addr,
> > EXEC_SYNC_VAL, exec_queue[0],
> > + NSEC_PER_SEC * 10);
> > +
> > + igt_assert(memcmp(copy_src, copy_dst, COPY_SIZE) == 0);
> > +
> > + free(copy_dst);
> > + free(copy_src);
> > + munmap((void *)batch_addr, BATCH_SIZE(gpu0->fd));
> > + batch_fini(gpu0->fd, vm[0], batch_bo, batch_addr);
> > + cleanup_vm_and_queue(gpu0, vm[0], exec_queue[0]); }
> > +
> > +static void
> > +gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
> > + struct xe_svm_gpu_info *dst,
> > + struct drm_xe_engine_class_instance *eci,
> > + void *extra_args)
> > +{
> > + struct multigpu_ops_args *args = (struct multigpu_ops_args
> > *)extra_args;
> > + igt_assert(src);
> > + igt_assert(dst);
> > +
> > + copy_src_dst(src, dst, eci, args->prefetch_req); }
> > +
> > +igt_main
> > +{
> > + struct xe_svm_gpu_info gpus[MAX_XE_GPUS];
> > + struct xe_device *xe;
> > + int gpu, gpu_cnt;
> > +
> > + struct drm_xe_engine_class_instance eci = {
> > + .engine_class = DRM_XE_ENGINE_CLASS_COPY,
> > + };
> > +
> > + igt_fixture {
> > + gpu_cnt = get_device_info(gpus, ARRAY_SIZE(gpus));
> > + igt_skip_on(gpu_cnt < 2);
> > +
> > + for (gpu = 0; gpu < gpu_cnt; ++gpu) {
> > + igt_assert(gpu < MAX_XE_GPUS);
> > +
> > + open_pagemaps(gpus[gpu].fd, &gpus[gpu]);
> > + /* NOTE! inverted return value. */
> > + gpus[gpu].supports_faults =
> > !xe_supports_faults(gpus[gpu].fd);
> > + fprintf(stderr, "GPU %u has %u VRAM regions%s,
> > and %s SVM VMs.\n",
> > + gpu, gpus[gpu].num_regions,
> > + gpus[gpu].num_regions != 1 ? "s" : "",
> > + gpus[gpu].supports_faults ? "supports" :
> > "doesn't support");
> > +
> > + xe = xe_device_get(gpus[gpu].fd);
> > + gpus[gpu].va_bits = xe->va_bits;
> > + }
> > + }
> > +
> > + igt_describe("gpu-gpu write-read");
> > + igt_subtest("cross-gpu-mem-access") {
> > + struct multigpu_ops_args op_args;
> > + op_args.prefetch_req = 1;
> > + for_each_gpu_pair(gpu_cnt, gpus, &eci,
> > gpu_mem_access_wrapper, &op_args);
> > + op_args.prefetch_req = 0;
> > + for_each_gpu_pair(gpu_cnt, gpus, &eci,
> > gpu_mem_access_wrapper, &op_args);
> > + }
> > +
> > + igt_fixture {
> > + int cnt;
> > +
> > + for (cnt = 0; cnt < gpu_cnt; cnt++)
> > + drm_close_driver(gpus[cnt].fd);
> > + }
> > +}
> > diff --git a/tests/meson.build b/tests/meson.build index
> > 9736f2338..1209f84a4 100644
> > --- a/tests/meson.build
> > +++ b/tests/meson.build
> > @@ -313,6 +313,7 @@ intel_xe_progs = [
> > 'xe_media_fill',
> > 'xe_mmap',
> > 'xe_module_load',
> > + 'xe_multi_gpusvm',
> > 'xe_noexec_ping_pong',
> > 'xe_oa',
> > 'xe_pat',
> > --
> > 2.48.1
^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2025-11-19 13:00 UTC | newest]
Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-13 17:16 [PATCH i-g-t v7 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 01/10] lib/xe: Add instance parameter to xe_vm_madvise and introduce lr_sync helpers nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 02/10] tests/intel/xe_exec_system_allocator: Add parameter in madvise call nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 03/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU cross-GPU memory access test nishit.sharma
2025-11-18 13:36 ` Gurram, Pravalika
2025-11-19 13:00 ` Gurram, Pravalika
2025-11-13 17:16 ` [PATCH i-g-t v7 04/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU atomic operations nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 05/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU coherency test nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 06/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU performance test nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 07/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU fault handling test nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 08/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU simultaneous access test nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 09/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU conflicting madvise test nishit.sharma
2025-11-13 17:16 ` [PATCH i-g-t v7 10/10] tests/intel/xe_multi-gpusvm: Add SVM multi-GPU migration test nishit.sharma
2025-11-14 0:43 ` ✓ i915.CI.BAT: success for Madvise feature in SVM for Multi-GPU configs Patchwork
2025-11-14 1:06 ` ✓ Xe.CI.BAT: " Patchwork
2025-11-14 10:28 ` ✗ Xe.CI.Full: failure " Patchwork
2025-11-14 21:13 ` ✓ i915.CI.Full: success " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2025-11-13 17:15 [PATCH i-g-t v7 00/10] " nishit.sharma
2025-11-13 17:15 ` [PATCH i-g-t v7 06/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU performance test nishit.sharma
2025-11-13 17:09 [PATCH i-g-t v7 00/10] SVM madvise feature in multi-GPU config nishit.sharma
2025-11-13 17:09 ` [PATCH i-g-t v7 06/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU performance test nishit.sharma
2025-11-13 17:04 [PATCH i-g-t v7 00/10] Add SVM madvise feature for multi-GPU configurations nishit.sharma
2025-11-13 17:04 ` [PATCH i-g-t v7 06/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU performance test nishit.sharma
2025-11-13 16:49 [PATCH i-g-t v7 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
2025-11-13 16:50 ` [PATCH i-g-t v7 06/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU performance test nishit.sharma
2025-11-04 15:31 [PATCH i-g-t v2 0/7] Madvise feature in SVM for Multi-GPU configs nishit.sharma
2025-11-13 17:00 ` [PATCH i-g-t v7 00/10] " Nishit Sharma
2025-11-13 17:00 ` [PATCH i-g-t v7 06/10] tests/intel/xe_multi_gpusvm: Add SVM multi-GPU performance test Nishit Sharma
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).