* [PATCH v11 00/10] Madvise feature in SVM for Multi-GPU configs
@ 2025-12-04 5:10 nishit.sharma
2025-12-04 5:10 ` [PATCH v11 01/10] DONT_MERGE: lib/xe: Add instance parameter to xe_vm_madvise nishit.sharma
` (13 more replies)
0 siblings, 14 replies; 20+ messages in thread
From: nishit.sharma @ 2025-12-04 5:10 UTC (permalink / raw)
To: igt-dev, nishit.sharma, thomas.hellstrom
From: Nishit Sharma <nishit.sharma@intel.com>
his 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)
ver8:
- Incorporated review comments (Thomas Hellstrom)
- Seperated madvise and lr_sync patches
- merged added 0 as instance parameter in xe_vm_madvise() call in
xe_exec_system_allocator with xe_vm_madvise lib changes
- Subtests declared in const struct section[] and optimized
- All subtests executed with and without prefetch
ver9:
- Incorporated review comments (Pravalika, Thomas)
- Optimized code. Multiple same function called put in single function
- Added READ_ONCE/WRITE_once instead dereferecing.
ver10:
- Incorporated review comments (Thomas)
ver11:
- Incorporated review comments (Thomas)
- For conflict madvise case instead assertion added conditon
Nishit Sharma (10):
DONT_MERGE: lib/xe: Add instance parameter to xe_vm_madvise
lib/xe: Add synchronous helpers for VM bind/unbind operations
tests/intel/xe_multigpu_svm: Add SVM multi-GPU xGPU memory access test
tests/intel/xe_multigpu_svm: Add SVM multi-GPU atomic operations
tests/intel/xe_multigpu_svm: Add SVM multi-GPU coherency test
tests/intel/xe_multigpu_svm: Add SVM multi-GPU performance test
tests/intel/xe_multigpu_svm: Add SVM multi-GPU fault handling test
tests/intel/xe_multigpu_svm: Add SVM multi-GPU simultaneous access
test
tests/intel/xe_multigpu_svm: Add SVM multi-GPU conflicting madvise
test
tests/intel/xe_multigpu_svm: Add SVM multi-GPU migration test
include/drm-uapi/xe_drm.h | 4 +-
lib/xe/xe_ioctl.c | 52 +-
lib/xe/xe_ioctl.h | 9 +-
tests/intel/xe_exec_system_allocator.c | 8 +-
tests/intel/xe_multigpu_svm.c | 1555 ++++++++++++++++++++++++
tests/meson.build | 3 +-
6 files changed, 1618 insertions(+), 13 deletions(-)
create mode 100644 tests/intel/xe_multigpu_svm.c
--
2.48.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v11 01/10] DONT_MERGE: lib/xe: Add instance parameter to xe_vm_madvise
2025-12-04 5:10 [PATCH v11 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
@ 2025-12-04 5:10 ` nishit.sharma
2025-12-04 5:10 ` [PATCH v11 02/10] lib/xe: Add synchronous helpers for VM bind/unbind operations nishit.sharma
` (12 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: nishit.sharma @ 2025-12-04 5:10 UTC (permalink / raw)
To: igt-dev, nishit.sharma, thomas.hellstrom
From: Nishit Sharma <nishit.sharma@intel.com>
tests/intel/xe_exec_system_allocator: Add parameter in madvise call
This will be replaced by proper commit once it will land in drm-next.
Add an 'instance' parameter to __xe_vm_madvise() and xe_vm_madvise() to
specify which VRAM instance should be targeted for memory advise
operations.
Getting compilation issues in xe_exec_system_allocator test after adding
'instance' parameters in xe_vm_madvise(). As a fix 0 as instance parameter
passed in xe_vm_madvise() calls available in xe_exec_system_allocator test.
Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
Reviewed-by: Pravalika Gurram <pravalika.gurram@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
include/drm-uapi/xe_drm.h | 4 ++--
lib/xe/xe_ioctl.c | 13 +++++++++----
lib/xe/xe_ioctl.h | 9 +++++++--
tests/intel/xe_exec_system_allocator.c | 8 ++++----
4 files changed, 22 insertions(+), 12 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..221fd7c62 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,17 @@ 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.
+ * Asserts in case of error returned by DRM_IOCTL_XE_MADVISE
*/
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)
+ 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);
+ igt_assert_eq(__xe_vm_madvise(fd, vm, addr, range, ext, type, op_val, policy,
+ instance), 0);
}
diff --git a/lib/xe/xe_ioctl.h b/lib/xe/xe_ioctl.h
index ae8a23a54..bbee06a9d 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);
+ uint32_t type, uint32_t op_val, uint16_t policy, uint16_t instance);
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_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 */
diff --git a/tests/intel/xe_exec_system_allocator.c b/tests/intel/xe_exec_system_allocator.c
index c54a52690..e5cdda047 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] 20+ messages in thread
* [PATCH v11 02/10] lib/xe: Add synchronous helpers for VM bind/unbind operations
2025-12-04 5:10 [PATCH v11 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
2025-12-04 5:10 ` [PATCH v11 01/10] DONT_MERGE: lib/xe: Add instance parameter to xe_vm_madvise nishit.sharma
@ 2025-12-04 5:10 ` nishit.sharma
2025-12-04 5:10 ` [PATCH v11 03/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU xGPU memory access test nishit.sharma
` (11 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: nishit.sharma @ 2025-12-04 5:10 UTC (permalink / raw)
To: igt-dev, nishit.sharma, thomas.hellstrom
From: Nishit Sharma <nishit.sharma@intel.com>
Introduce synchronous wrappers for VM bind/unbind operations that handle
user fence allocation, waiting, and cleanup internally. This simplifies
test code by eliminating repetitive synchronization boilerplate.
Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Pravalika Gurram <pravalika.gurram@intel.com>
---
lib/xe/xe_ioctl.c | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/lib/xe/xe_ioctl.c b/lib/xe/xe_ioctl.c
index 221fd7c62..e245f810c 100644
--- a/lib/xe/xe_ioctl.c
+++ b/lib/xe/xe_ioctl.c
@@ -747,3 +747,42 @@ void xe_vm_madvise(int fd, uint32_t vm, uint64_t addr, uint64_t range,
igt_assert_eq(__xe_vm_madvise(fd, vm, addr, range, ext, type, op_val, policy,
instance), 0);
}
+
+#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);
+}
--
2.48.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v11 03/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU xGPU memory access test
2025-12-04 5:10 [PATCH v11 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
2025-12-04 5:10 ` [PATCH v11 01/10] DONT_MERGE: lib/xe: Add instance parameter to xe_vm_madvise nishit.sharma
2025-12-04 5:10 ` [PATCH v11 02/10] lib/xe: Add synchronous helpers for VM bind/unbind operations nishit.sharma
@ 2025-12-04 5:10 ` nishit.sharma
2025-12-04 5:10 ` [PATCH v11 04/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU atomic operations nishit.sharma
` (10 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: nishit.sharma @ 2025-12-04 5:10 UTC (permalink / raw)
To: igt-dev, nishit.sharma, thomas.hellstrom
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>
Reviewed-by: Pravalika Gurram <pravalika.gurram@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
tests/intel/xe_multigpu_svm.c | 397 ++++++++++++++++++++++++++++++++++
tests/meson.build | 3 +-
2 files changed, 399 insertions(+), 1 deletion(-)
create mode 100644 tests/intel/xe_multigpu_svm.c
diff --git a/tests/intel/xe_multigpu_svm.c b/tests/intel/xe_multigpu_svm.c
new file mode 100644
index 000000000..85fea72bb
--- /dev/null
+++ b/tests/intel/xe_multigpu_svm.c
@@ -0,0 +1,397 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 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: Multi-GPU SVM functional and performance tests
+ * Description: Validate multi-GPU Shared Virtual Memory (SVM) features,
+ * including cross-GPU access, atomic operations, coherency
+ *
+ * Category: Multi-GPU
+ * Mega feature: SVM, GPU virtualization
+ * Sub-category: SVM, memory management, performance
+ * Functionality: Multi-GPU SVM, migration, coherency, atomic ops
+ * Test category: functional, performance, stress
+ *
+ * SUBTEST: mgpu-xgpu-access-basic
+ * Description:
+ * Test basic cross-GPU memory access in multi-GPU SVM configuration
+ *
+ * SUBTEST: mgpu-xgpu-access-prefetch
+ * Description:
+ * Test cross-GPU memory access with prefetch in multi-GPU SVM configuration
+ *
+ */
+
+#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
+
+#define MULTIGPU_PREFETCH BIT(1)
+#define MULTIGPU_XGPU_ACCESS BIT(2)
+
+struct xe_svm_gpu_info {
+ bool supports_faults;
+ int vram_regions[MAX_XE_REGIONS];
+ unsigned int num_regions;
+ unsigned int va_bits;
+ int fd;
+};
+
+typedef void (*gpu_pair_fn)(struct xe_svm_gpu_info *src,
+ struct xe_svm_gpu_info *dst,
+ struct drm_xe_engine_class_instance *eci,
+ unsigned int flags);
+
+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,
+ unsigned int flags);
+
+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,
+ unsigned int flags);
+
+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, 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,
+ uint32_t instance, uint32_t exec_queue)
+{
+ int ret;
+
+ 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,
+ DRM_XE_PREFERRED_LOC_DEFAULT_DEVICE,
+ policy, 0);
+ if (ret) {
+ igt_info("Local VRAM madvise failed, falling back to system memory\n");
+ xe_vm_madvise(src_fd, vm, addr, size, ext, type,
+ DRM_XE_PREFERRED_LOC_DEFAULT_SYSTEM, policy,
+ 0);
+ }
+ } else {
+ igt_assert_eq(ret, 0);
+ }
+ } else {
+ xe_vm_madvise(src_fd, vm, addr, size, ext, type, dst_fd, policy, instance);
+ }
+}
+
+static void xe_multigpu_prefetch(int src_fd, uint32_t vm, uint64_t addr, uint64_t size,
+ struct drm_xe_sync *sync, uint64_t *sync_addr,
+ uint32_t exec_queue, unsigned int flags)
+{
+ if (flags & MULTIGPU_PREFETCH) {
+ 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);
+ }
+}
+
+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, unsigned int flags)
+{
+ 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, flags);
+ }
+ }
+}
+
+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 int
+mgpu_check_fault_support(struct xe_svm_gpu_info *gpu1,
+ struct xe_svm_gpu_info *gpu2)
+{
+ int ret = 0;
+
+ if (!gpu1->supports_faults || !gpu2->supports_faults) {
+ igt_debug("GPU does not support page faults, skipping execution\n");
+ ret = 1;
+ }
+ return ret;
+}
+
+static void
+copy_src_dst(struct xe_svm_gpu_info *gpu1,
+ struct xe_svm_gpu_info *gpu2,
+ struct drm_xe_engine_class_instance *eci,
+ unsigned int flags)
+{
+ 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 = {};
+ uint64_t *sync_addr;
+
+ /* Checking if GPU support page faults */
+ if (mgpu_check_fault_support(gpu1, gpu2))
+ return;
+
+ create_vm_and_queue(gpu1, eci, &vm[0], &exec_queue[0]);
+
+ /* Allocate source and destination buffers */
+ copy_src = aligned_alloc(xe_get_default_alignment(gpu1->fd), SZ_64M);
+ igt_assert(copy_src);
+ copy_dst = aligned_alloc(xe_get_default_alignment(gpu2->fd), SZ_64M);
+ igt_assert(copy_dst);
+
+ batch_init(gpu1->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(gpu1->fd, vm[0], to_user_pointer(copy_dst), COPY_SIZE,
+ 0, DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu2->fd, 0, gpu2->vram_regions[0], exec_queue[0]);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu1->fd, vm[0], to_user_pointer(copy_dst), COPY_SIZE, &sync,
+ sync_addr, exec_queue[0], flags);
+ free(sync_addr);
+
+ sync_addr = (void *)((char *)batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ WRITE_ONCE(*sync_addr, 0);
+
+ /* Execute a GPU copy. */
+ xe_exec_sync(gpu1->fd, exec_queue[0], batch_addr, &sync, 1);
+ if (READ_ONCE(*sync_addr) != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu1->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(gpu1->fd));
+ batch_fini(gpu1->fd, vm[0], batch_bo, batch_addr);
+ cleanup_vm_and_queue(gpu1, 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,
+ unsigned int flags)
+{
+ igt_assert(src);
+ igt_assert(dst);
+
+ copy_src_dst(src, dst, eci, flags);
+}
+
+static void
+test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
+ struct drm_xe_engine_class_instance *eci,
+ unsigned int flags)
+{
+ if (flags & MULTIGPU_XGPU_ACCESS)
+ for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_mem_access_wrapper, flags);
+}
+
+struct section {
+ const char *name;
+ unsigned int flags;
+};
+
+IGT_TEST_DESCRIPTION("Validate multi-GPU SVM features including xGPU, atomic-ops");
+
+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,
+ };
+
+ const struct section msections[] = {
+ { "xgpu-access-basic", MULTIGPU_XGPU_ACCESS },
+ { "xgpu-access-prefetch", MULTIGPU_PREFETCH | MULTIGPU_XGPU_ACCESS },
+ { NULL },
+ };
+
+ 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");
+ for (const struct section *s = msections; s->name; s++) {
+ igt_subtest_f("mgpu-%s", s->name)
+ test_mgpu_exec(gpu_cnt, gpus, &eci, s->flags);
+ }
+
+ 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 c505ce5cc..68cbff48c 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -313,7 +313,8 @@ intel_xe_progs = [
'xe_live_ktest',
'xe_media_fill',
'xe_mmap',
- 'xe_module_load',
+ 'xe_module_load',
+ 'xe_multigpu_svm',
'xe_noexec_ping_pong',
'xe_oa',
'xe_pat',
--
2.48.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v11 04/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU atomic operations
2025-12-04 5:10 [PATCH v11 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (2 preceding siblings ...)
2025-12-04 5:10 ` [PATCH v11 03/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU xGPU memory access test nishit.sharma
@ 2025-12-04 5:10 ` nishit.sharma
2025-12-04 5:10 ` [PATCH v11 05/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU coherency test nishit.sharma
` (9 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: nishit.sharma @ 2025-12-04 5:10 UTC (permalink / raw)
To: igt-dev, nishit.sharma, thomas.hellstrom
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>
Reviewed-by: Pravalika Gurram <pravalika.gurram@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
tests/intel/xe_multigpu_svm.c | 206 +++++++++++++++++++++++++++++++++-
1 file changed, 204 insertions(+), 2 deletions(-)
diff --git a/tests/intel/xe_multigpu_svm.c b/tests/intel/xe_multigpu_svm.c
index 85fea72bb..cdc3f4747 100644
--- a/tests/intel/xe_multigpu_svm.c
+++ b/tests/intel/xe_multigpu_svm.c
@@ -36,6 +36,17 @@
* Description:
* Test cross-GPU memory access with prefetch in multi-GPU SVM configuration
*
+ * SUBTEST: mgpu-atomic-op-basic
+ * Description:
+ * Test basic cross-GPU atomic increment operations in multi-GPU SVM configuration
+ * operation on GPU1 and then atomic operation on GPU2 using same
+ * address
+ *
+ * SUBTEST: mgpu-atomic-op-prefetch
+ * Description:
+ * Tests cross-GPU atomic increment operations with explicit memory prefetch
+ * to validate SVM atomic operations in multi-GPU config
+ *
*/
#define MAX_XE_REGIONS 8
@@ -45,9 +56,15 @@
#define BIND_SYNC_VAL 0x686868
#define EXEC_SYNC_VAL 0x676767
#define COPY_SIZE SZ_64M
+#define ATOMIC_OP_VAL 56
#define MULTIGPU_PREFETCH BIT(1)
#define MULTIGPU_XGPU_ACCESS BIT(2)
+#define MULTIGPU_ATOMIC_OP BIT(3)
+
+#define INIT 2
+#define STORE 3
+#define ATOMIC 4
struct xe_svm_gpu_info {
bool supports_faults;
@@ -62,6 +79,16 @@ typedef void (*gpu_pair_fn)(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
unsigned int flags);
+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;
+};
+
static void for_each_gpu_pair(int num_gpus,
struct xe_svm_gpu_info *gpus,
struct drm_xe_engine_class_instance *eci,
@@ -73,7 +100,10 @@ static void gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
unsigned int flags);
-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,
+ unsigned int flags);
static void
create_vm_and_queue(struct xe_svm_gpu_info *gpu, struct drm_xe_engine_class_instance *eci,
@@ -162,6 +192,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)
@@ -256,6 +315,52 @@ mgpu_check_fault_support(struct xe_svm_gpu_info *gpu1,
return ret;
}
+static void
+gpu_madvise_exec_sync(struct xe_svm_gpu_info *gpu, uint32_t vm, uint32_t exec_queue,
+ uint64_t dst_addr, uint64_t *batch_addr, unsigned int flags,
+ void *perf)
+{
+ struct drm_xe_sync sync = {};
+ uint64_t *sync_addr;
+
+ xe_multigpu_madvise(gpu->fd, vm, dst_addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu->fd, 0, gpu->vram_regions[0], exec_queue);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu->fd, vm, dst_addr, SZ_4K, &sync,
+ sync_addr, exec_queue, flags);
+ free(sync_addr);
+
+ sync_addr = (void *)((char *)*batch_addr + SZ_4K);
+ sync.addr = to_user_pointer((uint64_t *)sync_addr);
+ sync.timeline_value = EXEC_SYNC_VAL;
+ WRITE_ONCE(*sync_addr, 0);
+
+ xe_exec_sync(gpu->fd, exec_queue, *batch_addr, &sync, 1);
+ if (READ_ONCE(*sync_addr) != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue,
+ NSEC_PER_SEC * 10);
+}
+
+static void
+gpu_batch_create(struct xe_svm_gpu_info *gpu, uint32_t vm, uint32_t exec_queue,
+ uint64_t src_addr, uint64_t dst_addr,
+ uint32_t *batch_bo, uint64_t *batch_addr,
+ unsigned int flags, int op_type)
+{
+ switch (op_type) {
+ case ATOMIC:
+ atomic_batch_init(gpu->fd, vm, src_addr, batch_bo, batch_addr);
+ break;
+ case INIT:
+ batch_init(gpu->fd, vm, src_addr, dst_addr, SZ_4K, batch_bo, batch_addr);
+ break;
+ default:
+ igt_assert(!"Unknown batch op_type");
+ }
+}
+
static void
copy_src_dst(struct xe_svm_gpu_info *gpu1,
struct xe_svm_gpu_info *gpu2,
@@ -318,6 +423,87 @@ copy_src_dst(struct xe_svm_gpu_info *gpu1,
cleanup_vm_and_queue(gpu1, vm[0], exec_queue[0]);
}
+static void
+atomic_inc_op(struct xe_svm_gpu_info *gpu1,
+ struct xe_svm_gpu_info *gpu2,
+ struct drm_xe_engine_class_instance *eci,
+ unsigned int flags)
+{
+ 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];
+ void *copy_dst;
+ uint32_t final_value;
+
+ /* Skip if either GPU doesn't support faults */
+ if (mgpu_check_fault_support(gpu1, gpu2))
+ return;
+
+ create_vm_and_queue(gpu1, eci, &vm[0], &exec_queue[0]);
+ create_vm_and_queue(gpu2, 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);
+
+ WRITE_ONCE(*(uint64_t *)addr, ATOMIC_OP_VAL - 1);
+
+ /* GPU1: Atomic Batch create */
+ gpu_batch_create(gpu1, vm[0], exec_queue[0], addr, 0,
+ &batch_bo[0], &batch_addr[0], flags, ATOMIC);
+
+ /*GPU1: Madvise and Prefetch Ops */
+ gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0], addr, &batch_addr[0], flags, NULL);
+
+ /* GPU2 --> copy from GPU1 */
+ gpu_batch_create(gpu2, vm[1], exec_queue[1], addr, to_user_pointer(copy_dst),
+ &batch_bo[1], &batch_addr[1], flags, INIT);
+
+ /*GPU2: Madvise and Prefetch Ops */
+ gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1], to_user_pointer(copy_dst),
+ &batch_addr[1], flags, NULL);
+
+ /* NOW CPU can read copy_dst (GPU2 ATOMIC op) */
+ final_value = *(uint32_t *)copy_dst;
+ igt_assert_eq(final_value, ATOMIC_OP_VAL);
+
+ /* GPU2: Atomic Batch create */
+ gpu_batch_create(gpu2, vm[1], exec_queue[1], to_user_pointer(copy_dst), 0,
+ &batch_bo[1], &batch_addr[1], flags, ATOMIC);
+
+ /*GPU2: Madvise and Prefetch Ops */
+ gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1], to_user_pointer(copy_dst),
+ &batch_addr[1], flags, NULL);
+
+ /* GPU1 --> copy from GPU2 */
+ gpu_batch_create(gpu1, vm[0], exec_queue[0], to_user_pointer(copy_dst), addr,
+ &batch_bo[0], &batch_addr[0], flags, INIT);
+
+ /*GPU1: Madvise and Prefetch Ops */
+ gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[1], addr, &batch_addr[0], flags, NULL);
+
+ /* NOW CPU can read addr (GPU1 ATOMIC op) */
+ final_value = *(uint32_t *)addr;
+ igt_assert_eq(final_value, ATOMIC_OP_VAL + 1);
+
+ munmap((void *)batch_addr[0], BATCH_SIZE(gpu1->fd));
+ munmap((void *)batch_addr[1], BATCH_SIZE(gpu2->fd));
+ batch_fini(gpu1->fd, vm[0], batch_bo[0], batch_addr[0]);
+ batch_fini(gpu2->fd, vm[1], batch_bo[1], batch_addr[1]);
+ free(data);
+ free(copy_dst);
+
+ cleanup_vm_and_queue(gpu1, vm[0], exec_queue[0]);
+ cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]);
+}
+
static void
gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
struct xe_svm_gpu_info *dst,
@@ -330,6 +516,18 @@ gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
copy_src_dst(src, dst, eci, flags);
}
+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,
+ unsigned int flags)
+{
+ igt_assert(src);
+ igt_assert(dst);
+
+ atomic_inc_op(src, dst, eci, flags);
+}
+
static void
test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
struct drm_xe_engine_class_instance *eci,
@@ -337,6 +535,8 @@ test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
{
if (flags & MULTIGPU_XGPU_ACCESS)
for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_mem_access_wrapper, flags);
+ if (flags & MULTIGPU_ATOMIC_OP)
+ for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_atomic_inc_wrapper, flags);
}
struct section {
@@ -359,6 +559,8 @@ igt_main
const struct section msections[] = {
{ "xgpu-access-basic", MULTIGPU_XGPU_ACCESS },
{ "xgpu-access-prefetch", MULTIGPU_PREFETCH | MULTIGPU_XGPU_ACCESS },
+ { "atomic-op-basic", MULTIGPU_ATOMIC_OP },
+ { "atomic-op-prefetch", MULTIGPU_PREFETCH | MULTIGPU_ATOMIC_OP },
{ NULL },
};
@@ -382,7 +584,7 @@ igt_main
}
}
- igt_describe("gpu-gpu write-read");
+ igt_describe("multigpu svm operations");
for (const struct section *s = msections; s->name; s++) {
igt_subtest_f("mgpu-%s", s->name)
test_mgpu_exec(gpu_cnt, gpus, &eci, s->flags);
--
2.48.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v11 05/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU coherency test
2025-12-04 5:10 [PATCH v11 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (3 preceding siblings ...)
2025-12-04 5:10 ` [PATCH v11 04/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU atomic operations nishit.sharma
@ 2025-12-04 5:10 ` nishit.sharma
2025-12-04 5:10 ` [PATCH v11 06/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU performance test nishit.sharma
` (8 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: nishit.sharma @ 2025-12-04 5:10 UTC (permalink / raw)
To: igt-dev, nishit.sharma, thomas.hellstrom
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>
Reviewed-by: Pravalika Gurram <pravalika.gurram@intel.com>
Acked-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
tests/intel/xe_multigpu_svm.c | 217 ++++++++++++++++++++++++++++++++++
1 file changed, 217 insertions(+)
diff --git a/tests/intel/xe_multigpu_svm.c b/tests/intel/xe_multigpu_svm.c
index cdc3f4747..b48c4dd2c 100644
--- a/tests/intel/xe_multigpu_svm.c
+++ b/tests/intel/xe_multigpu_svm.c
@@ -47,6 +47,26 @@
* Tests cross-GPU atomic increment operations with explicit memory prefetch
* to validate SVM atomic operations in multi-GPU config
*
+ * SUBTEST: mgpu-coherency-basic
+ * Description:
+ * Test basic cross-GPU memory coherency where one GPU writes data
+ * and another GPU reads to verify coherent memory access without prefetch
+ *
+ * SUBTEST: mgpu-coherency-fail-basic
+ * Description:
+ * Test concurrent write race conditions between GPUs to verify coherency
+ * behavior when multiple GPUs write to the same memory location without prefetch
+ *
+ * SUBTEST: mgpu-coherency-prefetch
+ * Description:
+ * Test cross-GPU memory coherency with explicit prefetch to validate
+ * coherent memory access and migration across GPUs
+ *
+ * SUBTEST: mgpu-coherency-fail-prefetch
+ * Description:
+ * Test concurrent write race conditions with prefetch to verify coherency
+ * behavior and memory migration when multiple GPUs compete for same location
+ *
*/
#define MAX_XE_REGIONS 8
@@ -57,14 +77,18 @@
#define EXEC_SYNC_VAL 0x676767
#define COPY_SIZE SZ_64M
#define ATOMIC_OP_VAL 56
+#define BATCH_VALUE 60
#define MULTIGPU_PREFETCH BIT(1)
#define MULTIGPU_XGPU_ACCESS BIT(2)
#define MULTIGPU_ATOMIC_OP BIT(3)
+#define MULTIGPU_COH_OP BIT(4)
+#define MULTIGPU_COH_FAIL BIT(5)
#define INIT 2
#define STORE 3
#define ATOMIC 4
+#define DWORD 5
struct xe_svm_gpu_info {
bool supports_faults;
@@ -105,6 +129,11 @@ static void gpu_atomic_inc_wrapper(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
unsigned int flags);
+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,
+ unsigned int flags);
+
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)
@@ -221,6 +250,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)
@@ -356,6 +414,9 @@ gpu_batch_create(struct xe_svm_gpu_info *gpu, uint32_t vm, uint32_t exec_queue,
case INIT:
batch_init(gpu->fd, vm, src_addr, dst_addr, SZ_4K, batch_bo, batch_addr);
break;
+ case DWORD:
+ store_dword_batch_init(gpu->fd, vm, src_addr, batch_bo, batch_addr, BATCH_VALUE);
+ break;
default:
igt_assert(!"Unknown batch op_type");
}
@@ -504,6 +565,143 @@ atomic_inc_op(struct xe_svm_gpu_info *gpu1,
cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]);
}
+static void
+coherency_test_multigpu(struct xe_svm_gpu_info *gpu1,
+ struct xe_svm_gpu_info *gpu2,
+ struct drm_xe_engine_class_instance *eci,
+ unsigned int flags)
+{
+ uint64_t addr;
+ uint32_t vm[2];
+ uint32_t exec_queue[2];
+ uint32_t batch_bo[2], batch1_bo[2];
+ uint64_t batch_addr[2], batch1_addr[2];
+ uint64_t *data1;
+ void *copy_dst;
+ uint32_t final_value;
+
+ /* Skip if either GPU doesn't support faults */
+ if (mgpu_check_fault_support(gpu1, gpu2))
+ return;
+
+ create_vm_and_queue(gpu1, eci, &vm[0], &exec_queue[0]);
+ create_vm_and_queue(gpu2, 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);
+
+ /* GPU1: Creating batch with predefined value */
+ gpu_batch_create(gpu1, vm[0], exec_queue[0], addr, 0,
+ &batch_bo[0], &batch_addr[0], flags, DWORD);
+
+ /*GPU1: Madvise and Prefetch Ops */
+ gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0], addr, &batch_addr[0],
+ flags, NULL);
+
+ /* GPU2 --> copy from GPU1 */
+ gpu_batch_create(gpu2, vm[1], exec_queue[1], addr, to_user_pointer(copy_dst),
+ &batch_bo[1], &batch_addr[1], flags, INIT);
+
+ /*GPU2: Madvise and Prefetch Ops */
+ gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1], to_user_pointer(copy_dst),
+ &batch_addr[1], flags, NULL);
+
+ /* verifying copy_dst (GPU2 INIT op) have correct value */
+ final_value = READ_ONCE(*(uint32_t *)copy_dst);
+ igt_assert_eq(final_value, BATCH_VALUE);
+
+ if (flags & MULTIGPU_COH_FAIL) {
+ struct drm_xe_sync sync0 = {}, sync1 = {};
+ uint64_t *result;
+ uint64_t coh_result;
+ uint64_t *sync_addr0, *sync_addr1;
+
+ igt_info("verifying concurrent write race\n");
+
+ WRITE_ONCE(*(uint64_t *)addr, 0);
+
+ store_dword_batch_init(gpu1->fd, vm[0], addr, &batch1_bo[0],
+ &batch1_addr[0], BATCH_VALUE + 10);
+ store_dword_batch_init(gpu2->fd, vm[1], addr, &batch1_bo[1],
+ &batch1_addr[1], BATCH_VALUE + 20);
+
+ /* Setup sync for GPU1 */
+ sync_addr0 = (void *)((char *)batch1_addr[0] + SZ_4K);
+ sync0.flags = DRM_XE_SYNC_FLAG_SIGNAL;
+ sync0.type = DRM_XE_SYNC_TYPE_USER_FENCE;
+ sync0.addr = to_user_pointer((uint64_t *)sync_addr0);
+ sync0.timeline_value = EXEC_SYNC_VAL;
+ WRITE_ONCE(*sync_addr0, 0);
+
+ /* Setup sync for GPU2 */
+ sync_addr1 = (void *)((char *)batch1_addr[1] + SZ_4K);
+ sync1.flags = DRM_XE_SYNC_FLAG_SIGNAL;
+ sync1.type = DRM_XE_SYNC_TYPE_USER_FENCE;
+ sync1.addr = to_user_pointer((uint64_t *)sync_addr1);
+ sync1.timeline_value = EXEC_SYNC_VAL;
+ WRITE_ONCE(*sync_addr1, 0);
+
+ /* Launch both concurrently - no wait between them */
+ xe_exec_sync(gpu1->fd, exec_queue[0], batch1_addr[0], &sync0, 1);
+ xe_exec_sync(gpu2->fd, exec_queue[1], batch1_addr[1], &sync1, 1);
+
+ /* Wait for both ops to complete */
+ if (READ_ONCE(*sync_addr0) != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu1->fd, (uint64_t *)sync_addr0, EXEC_SYNC_VAL,
+ exec_queue[0], NSEC_PER_SEC * 10);
+ if (READ_ONCE(*sync_addr1) != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu2->fd, (uint64_t *)sync_addr1, EXEC_SYNC_VAL,
+ exec_queue[1], NSEC_PER_SEC * 10);
+
+ /* Create result buffer for GPU to copy the final value */
+ result = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(result);
+ WRITE_ONCE(*result, 0xDEADBEEF); // Initialize with known pattern
+
+ /* GPU2 --> copy from addr */
+ gpu_batch_create(gpu2, vm[1], exec_queue[1], addr, to_user_pointer(result),
+ &batch_bo[1], &batch_addr[1], flags, INIT);
+
+ /*GPU2: Madvise and Prefetch Ops */
+ gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1], to_user_pointer(result),
+ &batch_addr[1], flags, NULL);
+
+ /* Check which write won (or if we got a mix) */
+ coh_result = READ_ONCE(*result);
+
+ if (coh_result == (BATCH_VALUE + 10))
+ igt_info("GPU1's write won the race\n");
+ else if (coh_result == (BATCH_VALUE + 20))
+ igt_info("GPU2's write won the race\n");
+ else if (coh_result == 0)
+ igt_warn("Both writes failed - coherency issue\n");
+ else
+ igt_warn("Unexpected value 0x%lx - possible coherency corruption\n",
+ coh_result);
+
+ munmap((void *)batch1_addr[0], BATCH_SIZE(gpu1->fd));
+ munmap((void *)batch1_addr[1], BATCH_SIZE(gpu2->fd));
+
+ batch_fini(gpu1->fd, vm[0], batch1_bo[0], batch1_addr[0]);
+ batch_fini(gpu2->fd, vm[1], batch1_bo[1], batch1_addr[1]);
+ free(result);
+ }
+
+ munmap((void *)batch_addr[0], BATCH_SIZE(gpu1->fd));
+ munmap((void *)batch_addr[1], BATCH_SIZE(gpu2->fd));
+ batch_fini(gpu1->fd, vm[0], batch_bo[0], batch_addr[0]);
+ batch_fini(gpu2->fd, vm[1], batch_bo[1], batch_addr[1]);
+ free(data1);
+ free(copy_dst);
+
+ cleanup_vm_and_queue(gpu1, vm[0], exec_queue[0]);
+ cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]);
+}
+
static void
gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
struct xe_svm_gpu_info *dst,
@@ -528,6 +726,18 @@ gpu_atomic_inc_wrapper(struct xe_svm_gpu_info *src,
atomic_inc_op(src, dst, eci, flags);
}
+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,
+ unsigned int flags)
+{
+ igt_assert(src);
+ igt_assert(dst);
+
+ coherency_test_multigpu(src, dst, eci, flags);
+}
+
static void
test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
struct drm_xe_engine_class_instance *eci,
@@ -537,6 +747,8 @@ test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_mem_access_wrapper, flags);
if (flags & MULTIGPU_ATOMIC_OP)
for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_atomic_inc_wrapper, flags);
+ if (flags & MULTIGPU_COH_OP)
+ for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_coherecy_test_wrapper, flags);
}
struct section {
@@ -561,6 +773,11 @@ igt_main
{ "xgpu-access-prefetch", MULTIGPU_PREFETCH | MULTIGPU_XGPU_ACCESS },
{ "atomic-op-basic", MULTIGPU_ATOMIC_OP },
{ "atomic-op-prefetch", MULTIGPU_PREFETCH | MULTIGPU_ATOMIC_OP },
+ { "coherency-basic", MULTIGPU_COH_OP },
+ { "coherency-fail-basic", MULTIGPU_COH_OP | MULTIGPU_COH_FAIL },
+ { "coherency-prefetch", MULTIGPU_PREFETCH | MULTIGPU_COH_OP },
+ { "coherency-fail-prefetch",
+ MULTIGPU_PREFETCH | MULTIGPU_COH_OP | MULTIGPU_COH_FAIL},
{ NULL },
};
--
2.48.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v11 06/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU performance test
2025-12-04 5:10 [PATCH v11 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (4 preceding siblings ...)
2025-12-04 5:10 ` [PATCH v11 05/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU coherency test nishit.sharma
@ 2025-12-04 5:10 ` nishit.sharma
2025-12-04 8:42 ` Hellstrom, Thomas
2025-12-04 5:10 ` [PATCH v11 07/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU fault handling test nishit.sharma
` (7 subsequent siblings)
13 siblings, 1 reply; 20+ messages in thread
From: nishit.sharma @ 2025-12-04 5:10 UTC (permalink / raw)
To: igt-dev, nishit.sharma, thomas.hellstrom
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>
Reviewed-by: Pravalika Gurram <pravalika.gurram@intel.com>
---
tests/intel/xe_multigpu_svm.c | 244 +++++++++++++++++++++++++++++++++-
1 file changed, 243 insertions(+), 1 deletion(-)
diff --git a/tests/intel/xe_multigpu_svm.c b/tests/intel/xe_multigpu_svm.c
index b48c4dd2c..d37043e16 100644
--- a/tests/intel/xe_multigpu_svm.c
+++ b/tests/intel/xe_multigpu_svm.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"
@@ -67,6 +69,26 @@
* Test concurrent write race conditions with prefetch to verify coherency
* behavior and memory migration when multiple GPUs compete for same location
*
+ * SUBTEST: mgpu-latency-basic
+ * Description:
+ * Measure basic cross-GPU memory access latency where one GPU writes
+ * and another GPU reads without prefetch to evaluate remote access overhead
+ *
+ * SUBTEST: mgpu-latency-prefetch
+ * Description:
+ * Measure cross-GPU memory access latency with explicit prefetch to
+ * evaluate memory migration overhead and local access performance
+ *
+ * SUBTEST: mgpu-latency-copy-basic
+ * Description:
+ * Measure latency of cross-GPU memory copy operations where one GPU
+ * copies data from another GPU's memory without prefetch
+ *
+ * SUBTEST: mgpu-latency-copy-prefetch
+ * Description:
+ * Measure latency of cross-GPU memory copy operations with prefetch
+ * to evaluate copy performance with memory migration to local VRAM
+ *
*/
#define MAX_XE_REGIONS 8
@@ -84,6 +106,8 @@
#define MULTIGPU_ATOMIC_OP BIT(3)
#define MULTIGPU_COH_OP BIT(4)
#define MULTIGPU_COH_FAIL BIT(5)
+#define MULTIGPU_PERF_OP BIT(6)
+#define MULTIGPU_PERF_REM_COPY BIT(7)
#define INIT 2
#define STORE 3
@@ -134,6 +158,11 @@ static void gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
unsigned int flags);
+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,
+ unsigned int flags);
+
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)
@@ -223,6 +252,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)
@@ -373,12 +407,46 @@ mgpu_check_fault_support(struct xe_svm_gpu_info *gpu1,
return ret;
}
+static void
+store_dword_batch_init_1k(int fd, uint32_t vm, uint64_t src_addr,
+ uint32_t *bo, uint64_t *addr, int value)
+{
+ int max_cmds = (4096 - sizeof(uint32_t)) / 16;
+ 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;
+
+ for (int j = 0; j < max_cmds; j++) {
+ uint64_t offset = src_addr + j * 4;
+
+ cmd[i++] = MI_STORE_DWORD_IMM_GEN4;
+ cmd[i++] = offset;
+ cmd[i++] = offset >> 32;
+ cmd[i++] = value;
+ }
+ cmd[i++] = MI_BATCH_BUFFER_END;
+
+ batch_addr = to_user_pointer(batch);
+
+ xe_vm_bind_lr_sync(fd, vm, batch_bo, 0, batch_addr, batch_bo_size, 0);
+ *bo = batch_bo;
+ *addr = batch_addr;
+}
+
static void
gpu_madvise_exec_sync(struct xe_svm_gpu_info *gpu, uint32_t vm, uint32_t exec_queue,
uint64_t dst_addr, uint64_t *batch_addr, unsigned int flags,
void *perf)
{
struct drm_xe_sync sync = {};
+ struct timespec t_start, t_end;
uint64_t *sync_addr;
xe_multigpu_madvise(gpu->fd, vm, dst_addr, SZ_4K, 0,
@@ -395,10 +463,19 @@ gpu_madvise_exec_sync(struct xe_svm_gpu_info *gpu, uint32_t vm, uint32_t exec_qu
sync.timeline_value = EXEC_SYNC_VAL;
WRITE_ONCE(*sync_addr, 0);
+ if (flags & MULTIGPU_PERF_OP)
+ clock_gettime(CLOCK_MONOTONIC, &t_start);
+
xe_exec_sync(gpu->fd, exec_queue, *batch_addr, &sync, 1);
if (READ_ONCE(*sync_addr) != EXEC_SYNC_VAL)
xe_wait_ufence(gpu->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL, exec_queue,
NSEC_PER_SEC * 10);
+
+ if (flags & MULTIGPU_PERF_OP) {
+ clock_gettime(CLOCK_MONOTONIC, &t_end);
+ if (perf)
+ *(double *)perf = time_diff(&t_start, &t_end);
+ }
}
static void
@@ -415,7 +492,12 @@ gpu_batch_create(struct xe_svm_gpu_info *gpu, uint32_t vm, uint32_t exec_queue,
batch_init(gpu->fd, vm, src_addr, dst_addr, SZ_4K, batch_bo, batch_addr);
break;
case DWORD:
- store_dword_batch_init(gpu->fd, vm, src_addr, batch_bo, batch_addr, BATCH_VALUE);
+ if (flags & MULTIGPU_PERF_OP) {
+ store_dword_batch_init_1k(gpu->fd, vm, src_addr, batch_bo,
+ batch_addr, BATCH_VALUE);
+ } else
+ store_dword_batch_init(gpu->fd, vm, src_addr, batch_bo,
+ batch_addr, BATCH_VALUE);
break;
default:
igt_assert(!"Unknown batch op_type");
@@ -702,6 +784,146 @@ coherency_test_multigpu(struct xe_svm_gpu_info *gpu1,
cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]);
}
+static void
+latency_test_multigpu(struct xe_svm_gpu_info *gpu1,
+ struct xe_svm_gpu_info *gpu2,
+ struct drm_xe_engine_class_instance *eci,
+ unsigned int flags)
+{
+ uint64_t addr;
+ uint32_t vm[2];
+ uint32_t exec_queue[2];
+ uint32_t batch_bo[2];
+ uint8_t *copy_dst;
+ uint64_t batch_addr[2];
+ struct test_exec_data *data;
+ double gpu1_latency, gpu2_latency;
+ double gpu1_bw, gpu2_bw;
+ uint32_t final_value;
+
+ /* Skip if either GPU doesn't support faults */
+ if (mgpu_check_fault_support(gpu1, gpu2))
+ return;
+
+ create_vm_and_queue(gpu1, eci, &vm[0], &exec_queue[0]);
+ create_vm_and_queue(gpu2, 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);
+
+ /* GPU1: Creating batch with predefined value */
+ gpu_batch_create(gpu1, vm[0], exec_queue[0], addr, 0,
+ &batch_bo[0], &batch_addr[0], flags, DWORD);
+
+ /*GPU1: Madvise and Prefetch Ops */
+ gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0], addr, &batch_addr[0],
+ flags, &gpu1_latency);
+
+ gpu1_bw = (SZ_1K / (gpu1_latency / 1e9)) / (1024.0 * 1024.0); //Written 1k
+
+ igt_info("GPU1 write with %s: Latency %.3f us, Bandwidth %.2f MB/s\n",
+ (flags & MULTIGPU_PREFETCH) ? "prefetch" : "noprefetch",
+ gpu1_latency / 1000.0, gpu1_bw);
+
+ /* Validate GPU1 performance */
+ if (flags & MULTIGPU_PREFETCH) {
+ if (gpu1_latency / 1000.0 > 5.0)
+ igt_warn("GPU1 write with prefetch slower than expected (%.3f us > 5us)\n",
+ gpu1_latency / 1000.0);
+ }
+
+ if (flags & MULTIGPU_PERF_REM_COPY) {
+ /*GPU2: Copy data from addr (written by GPU1) to its own buffer (copy_dst) */
+ gpu_batch_create(gpu2, vm[1], exec_queue[1], addr, to_user_pointer(copy_dst),
+ &batch_bo[1], &batch_addr[1], flags, INIT);
+
+ /*GPU2: Madvise and Prefetch Ops */
+ gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1], to_user_pointer(copy_dst),
+ &batch_addr[1], flags, &gpu2_latency);
+
+ gpu2_bw = (SZ_1K / (gpu2_latency / 1e9)) / (1024.0 * 1024.0);
+ final_value = *(uint32_t *)copy_dst;
+ igt_assert_eq(final_value, BATCH_VALUE);
+ } else {
+ /* GPU1 --> Creating batch with value and executing STORE op */
+ gpu_batch_create(gpu1, vm[0], exec_queue[0], addr, 0,
+ &batch_bo[0], &batch_addr[0], flags, DWORD);
+
+ /*GPU1: Madvise and Prefetch Ops */
+ gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0], addr, &batch_addr[0],
+ flags, &gpu1_latency);
+
+ /*GPU2: Copy data from addr (written by GPU1) to its own buffer (copy_dst) */
+ gpu_batch_create(gpu2, vm[1], exec_queue[1], addr, to_user_pointer(copy_dst),
+ &batch_bo[1], &batch_addr[1], flags, INIT);
+
+ /*GPU2: Madvise and Prefetch Ops */
+ gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1], to_user_pointer(copy_dst),
+ &batch_addr[1], flags, &gpu2_latency);
+
+ gpu2_latency += gpu1_latency;
+ gpu2_bw = (SZ_1K / (gpu2_latency / 1e9)) / (1024.0 * 1024.0);
+ final_value = READ_ONCE(*(uint32_t *)copy_dst);
+ igt_assert_eq(final_value, BATCH_VALUE);
+ }
+
+ igt_info("GPU2 %s copy: Latency %.3f us, Bandwidth %.2f MB/s\n",
+ (flags & MULTIGPU_PERF_REM_COPY) ? "remote" : "local",
+ gpu2_latency / 1000.0, gpu2_bw);
+
+ /* Validate GPU2 performance based on scenario */
+ if (flags & MULTIGPU_PERF_REM_COPY) {
+ if (flags & MULTIGPU_PREFETCH) {
+ /* Remote copy with prefetch: expect 0.2-1us */
+ if (gpu2_latency / 1000.0 > 1.0)
+ igt_warn("GPU2 remote copy with prefetch slower than expected (%.3f us > 1us)\n",
+ gpu2_latency / 1000.0);
+ } else {
+ /* Remote copy without prefetch: expect 1-4us */
+ if (gpu2_latency / 1000.0 > 10.0)
+ igt_warn("GPU2 P2P remote copy is very slow (%.3f us > 10us)\n",
+ gpu2_latency / 1000.0);
+ }
+ } else {
+ if (flags & MULTIGPU_PREFETCH) {
+ /* Local write with prefetch: expect 0.1-0.5us */
+ if (gpu2_latency / 1000.0 > 1.0)
+ igt_warn("GPU2 local write with prefetch slower than expected (%.3f us > 1us)\n",
+ gpu2_latency / 1000.0);
+ }
+ }
+
+ /* Bandwidth comparison */
+ if (gpu2_bw > gpu1_bw)
+ igt_info("GPU2 has %.2fx better bandwidth than GPU1\n", gpu2_bw / gpu1_bw);
+ else
+ igt_info("GPU1 has %.2fx better bandwidth than GPU2\n", gpu1_bw / gpu2_bw);
+
+ /* Overall prefetch effectiveness check */
+ if (flags & MULTIGPU_PREFETCH) {
+ if ((gpu1_latency / 1000.0) < 5.0 && (gpu2_latency / 1000.0) < 5.0)
+ igt_info("Prefetch providing expected performance benefit\n");
+ else
+ igt_warn("Prefetch not providing expected performance benefit\n");
+ }
+
+ munmap((void *)batch_addr[0], BATCH_SIZE(gpu1->fd));
+ munmap((void *)batch_addr[1], BATCH_SIZE(gpu2->fd));
+
+ batch_fini(gpu1->fd, vm[0], batch_bo[0], batch_addr[0]);
+ batch_fini(gpu2->fd, vm[1], batch_bo[1], batch_addr[1]);
+ free(data);
+ free(copy_dst);
+
+ cleanup_vm_and_queue(gpu1, vm[0], exec_queue[0]);
+ cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]);
+}
+
static void
gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
struct xe_svm_gpu_info *dst,
@@ -738,6 +960,18 @@ gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
coherency_test_multigpu(src, dst, eci, flags);
}
+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,
+ unsigned int flags)
+{
+ igt_assert(src);
+ igt_assert(dst);
+
+ latency_test_multigpu(src, dst, eci, flags);
+}
+
static void
test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
struct drm_xe_engine_class_instance *eci,
@@ -749,6 +983,8 @@ test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_atomic_inc_wrapper, flags);
if (flags & MULTIGPU_COH_OP)
for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_coherecy_test_wrapper, flags);
+ if (flags & MULTIGPU_PERF_OP)
+ for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_latency_test_wrapper, flags);
}
struct section {
@@ -778,6 +1014,12 @@ igt_main
{ "coherency-prefetch", MULTIGPU_PREFETCH | MULTIGPU_COH_OP },
{ "coherency-fail-prefetch",
MULTIGPU_PREFETCH | MULTIGPU_COH_OP | MULTIGPU_COH_FAIL},
+ { "latency-basic", MULTIGPU_PERF_OP },
+ { "latency-copy-basic",
+ MULTIGPU_PERF_OP | MULTIGPU_PERF_REM_COPY },
+ { "latency-prefetch", MULTIGPU_PREFETCH | MULTIGPU_PERF_OP },
+ { "latency-copy-prefetch",
+ MULTIGPU_PREFETCH | MULTIGPU_PERF_OP | MULTIGPU_PERF_REM_COPY },
{ NULL },
};
--
2.48.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v11 07/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU fault handling test
2025-12-04 5:10 [PATCH v11 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (5 preceding siblings ...)
2025-12-04 5:10 ` [PATCH v11 06/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU performance test nishit.sharma
@ 2025-12-04 5:10 ` nishit.sharma
2025-12-04 7:16 ` Hellstrom, Thomas
2025-12-04 5:10 ` [PATCH v11 08/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU simultaneous access test nishit.sharma
` (6 subsequent siblings)
13 siblings, 1 reply; 20+ messages in thread
From: nishit.sharma @ 2025-12-04 5:10 UTC (permalink / raw)
To: igt-dev, nishit.sharma, thomas.hellstrom
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>
Reviewed-by: Pravalika Gurram <pravalika.gurram@intel.com>
---
tests/intel/xe_multigpu_svm.c | 143 ++++++++++++++++++++++++++++++++++
1 file changed, 143 insertions(+)
diff --git a/tests/intel/xe_multigpu_svm.c b/tests/intel/xe_multigpu_svm.c
index d37043e16..4a0a28229 100644
--- a/tests/intel/xe_multigpu_svm.c
+++ b/tests/intel/xe_multigpu_svm.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"
@@ -89,6 +90,17 @@
* Measure latency of cross-GPU memory copy operations with prefetch
* to evaluate copy performance with memory migration to local VRAM
*
+ * SUBTEST: mgpu-pagefault-basic
+ * Description:
+ * Test cross-GPU page fault handling where one GPU writes to memory
+ * and another GPU reads, triggering page faults without prefetch to
+ * validate on-demand page migration across GPUs
+ *
+ * SUBTEST: mgpu-pagefault-prefetch
+ * Description:
+ * Test cross-GPU memory access with prefetch to verify page fault
+ * suppression when memory is pre-migrated to target GPU's VRAM
+ *
*/
#define MAX_XE_REGIONS 8
@@ -108,6 +120,7 @@
#define MULTIGPU_COH_FAIL BIT(5)
#define MULTIGPU_PERF_OP BIT(6)
#define MULTIGPU_PERF_REM_COPY BIT(7)
+#define MULTIGPU_PFAULT_OP BIT(8)
#define INIT 2
#define STORE 3
@@ -163,6 +176,11 @@ static void gpu_latency_test_wrapper(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
unsigned int flags);
+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,
+ unsigned int flags);
+
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)
@@ -924,6 +942,115 @@ latency_test_multigpu(struct xe_svm_gpu_info *gpu1,
cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]);
}
+static void
+pagefault_test_multigpu(struct xe_svm_gpu_info *gpu1,
+ struct xe_svm_gpu_info *gpu2,
+ struct drm_xe_engine_class_instance *eci,
+ unsigned int flags)
+{
+ uint64_t addr;
+ uint64_t addr1;
+ uint32_t vm[2];
+ uint32_t exec_queue[2];
+ uint32_t batch_bo[2];
+ uint64_t batch_addr[2];
+ struct drm_xe_sync sync = {};
+ uint64_t *sync_addr;
+ void *data, *verify_result;
+ const char *pf_count_stat = "svm_pagefault_count";
+ int pf_count_gpu1_before, pf_count_gpu1_after;
+ int pf_count_gpu2_before, pf_count_gpu2_after;
+ bool prefetch_req = flags & MULTIGPU_PREFETCH;
+
+ /* Skip if either GPU doesn't support faults */
+ if (mgpu_check_fault_support(gpu1, gpu2))
+ return;
+
+ create_vm_and_queue(gpu1, eci, &vm[0], &exec_queue[0]);
+ create_vm_and_queue(gpu2, eci, &vm[1], &exec_queue[1]);
+
+ data = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(data);
+ memset(data, 0, SZ_4K);
+ addr = to_user_pointer(data);
+
+ /* Allocate verification buffer for GPU2 to copy into */
+ verify_result = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(verify_result);
+ addr1 = to_user_pointer(verify_result);
+
+ /* === Phase 1: GPU1 writes to addr === */
+ pf_count_gpu1_before = xe_gt_stats_get_count(gpu1->fd, eci->gt_id, pf_count_stat);
+
+ /* GPU1 --> Creating batch with value and executing STORE op */
+ gpu_batch_create(gpu1, vm[0], exec_queue[0], addr, 0,
+ &batch_bo[0], &batch_addr[0], flags, DWORD);
+
+ /*GPU1: Madvise and Prefetch Ops */
+ gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0], addr, &batch_addr[0], flags, NULL);
+
+ pf_count_gpu1_after = xe_gt_stats_get_count(gpu1->fd, eci->gt_id, pf_count_stat);
+
+ if (prefetch_req) {
+ /* With prefetch: expect NO page faults */
+ igt_assert_eq(pf_count_gpu1_after, pf_count_gpu1_before);
+ igt_info("GPU1 write with prefetch: No page faults (as expected)\n");
+ } else {
+ /* Without prefetch: expect page faults */
+ igt_warn_on_f(pf_count_gpu1_after > pf_count_gpu1_before,
+ "%d page faults generated on GPU1\n",
+ pf_count_gpu1_after - pf_count_gpu1_before);
+ igt_info("GPU1 write without prefetch: %d page faults\n",
+ pf_count_gpu1_after - pf_count_gpu1_before);
+ }
+
+ /* === Phase 2: GPU2 reads from addr (cross-GPU access) === */
+ pf_count_gpu2_before = xe_gt_stats_get_count(gpu2->fd, eci->gt_id, pf_count_stat);
+
+ /* GPU2 --> Create batch for GPU2 to copy from addr (GPU1's memory) to verify_result */
+ gpu_batch_create(gpu2, vm[1], exec_queue[1], addr, addr1,
+ &batch_bo[1], &batch_addr[1], flags, INIT);
+
+ /* Prefetch src buffer (addr) to avoid page faults */
+ xe_multigpu_madvise(gpu2->fd, vm[1], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu2->fd, 0, gpu2->vram_regions[0], exec_queue[1]);
+
+ setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
+ xe_multigpu_prefetch(gpu2->fd, vm[1], addr, SZ_4K, &sync,
+ sync_addr, exec_queue[1], flags);
+
+ free(sync_addr);
+
+ /*GPU2: Madvise and Prefetch Ops */
+ gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1], addr1, &batch_addr[1], flags, NULL);
+
+ pf_count_gpu2_after = xe_gt_stats_get_count(gpu2->fd, eci->gt_id, pf_count_stat);
+
+ if (prefetch_req) {
+ /* With prefetch: expect NO page faults on GPU2 */
+ igt_assert_eq(pf_count_gpu2_after, pf_count_gpu2_before);
+ igt_info("GPU2 cross-GPU read with prefetch: No page faults (as expected)\n");
+ } else {
+ /* Without prefetch: expect cross-GPU page faults */
+ igt_warn_on_f(pf_count_gpu2_after > pf_count_gpu2_before,
+ "%d page faults generated on GPU2\n",
+ pf_count_gpu2_after - pf_count_gpu2_before);
+ igt_info("GPU2 cross-GPU read without prefetch: %d page faults\n",
+ pf_count_gpu2_after - pf_count_gpu2_before);
+ }
+
+ munmap((void *)batch_addr[0], BATCH_SIZE(gpu1->fd));
+ munmap((void *)batch_addr[1], BATCH_SIZE(gpu2->fd));
+ batch_fini(gpu1->fd, vm[0], batch_bo[0], batch_addr[0]);
+ batch_fini(gpu2->fd, vm[1], batch_bo[1], batch_addr[0]);
+ free(data);
+ free(verify_result);
+
+ cleanup_vm_and_queue(gpu1, vm[0], exec_queue[0]);
+ cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]);
+}
+
static void
gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
struct xe_svm_gpu_info *dst,
@@ -972,6 +1099,18 @@ gpu_latency_test_wrapper(struct xe_svm_gpu_info *src,
latency_test_multigpu(src, dst, eci, flags);
}
+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,
+ unsigned int flags)
+{
+ igt_assert(src);
+ igt_assert(dst);
+
+ pagefault_test_multigpu(src, dst, eci, flags);
+}
+
static void
test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
struct drm_xe_engine_class_instance *eci,
@@ -985,6 +1124,8 @@ test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_coherecy_test_wrapper, flags);
if (flags & MULTIGPU_PERF_OP)
for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_latency_test_wrapper, flags);
+ if (flags & MULTIGPU_PFAULT_OP)
+ for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_fault_test_wrapper, flags);
}
struct section {
@@ -1020,6 +1161,8 @@ igt_main
{ "latency-prefetch", MULTIGPU_PREFETCH | MULTIGPU_PERF_OP },
{ "latency-copy-prefetch",
MULTIGPU_PREFETCH | MULTIGPU_PERF_OP | MULTIGPU_PERF_REM_COPY },
+ { "pagefault-basic", MULTIGPU_PFAULT_OP },
+ { "pagefault-prefetch", MULTIGPU_PREFETCH | MULTIGPU_PFAULT_OP },
{ NULL },
};
--
2.48.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v11 08/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU simultaneous access test
2025-12-04 5:10 [PATCH v11 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (6 preceding siblings ...)
2025-12-04 5:10 ` [PATCH v11 07/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU fault handling test nishit.sharma
@ 2025-12-04 5:10 ` nishit.sharma
2025-12-04 5:10 ` [PATCH v11 09/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU conflicting madvise test nishit.sharma
` (5 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: nishit.sharma @ 2025-12-04 5:10 UTC (permalink / raw)
To: igt-dev, nishit.sharma, thomas.hellstrom
From: Nishit Sharma <nishit.sharma@intel.com>
This test launches atomic increment workloads on two GPUs in parallel,
both accessing the same SVM buffer. It verifies that concurrent atomic
operations from multiple GPUs produce the expected result, ensuring data
integrity and the absence of race conditions in a
multi-GPU SVM environment.
Signed-off-by: Nishit Sharma <nishit.sharma@intel.com>
Reviewed-by: Pravalika Gurram <pravalika.gurram@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
tests/intel/xe_multigpu_svm.c | 193 ++++++++++++++++++++++++++++++++++
1 file changed, 193 insertions(+)
diff --git a/tests/intel/xe_multigpu_svm.c b/tests/intel/xe_multigpu_svm.c
index 4a0a28229..bf57fae7d 100644
--- a/tests/intel/xe_multigpu_svm.c
+++ b/tests/intel/xe_multigpu_svm.c
@@ -13,6 +13,7 @@
#include "intel_mocs.h"
#include "intel_reg.h"
+#include "intel_gpu_commands.h"
#include "time.h"
#include "xe/xe_gt.h"
@@ -101,6 +102,17 @@
* Test cross-GPU memory access with prefetch to verify page fault
* suppression when memory is pre-migrated to target GPU's VRAM
*
+ * SUBTEST: mgpu-concurrent-access-basic
+ * Description:
+ * Test concurrent atomic memory operations where multiple GPUs
+ * simultaneously access and modify the same memory location without
+ * prefetch to validate cross-GPU coherency and synchronization
+ *
+ * SUBTEST: mgpu-concurrent-access-prefetch
+ * Description:
+ * Test concurrent atomic memory operations with prefetch where
+ * multiple GPUs simultaneously access shared memory to validate
+ * coherency with memory migration and local VRAM access
*/
#define MAX_XE_REGIONS 8
@@ -112,6 +124,7 @@
#define COPY_SIZE SZ_64M
#define ATOMIC_OP_VAL 56
#define BATCH_VALUE 60
+#define NUM_ITER 200
#define MULTIGPU_PREFETCH BIT(1)
#define MULTIGPU_XGPU_ACCESS BIT(2)
@@ -121,6 +134,7 @@
#define MULTIGPU_PERF_OP BIT(6)
#define MULTIGPU_PERF_REM_COPY BIT(7)
#define MULTIGPU_PFAULT_OP BIT(8)
+#define MULTIGPU_CONC_ACCESS BIT(9)
#define INIT 2
#define STORE 3
@@ -181,6 +195,11 @@ static void gpu_fault_test_wrapper(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
unsigned int flags);
+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,
+ unsigned int flags);
+
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)
@@ -1051,6 +1070,164 @@ pagefault_test_multigpu(struct xe_svm_gpu_info *gpu1,
cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]);
}
+static void
+multigpu_access_test(struct xe_svm_gpu_info *gpu1,
+ struct xe_svm_gpu_info *gpu2,
+ struct drm_xe_engine_class_instance *eci,
+ unsigned int flags)
+{
+ 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] = {};
+ uint64_t *sync_addr[2];
+ uint32_t verify_batch_bo;
+ uint64_t verify_batch_addr;
+ uint64_t *verify_result;
+ uint32_t final_value;
+ uint64_t final_timeline;
+
+ /* Skip if either GPU doesn't support faults */
+ if (mgpu_check_fault_support(gpu1, gpu2))
+ return;
+
+ create_vm_and_queue(gpu1, eci, &vm[0], &exec_queue[0]);
+ create_vm_and_queue(gpu2, 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);
+
+ WRITE_ONCE(*(uint64_t *)addr, 0);
+
+ /* GPU1: Atomic Batch create */
+ gpu_batch_create(gpu1, vm[0], exec_queue[0], addr, 0,
+ &batch_bo[0], &batch_addr[0], flags, ATOMIC);
+ /* GPU2: Atomic Batch create */
+ gpu_batch_create(gpu2, vm[1], exec_queue[1], addr, 0,
+ &batch_bo[1], &batch_addr[1], flags, ATOMIC);
+
+ /* gpu_madvise_sync calls xe_exec() also, here intention is different */
+ xe_multigpu_madvise(gpu1->fd, vm[0], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_ATOMIC,
+ DRM_XE_ATOMIC_GLOBAL, 0, 0, exec_queue[0]);
+
+ 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]);
+
+ xe_multigpu_madvise(gpu2->fd, vm[1], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_ATOMIC,
+ DRM_XE_ATOMIC_GLOBAL, 0, 0, exec_queue[1]);
+
+ xe_multigpu_madvise(gpu2->fd, vm[1], addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu2->fd, 0, gpu2->vram_regions[0], exec_queue[1]);
+
+ setup_sync(&sync[0], &sync_addr[0], BIND_SYNC_VAL);
+ setup_sync(&sync[1], &sync_addr[1], BIND_SYNC_VAL);
+
+ xe_multigpu_prefetch(gpu1->fd, vm[0], addr, SZ_4K, &sync[0],
+ sync_addr[0], exec_queue[0], flags);
+
+ xe_multigpu_prefetch(gpu2->fd, vm[1], addr, SZ_4K, &sync[1],
+ sync_addr[1], exec_queue[1], flags);
+
+ free(sync_addr[0]);
+ free(sync_addr[1]);
+
+ igt_info("Starting %d concurrent atomic increment iterations\n", NUM_ITER);
+ for (int i = 0; i < NUM_ITER; i++) {
+ bool last = (i == NUM_ITER - 1);
+
+ if (last) {
+ sync_addr[0] = (void *)((char *)batch_addr[0] + SZ_4K);
+ sync[0].flags = DRM_XE_SYNC_FLAG_SIGNAL;
+ sync[0].type = DRM_XE_SYNC_TYPE_USER_FENCE;
+ sync[0].addr = to_user_pointer((uint64_t *)sync_addr[0]);
+ sync[0].timeline_value = EXEC_SYNC_VAL + i;
+ WRITE_ONCE(*sync_addr[0], 0);
+
+ sync_addr[1] = (void *)((char *)batch_addr[1] + SZ_4K);
+ sync[1].flags = DRM_XE_SYNC_FLAG_SIGNAL;
+ sync[1].type = DRM_XE_SYNC_TYPE_USER_FENCE;
+ sync[1].addr = to_user_pointer((uint64_t *)sync_addr[1]);
+ sync[1].timeline_value = EXEC_SYNC_VAL + i;
+ WRITE_ONCE(*sync_addr[1], 0);
+ }
+
+ /* === CONCURRENT EXECUTION: Launch both GPUs simultaneously === */
+ xe_exec_sync(gpu1->fd, exec_queue[0], batch_addr[0],
+ last ? &sync[0] : NULL, last ? 1 : 0);
+
+ xe_exec_sync(gpu2->fd, exec_queue[1], batch_addr[1],
+ last ? &sync[1] : NULL, last ? 1 : 0);
+ }
+
+ /* NOW wait only for the last operations to complete */
+ final_timeline = EXEC_SYNC_VAL + NUM_ITER - 1;
+ if (NUM_ITER > 0) {
+ if (READ_ONCE(*sync_addr[0]) != final_timeline)
+ xe_wait_ufence(gpu1->fd, (uint64_t *)sync_addr[0], final_timeline,
+ exec_queue[0], NSEC_PER_SEC * 30);
+
+ if (READ_ONCE(*sync_addr[1]) != final_timeline)
+ xe_wait_ufence(gpu2->fd, (uint64_t *)sync_addr[1], final_timeline,
+ exec_queue[1], NSEC_PER_SEC * 30);
+ }
+
+ igt_info("Both GPUs completed execution %u\n", READ_ONCE(*(uint32_t *)addr));
+
+ /* === Verification using GPU read (not CPU) === */
+ verify_result = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(verify_result);
+ memset(verify_result, 0xDE, SZ_4K);
+
+ /* Use GPU1 to read final value */
+ gpu_batch_create(gpu1, vm[0], exec_queue[0], addr, to_user_pointer(verify_result),
+ &verify_batch_bo, &verify_batch_addr, flags, INIT);
+
+ sync_addr[0] = (void *)((char *)verify_batch_addr + SZ_4K);
+ sync[0].addr = to_user_pointer((uint64_t *)sync_addr[0]);
+ sync[0].timeline_value = EXEC_SYNC_VAL;
+ sync[0].flags = DRM_XE_SYNC_FLAG_SIGNAL;
+ sync[0].type = DRM_XE_SYNC_TYPE_USER_FENCE;
+ WRITE_ONCE(*sync_addr[0], 0);
+
+ xe_exec_sync(gpu1->fd, exec_queue[0], verify_batch_addr, &sync[0], 1);
+ if (READ_ONCE(*sync_addr[0]) != EXEC_SYNC_VAL)
+ xe_wait_ufence(gpu1->fd, (uint64_t *)sync_addr[0], EXEC_SYNC_VAL,
+ exec_queue[0], NSEC_PER_SEC * 10);
+
+ /* NOW CPU can read verify_result */
+ final_value = READ_ONCE(*(uint32_t *)verify_result);
+
+ igt_info("GPU verification batch copied value: %u\n", final_value);
+ igt_info("CPU direct read shows: %u\n", (unsigned int)*(uint64_t *)addr);
+
+ /* Expected: 0 + (NUM_ITER * 2 GPUs) = 400 */
+ igt_assert_f((final_value == 2 * NUM_ITER),
+ "Expected %u value, got %u\n",
+ 2 * NUM_ITER, final_value);
+
+ munmap((void *)verify_batch_addr, BATCH_SIZE(gpu1->fd));
+ batch_fini(gpu1->fd, vm[0], verify_batch_bo, verify_batch_addr);
+ free(verify_result);
+
+ munmap((void *)batch_addr[0], BATCH_SIZE(gpu1->fd));
+ munmap((void *)batch_addr[1], BATCH_SIZE(gpu2->fd));
+ batch_fini(gpu1->fd, vm[0], batch_bo[0], batch_addr[0]);
+ batch_fini(gpu2->fd, vm[1], batch_bo[1], batch_addr[1]);
+ free(data);
+
+ cleanup_vm_and_queue(gpu1, vm[0], exec_queue[0]);
+ cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]);
+}
+
static void
gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
struct xe_svm_gpu_info *dst,
@@ -1111,6 +1288,18 @@ gpu_fault_test_wrapper(struct xe_svm_gpu_info *src,
pagefault_test_multigpu(src, dst, eci, flags);
}
+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,
+ unsigned int flags)
+{
+ igt_assert(src);
+ igt_assert(dst);
+
+ multigpu_access_test(src, dst, eci, flags);
+}
+
static void
test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
struct drm_xe_engine_class_instance *eci,
@@ -1126,6 +1315,8 @@ test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_latency_test_wrapper, flags);
if (flags & MULTIGPU_PFAULT_OP)
for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_fault_test_wrapper, flags);
+ if (flags & MULTIGPU_CONC_ACCESS)
+ for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_simult_test_wrapper, flags);
}
struct section {
@@ -1163,6 +1354,8 @@ igt_main
MULTIGPU_PREFETCH | MULTIGPU_PERF_OP | MULTIGPU_PERF_REM_COPY },
{ "pagefault-basic", MULTIGPU_PFAULT_OP },
{ "pagefault-prefetch", MULTIGPU_PREFETCH | MULTIGPU_PFAULT_OP },
+ { "concurrent-access-basic", MULTIGPU_CONC_ACCESS },
+ { "concurrent-access-prefetch", MULTIGPU_PREFETCH | MULTIGPU_CONC_ACCESS },
{ NULL },
};
--
2.48.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v11 09/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU conflicting madvise test
2025-12-04 5:10 [PATCH v11 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (7 preceding siblings ...)
2025-12-04 5:10 ` [PATCH v11 08/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU simultaneous access test nishit.sharma
@ 2025-12-04 5:10 ` nishit.sharma
2025-12-04 7:24 ` Hellstrom, Thomas
2025-12-04 5:10 ` [PATCH v11 10/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU migration test nishit.sharma
` (4 subsequent siblings)
13 siblings, 1 reply; 20+ messages in thread
From: nishit.sharma @ 2025-12-04 5:10 UTC (permalink / raw)
To: igt-dev, nishit.sharma, thomas.hellstrom
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>
Reviewed-by: Pravalika Gurram <pravalika.gurram@intel.com>
---
tests/intel/xe_multigpu_svm.c | 91 +++++++++++++++++++++++++----------
1 file changed, 65 insertions(+), 26 deletions(-)
diff --git a/tests/intel/xe_multigpu_svm.c b/tests/intel/xe_multigpu_svm.c
index bf57fae7d..0ad4b336d 100644
--- a/tests/intel/xe_multigpu_svm.c
+++ b/tests/intel/xe_multigpu_svm.c
@@ -113,6 +113,19 @@
* Test concurrent atomic memory operations with prefetch where
* multiple GPUs simultaneously access shared memory to validate
* coherency with memory migration and local VRAM access
+ *
+ * SUBTEST: mgpu-atomic-op-conflict
+ * Description:
+ * Multi-GPU atomic operation with conflicting madvise regions
+ *
+ * SUBTEST: mgpu-coherency-conflict
+ * Description:
+ * Multi-GPU coherency test with conflicting madvise regions
+ *
+ * SUBTEST: mgpu-pagefault-conflict
+ * Description:
+ * Multi-GPU page fault test with conflicting madvise regions
+ *
*/
#define MAX_XE_REGIONS 8
@@ -126,6 +139,9 @@
#define BATCH_VALUE 60
#define NUM_ITER 200
+#define USER_FENCE_VALUE 0xdeadbeefdeadbeefull
+#define FIVE_SEC (5LL * NSEC_PER_SEC)
+
#define MULTIGPU_PREFETCH BIT(1)
#define MULTIGPU_XGPU_ACCESS BIT(2)
#define MULTIGPU_ATOMIC_OP BIT(3)
@@ -135,6 +151,7 @@
#define MULTIGPU_PERF_REM_COPY BIT(7)
#define MULTIGPU_PFAULT_OP BIT(8)
#define MULTIGPU_CONC_ACCESS BIT(9)
+#define MULTIGPU_CONFLICT BIT(10)
#define INIT 2
#define STORE 3
@@ -478,7 +495,8 @@ store_dword_batch_init_1k(int fd, uint32_t vm, uint64_t src_addr,
}
static void
-gpu_madvise_exec_sync(struct xe_svm_gpu_info *gpu, uint32_t vm, uint32_t exec_queue,
+gpu_madvise_exec_sync(struct xe_svm_gpu_info *gpu, struct xe_svm_gpu_info *xgpu,
+ uint32_t vm, uint32_t exec_queue,
uint64_t dst_addr, uint64_t *batch_addr, unsigned int flags,
void *perf)
{
@@ -486,9 +504,15 @@ gpu_madvise_exec_sync(struct xe_svm_gpu_info *gpu, uint32_t vm, uint32_t exec_qu
struct timespec t_start, t_end;
uint64_t *sync_addr;
- xe_multigpu_madvise(gpu->fd, vm, dst_addr, SZ_4K, 0,
- DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
- gpu->fd, 0, gpu->vram_regions[0], exec_queue);
+ if (flags & MULTIGPU_CONFLICT) {
+ xe_multigpu_madvise(gpu->fd, vm, dst_addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ xgpu->fd, 0, xgpu->vram_regions[0], exec_queue);
+ } else {
+ xe_multigpu_madvise(gpu->fd, vm, dst_addr, SZ_4K, 0,
+ DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
+ gpu->fd, 0, gpu->vram_regions[0], exec_queue);
+ }
setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
xe_multigpu_prefetch(gpu->fd, vm, dst_addr, SZ_4K, &sync,
@@ -640,26 +664,27 @@ atomic_inc_op(struct xe_svm_gpu_info *gpu1,
&batch_bo[0], &batch_addr[0], flags, ATOMIC);
/*GPU1: Madvise and Prefetch Ops */
- gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0], addr, &batch_addr[0], flags, NULL);
+ gpu_madvise_exec_sync(gpu1, gpu2, vm[0], exec_queue[0], addr, &batch_addr[0], flags, NULL);
- /* GPU2 --> copy from GPU1 */
gpu_batch_create(gpu2, vm[1], exec_queue[1], addr, to_user_pointer(copy_dst),
&batch_bo[1], &batch_addr[1], flags, INIT);
- /*GPU2: Madvise and Prefetch Ops */
- gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1], to_user_pointer(copy_dst),
+ gpu_madvise_exec_sync(gpu2, gpu1, vm[1], exec_queue[1], to_user_pointer(copy_dst),
&batch_addr[1], flags, NULL);
- /* NOW CPU can read copy_dst (GPU2 ATOMIC op) */
final_value = *(uint32_t *)copy_dst;
- igt_assert_eq(final_value, ATOMIC_OP_VAL);
+ if ((flags & MULTIGPU_CONFLICT))
+ igt_info("Buffer inaccesible in conflict madvise\n");
+ else
+ igt_assert_eq(final_value, ATOMIC_OP_VAL);
/* GPU2: Atomic Batch create */
gpu_batch_create(gpu2, vm[1], exec_queue[1], to_user_pointer(copy_dst), 0,
&batch_bo[1], &batch_addr[1], flags, ATOMIC);
/*GPU2: Madvise and Prefetch Ops */
- gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1], to_user_pointer(copy_dst),
+ gpu_madvise_exec_sync(gpu2, gpu1, vm[1], exec_queue[1],
+ to_user_pointer(copy_dst),
&batch_addr[1], flags, NULL);
/* GPU1 --> copy from GPU2 */
@@ -667,11 +692,16 @@ atomic_inc_op(struct xe_svm_gpu_info *gpu1,
&batch_bo[0], &batch_addr[0], flags, INIT);
/*GPU1: Madvise and Prefetch Ops */
- gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[1], addr, &batch_addr[0], flags, NULL);
+ gpu_madvise_exec_sync(gpu1, gpu2, vm[0], exec_queue[0], addr,
+ &batch_addr[0], flags, NULL);
- /* NOW CPU can read addr (GPU1 ATOMIC op) */
final_value = *(uint32_t *)addr;
- igt_assert_eq(final_value, ATOMIC_OP_VAL + 1);
+ if ((flags & MULTIGPU_CONFLICT)) {
+ igt_info("Buffer inaccesible in conflict madvise\n");
+ } else {
+ /* NOW CPU can read copy_dst (GPU1 ATOMIC op) */
+ igt_assert_eq(final_value, ATOMIC_OP_VAL + 1);
+ }
munmap((void *)batch_addr[0], BATCH_SIZE(gpu1->fd));
munmap((void *)batch_addr[1], BATCH_SIZE(gpu2->fd));
@@ -718,7 +748,7 @@ coherency_test_multigpu(struct xe_svm_gpu_info *gpu1,
&batch_bo[0], &batch_addr[0], flags, DWORD);
/*GPU1: Madvise and Prefetch Ops */
- gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0], addr, &batch_addr[0],
+ gpu_madvise_exec_sync(gpu1, gpu2, vm[0], exec_queue[0], addr, &batch_addr[0],
flags, NULL);
/* GPU2 --> copy from GPU1 */
@@ -726,12 +756,16 @@ coherency_test_multigpu(struct xe_svm_gpu_info *gpu1,
&batch_bo[1], &batch_addr[1], flags, INIT);
/*GPU2: Madvise and Prefetch Ops */
- gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1], to_user_pointer(copy_dst),
+ gpu_madvise_exec_sync(gpu2, gpu1, vm[1], exec_queue[1], to_user_pointer(copy_dst),
&batch_addr[1], flags, NULL);
- /* verifying copy_dst (GPU2 INIT op) have correct value */
final_value = READ_ONCE(*(uint32_t *)copy_dst);
- igt_assert_eq(final_value, BATCH_VALUE);
+ if (flags & MULTIGPU_CONFLICT) {
+ igt_info("Buffer not accessible in conflict madvise\n");
+ } else {
+ /* verifying copy_dst (GPU2 INIT op) have correct value */
+ igt_assert_eq(final_value, BATCH_VALUE);
+ }
if (flags & MULTIGPU_COH_FAIL) {
struct drm_xe_sync sync0 = {}, sync1 = {};
@@ -786,7 +820,7 @@ coherency_test_multigpu(struct xe_svm_gpu_info *gpu1,
&batch_bo[1], &batch_addr[1], flags, INIT);
/*GPU2: Madvise and Prefetch Ops */
- gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1], to_user_pointer(result),
+ gpu_madvise_exec_sync(gpu2, gpu1, vm[1], exec_queue[1], to_user_pointer(result),
&batch_addr[1], flags, NULL);
/* Check which write won (or if we got a mix) */
@@ -858,7 +892,7 @@ latency_test_multigpu(struct xe_svm_gpu_info *gpu1,
&batch_bo[0], &batch_addr[0], flags, DWORD);
/*GPU1: Madvise and Prefetch Ops */
- gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0], addr, &batch_addr[0],
+ gpu_madvise_exec_sync(gpu1, gpu2, vm[0], exec_queue[0], addr, &batch_addr[0],
flags, &gpu1_latency);
gpu1_bw = (SZ_1K / (gpu1_latency / 1e9)) / (1024.0 * 1024.0); //Written 1k
@@ -880,7 +914,7 @@ latency_test_multigpu(struct xe_svm_gpu_info *gpu1,
&batch_bo[1], &batch_addr[1], flags, INIT);
/*GPU2: Madvise and Prefetch Ops */
- gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1], to_user_pointer(copy_dst),
+ gpu_madvise_exec_sync(gpu2, gpu1, vm[1], exec_queue[1], to_user_pointer(copy_dst),
&batch_addr[1], flags, &gpu2_latency);
gpu2_bw = (SZ_1K / (gpu2_latency / 1e9)) / (1024.0 * 1024.0);
@@ -892,15 +926,15 @@ latency_test_multigpu(struct xe_svm_gpu_info *gpu1,
&batch_bo[0], &batch_addr[0], flags, DWORD);
/*GPU1: Madvise and Prefetch Ops */
- gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0], addr, &batch_addr[0],
- flags, &gpu1_latency);
+ gpu_madvise_exec_sync(gpu1, gpu2, vm[0], exec_queue[0], addr,
+ &batch_addr[0], flags, &gpu1_latency);
/*GPU2: Copy data from addr (written by GPU1) to its own buffer (copy_dst) */
gpu_batch_create(gpu2, vm[1], exec_queue[1], addr, to_user_pointer(copy_dst),
&batch_bo[1], &batch_addr[1], flags, INIT);
/*GPU2: Madvise and Prefetch Ops */
- gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1], to_user_pointer(copy_dst),
+ gpu_madvise_exec_sync(gpu2, gpu1, vm[1], exec_queue[1], to_user_pointer(copy_dst),
&batch_addr[1], flags, &gpu2_latency);
gpu2_latency += gpu1_latency;
@@ -1006,7 +1040,8 @@ pagefault_test_multigpu(struct xe_svm_gpu_info *gpu1,
&batch_bo[0], &batch_addr[0], flags, DWORD);
/*GPU1: Madvise and Prefetch Ops */
- gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0], addr, &batch_addr[0], flags, NULL);
+ gpu_madvise_exec_sync(gpu1, gpu2, vm[0], exec_queue[0], addr, &batch_addr[0],
+ flags, NULL);
pf_count_gpu1_after = xe_gt_stats_get_count(gpu1->fd, eci->gt_id, pf_count_stat);
@@ -1042,7 +1077,8 @@ pagefault_test_multigpu(struct xe_svm_gpu_info *gpu1,
free(sync_addr);
/*GPU2: Madvise and Prefetch Ops */
- gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1], addr1, &batch_addr[1], flags, NULL);
+ gpu_madvise_exec_sync(gpu2, gpu1, vm[1], exec_queue[1], addr1, &batch_addr[1],
+ flags, NULL);
pf_count_gpu2_after = xe_gt_stats_get_count(gpu2->fd, eci->gt_id, pf_count_stat);
@@ -1341,9 +1377,11 @@ igt_main
{ "xgpu-access-prefetch", MULTIGPU_PREFETCH | MULTIGPU_XGPU_ACCESS },
{ "atomic-op-basic", MULTIGPU_ATOMIC_OP },
{ "atomic-op-prefetch", MULTIGPU_PREFETCH | MULTIGPU_ATOMIC_OP },
+ { "atomic-op-conflict", MULTIGPU_CONFLICT | MULTIGPU_ATOMIC_OP },
{ "coherency-basic", MULTIGPU_COH_OP },
{ "coherency-fail-basic", MULTIGPU_COH_OP | MULTIGPU_COH_FAIL },
{ "coherency-prefetch", MULTIGPU_PREFETCH | MULTIGPU_COH_OP },
+ { "coherency-conflict", MULTIGPU_CONFLICT | MULTIGPU_COH_OP },
{ "coherency-fail-prefetch",
MULTIGPU_PREFETCH | MULTIGPU_COH_OP | MULTIGPU_COH_FAIL},
{ "latency-basic", MULTIGPU_PERF_OP },
@@ -1354,6 +1392,7 @@ igt_main
MULTIGPU_PREFETCH | MULTIGPU_PERF_OP | MULTIGPU_PERF_REM_COPY },
{ "pagefault-basic", MULTIGPU_PFAULT_OP },
{ "pagefault-prefetch", MULTIGPU_PREFETCH | MULTIGPU_PFAULT_OP },
+ { "pagefault-conflict", MULTIGPU_CONFLICT | MULTIGPU_PFAULT_OP },
{ "concurrent-access-basic", MULTIGPU_CONC_ACCESS },
{ "concurrent-access-prefetch", MULTIGPU_PREFETCH | MULTIGPU_CONC_ACCESS },
{ NULL },
--
2.48.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v11 10/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU migration test
2025-12-04 5:10 [PATCH v11 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (8 preceding siblings ...)
2025-12-04 5:10 ` [PATCH v11 09/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU conflicting madvise test nishit.sharma
@ 2025-12-04 5:10 ` nishit.sharma
2025-12-04 6:18 ` ✓ Xe.CI.BAT: success for Madvise feature in SVM for Multi-GPU configs Patchwork
` (3 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: nishit.sharma @ 2025-12-04 5:10 UTC (permalink / raw)
To: igt-dev, nishit.sharma, thomas.hellstrom
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>
Reviewed-by: Pravalika Gurram <pravalika.gurram@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
tests/intel/xe_multigpu_svm.c | 122 ++++++++++++++++++++++++++++++++++
1 file changed, 122 insertions(+)
diff --git a/tests/intel/xe_multigpu_svm.c b/tests/intel/xe_multigpu_svm.c
index 0ad4b336d..c9e0ac3c1 100644
--- a/tests/intel/xe_multigpu_svm.c
+++ b/tests/intel/xe_multigpu_svm.c
@@ -126,6 +126,18 @@
* Description:
* Multi-GPU page fault test with conflicting madvise regions
*
+ * SUBTEST: mgpu-migration-basic
+ * Description:
+ * Test buffer migration across multiple GPUs and memory domains
+ * Validates that a shared buffer can migrate between system memory,
+ * GPU1 VRAM, and GPU2 VRAM while maintaining data coherency.
+ *
+ * SUBTEST: mgpu-migration-prefetch
+ * Description:
+ * Test buffer migration across multiple GPUs with explicit prefetch operations
+ * Similar to mgpu-migration-basic but uses XE_VM_PREFETCH_ASYNC to explicitly
+ * trigger page migration before GPU access
+ *
*/
#define MAX_XE_REGIONS 8
@@ -152,6 +164,7 @@
#define MULTIGPU_PFAULT_OP BIT(8)
#define MULTIGPU_CONC_ACCESS BIT(9)
#define MULTIGPU_CONFLICT BIT(10)
+#define MULTIGPU_MIGRATE BIT(11)
#define INIT 2
#define STORE 3
@@ -217,6 +230,10 @@ static void gpu_simult_test_wrapper(struct xe_svm_gpu_info *src,
struct drm_xe_engine_class_instance *eci,
unsigned int flags);
+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,
+ unsigned int flags);
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)
@@ -1264,6 +1281,95 @@ multigpu_access_test(struct xe_svm_gpu_info *gpu1,
cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]);
}
+static void
+multigpu_migrate_test(struct xe_svm_gpu_info *gpu1,
+ struct xe_svm_gpu_info *gpu2,
+ struct drm_xe_engine_class_instance *eci,
+ unsigned int flags)
+{
+ uint64_t addr;
+ uint32_t vm[2], exec_queue[2], batch1_bo[2];
+ uint64_t batch1_addr[2];
+ uint64_t *data;
+ uint32_t test_pattern_sys, test_pattern_gpu1, test_pattern_gpu2;
+ void *copy_dst;
+ uint32_t final_value;
+
+ test_pattern_sys = 0x12345678;
+ test_pattern_gpu1 = 0xDEADBEEF;
+ test_pattern_gpu2 = 0xCAFEBABE;
+
+ /* Skip if either GPU doesn't support faults */
+ if (!gpu1->supports_faults || !gpu2->supports_faults) {
+ igt_debug("Both GPUs must support page faults for this test\n");
+ return;
+ }
+
+ create_vm_and_queue(gpu1, eci, &vm[0], &exec_queue[0]);
+ create_vm_and_queue(gpu2, eci, &vm[1], &exec_queue[1]);
+
+ data = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(data);
+ memset(data, 0, SZ_4K);
+ addr = to_user_pointer(data);
+
+ copy_dst = aligned_alloc(SZ_2M, SZ_4K);
+ igt_assert(copy_dst);
+
+ igt_info("=== Phase 1: System Memory → GPU1 VRAM ===\n");
+
+ /* CPU writes initial pattern in system memory */
+ WRITE_ONCE(*(uint32_t *)data, test_pattern_sys);
+ igt_info("CPU wrote 0x%x to system memory\n", test_pattern_sys);
+
+ /* GPU1 writes new pattern - should happen in GPU1 VRAM */
+ store_dword_batch_init(gpu1->fd, vm[0], addr, &batch1_bo[0], &batch1_addr[0],
+ test_pattern_gpu1);
+
+ /*GPU1: Madvise and Prefetch Ops with preferred location GPU1 VRAM */
+ gpu_madvise_exec_sync(gpu1, gpu2, vm[0], exec_queue[0], addr, &batch1_addr[0],
+ flags, NULL);
+
+ igt_info("=== Phase 2: GPU1 VRAM → GPU2 VRAM ===\n");
+
+ /* GPU2: copy GPU1's value */
+ gpu_batch_create(gpu2, vm[1], exec_queue[1], addr, to_user_pointer(copy_dst),
+ &batch1_bo[1], &batch1_addr[1], flags, INIT);
+
+ /*GPU2: Madvise and Prefetch Ops with preferred location GPU2 VRAM */
+ gpu_madvise_exec_sync(gpu2, gpu1, vm[1], exec_queue[1], to_user_pointer(copy_dst),
+ &batch1_addr[1], flags, NULL);
+
+ /* Verify GPU1 wrote correctly */
+ final_value = *(uint32_t *)copy_dst;
+ igt_assert_eq_u32(final_value, test_pattern_gpu1);
+
+ igt_info("=== Phase 3: GPU2 VRAM → System Memory ===\n");
+
+ /* GPU2 writes new pattern - should happen in GPU2 VRAM */
+ store_dword_batch_init(gpu2->fd, vm[1], to_user_pointer(copy_dst),
+ &batch1_bo[1], &batch1_addr[1], test_pattern_gpu2);
+
+ /*GPU2: Madvise and Prefetch Ops with preferred location GPU2 VRAM */
+ gpu_madvise_exec_sync(gpu2, gpu1, vm[1], exec_queue[1], to_user_pointer(copy_dst),
+ &batch1_addr[1], flags, NULL);
+
+ /* CPU access should migrate back to system memory */
+ igt_assert_eq_u32(READ_ONCE(*(uint32_t *)copy_dst), test_pattern_gpu2);
+
+ igt_info("Migration test completed successfully\n");
+
+ munmap((void *)batch1_addr[0], BATCH_SIZE(gpu1->fd));
+ munmap((void *)batch1_addr[1], BATCH_SIZE(gpu2->fd));
+ batch_fini(gpu1->fd, vm[0], batch1_bo[0], batch1_addr[0]);
+ batch_fini(gpu2->fd, vm[1], batch1_bo[1], batch1_addr[1]);
+ free(data);
+ free(copy_dst);
+
+ cleanup_vm_and_queue(gpu1, vm[0], exec_queue[0]);
+ cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]);
+}
+
static void
gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
struct xe_svm_gpu_info *dst,
@@ -1336,6 +1442,18 @@ gpu_simult_test_wrapper(struct xe_svm_gpu_info *src,
multigpu_access_test(src, dst, eci, flags);
}
+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,
+ unsigned int flags)
+{
+ igt_assert(src);
+ igt_assert(dst);
+
+ multigpu_migrate_test(src, dst, eci, flags);
+}
+
static void
test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
struct drm_xe_engine_class_instance *eci,
@@ -1353,6 +1471,8 @@ test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_fault_test_wrapper, flags);
if (flags & MULTIGPU_CONC_ACCESS)
for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_simult_test_wrapper, flags);
+ if (flags & MULTIGPU_MIGRATE)
+ for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_migration_test_wrapper, flags);
}
struct section {
@@ -1395,6 +1515,8 @@ igt_main
{ "pagefault-conflict", MULTIGPU_CONFLICT | MULTIGPU_PFAULT_OP },
{ "concurrent-access-basic", MULTIGPU_CONC_ACCESS },
{ "concurrent-access-prefetch", MULTIGPU_PREFETCH | MULTIGPU_CONC_ACCESS },
+ { "migration-basic", MULTIGPU_MIGRATE },
+ { "migration-prefetch", MULTIGPU_PREFETCH | MULTIGPU_MIGRATE },
{ NULL },
};
--
2.48.1
^ permalink raw reply related [flat|nested] 20+ messages in thread
* ✓ Xe.CI.BAT: success for Madvise feature in SVM for Multi-GPU configs
2025-12-04 5:10 [PATCH v11 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (9 preceding siblings ...)
2025-12-04 5:10 ` [PATCH v11 10/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU migration test nishit.sharma
@ 2025-12-04 6:18 ` Patchwork
2025-12-04 6:21 ` ✓ i915.CI.BAT: " Patchwork
` (2 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2025-12-04 6:18 UTC (permalink / raw)
To: nishit.sharma; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 4334 bytes --]
== Series Details ==
Series: Madvise feature in SVM for Multi-GPU configs
URL : https://patchwork.freedesktop.org/series/158459/
State : success
== Summary ==
CI Bug Log - changes from XEIGT_8654_BAT -> XEIGTPW_14154_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (12 -> 12)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in XEIGTPW_14154_BAT:
### IGT changes ###
#### Possible regressions ####
* {igt@xe_multigpu_svm@mgpu-pagefault-conflict} (NEW):
- bat-bmg-3: NOTRUN -> [FAIL][1] +20 other tests fail
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/bat-bmg-3/igt@xe_multigpu_svm@mgpu-pagefault-conflict.html
New tests
---------
New tests have been introduced between XEIGT_8654_BAT and XEIGTPW_14154_BAT:
### New IGT tests (21) ###
* igt@xe_multigpu_svm@mgpu-atomic-op-basic:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-atomic-op-conflict:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-atomic-op-prefetch:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-coherency-basic:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-coherency-conflict:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-coherency-fail-basic:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-coherency-fail-prefetch:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-coherency-prefetch:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-concurrent-access-basic:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-concurrent-access-prefetch:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-latency-basic:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-latency-copy-basic:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-latency-copy-prefetch:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-latency-prefetch:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-migration-basic:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-migration-prefetch:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-pagefault-basic:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-pagefault-conflict:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-pagefault-prefetch:
- Statuses : 1 fail(s)
- Exec time: [0.01] s
* igt@xe_multigpu_svm@mgpu-xgpu-access-basic:
- Statuses : 1 fail(s)
- Exec time: [0.09] s
* igt@xe_multigpu_svm@mgpu-xgpu-access-prefetch:
- Statuses : 1 fail(s)
- Exec time: [0.09] s
Known issues
------------
Here are the changes found in XEIGTPW_14154_BAT that come from known issues:
### IGT changes ###
#### Possible fixes ####
* igt@xe_waitfence@reltime:
- bat-dg2-oem2: [FAIL][2] ([Intel XE#6520]) -> [PASS][3]
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/bat-dg2-oem2/igt@xe_waitfence@reltime.html
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/bat-dg2-oem2/igt@xe_waitfence@reltime.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#6520]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6520
Build changes
-------------
* IGT: IGT_8654 -> IGTPW_14154
IGTPW_14154: 098ea3c08db6e757f07569377531fbadbf3f5288 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8654: 38d9fde0432aa6f2bf6add062f1d4334ad467fbc @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-4193-2d16d4e1aef3cb501fcd37c8558dafeb579be813: 2d16d4e1aef3cb501fcd37c8558dafeb579be813
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/index.html
[-- Attachment #2: Type: text/html, Size: 5565 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* ✓ i915.CI.BAT: success for Madvise feature in SVM for Multi-GPU configs
2025-12-04 5:10 [PATCH v11 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (10 preceding siblings ...)
2025-12-04 6:18 ` ✓ Xe.CI.BAT: success for Madvise feature in SVM for Multi-GPU configs Patchwork
@ 2025-12-04 6:21 ` Patchwork
2025-12-04 7:27 ` ✗ Xe.CI.Full: failure " Patchwork
2025-12-05 14:06 ` ✓ i915.CI.Full: success " Patchwork
13 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2025-12-04 6:21 UTC (permalink / raw)
To: nishit.sharma; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 4342 bytes --]
== Series Details ==
Series: Madvise feature in SVM for Multi-GPU configs
URL : https://patchwork.freedesktop.org/series/158459/
State : success
== Summary ==
CI Bug Log - changes from IGT_8654 -> IGTPW_14154
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/index.html
Participating hosts (45 -> 43)
------------------------------
Missing (2): fi-snb-2520m bat-adls-6
Known issues
------------
Here are the changes found in IGTPW_14154 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@dmabuf@all-tests@dma_fence_chain:
- fi-bsw-n3050: NOTRUN -> [SKIP][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/fi-bsw-n3050/igt@dmabuf@all-tests@dma_fence_chain.html
* igt@i915_selftest@live:
- bat-dg2-8: [PASS][2] -> [DMESG-FAIL][3] ([i915#12061]) +1 other test dmesg-fail
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/bat-dg2-8/igt@i915_selftest@live.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/bat-dg2-8/igt@i915_selftest@live.html
- bat-jsl-1: [PASS][4] -> [DMESG-FAIL][5] ([i915#15281]) +1 other test dmesg-fail
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/bat-jsl-1/igt@i915_selftest@live.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/bat-jsl-1/igt@i915_selftest@live.html
* igt@i915_selftest@live@gt_mocs:
- bat-twl-2: [PASS][6] -> [ABORT][7] ([i915#14365]) +1 other test abort
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/bat-twl-2/igt@i915_selftest@live@gt_mocs.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/bat-twl-2/igt@i915_selftest@live@gt_mocs.html
* igt@i915_selftest@live@workarounds:
- bat-dg2-9: [PASS][8] -> [DMESG-FAIL][9] ([i915#12061]) +1 other test dmesg-fail
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/bat-dg2-9/igt@i915_selftest@live@workarounds.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/bat-dg2-9/igt@i915_selftest@live@workarounds.html
- bat-mtlp-9: [PASS][10] -> [DMESG-FAIL][11] ([i915#12061]) +1 other test dmesg-fail
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
#### Possible fixes ####
* igt@i915_selftest@live@workarounds:
- fi-bsw-n3050: [ABORT][12] ([i915#15373]) -> [PASS][13] +1 other test pass
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/fi-bsw-n3050/igt@i915_selftest@live@workarounds.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/fi-bsw-n3050/igt@i915_selftest@live@workarounds.html
- bat-mtlp-6: [DMESG-FAIL][14] ([i915#12061]) -> [PASS][15] +1 other test pass
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
- bat-dg2-11: [DMESG-FAIL][16] ([i915#12061]) -> [PASS][17] +1 other test pass
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/bat-dg2-11/igt@i915_selftest@live@workarounds.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/bat-dg2-11/igt@i915_selftest@live@workarounds.html
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#14365]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14365
[i915#15281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15281
[i915#15373]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15373
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_8654 -> IGTPW_14154
CI-20190529: 20190529
CI_DRM_17632: 2d16d4e1aef3cb501fcd37c8558dafeb579be813 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_14154: 098ea3c08db6e757f07569377531fbadbf3f5288 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8654: 38d9fde0432aa6f2bf6add062f1d4334ad467fbc @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/index.html
[-- Attachment #2: Type: text/html, Size: 5361 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v11 07/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU fault handling test
2025-12-04 5:10 ` [PATCH v11 07/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU fault handling test nishit.sharma
@ 2025-12-04 7:16 ` Hellstrom, Thomas
0 siblings, 0 replies; 20+ messages in thread
From: Hellstrom, Thomas @ 2025-12-04 7:16 UTC (permalink / raw)
To: igt-dev@lists.freedesktop.org, Sharma, Nishit
On Thu, 2025-12-04 at 05:10 +0000, nishit.sharma@intel.com wrote:
> 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>
> Reviewed-by: Pravalika Gurram <pravalika.gurram@intel.com>
Acked-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> ---
> tests/intel/xe_multigpu_svm.c | 143
> ++++++++++++++++++++++++++++++++++
> 1 file changed, 143 insertions(+)
>
> diff --git a/tests/intel/xe_multigpu_svm.c
> b/tests/intel/xe_multigpu_svm.c
> index d37043e16..4a0a28229 100644
> --- a/tests/intel/xe_multigpu_svm.c
> +++ b/tests/intel/xe_multigpu_svm.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"
> @@ -89,6 +90,17 @@
> * Measure latency of cross-GPU memory copy operations with
> prefetch
> * to evaluate copy performance with memory migration to local
> VRAM
> *
> + * SUBTEST: mgpu-pagefault-basic
> + * Description:
> + * Test cross-GPU page fault handling where one GPU writes to
> memory
> + * and another GPU reads, triggering page faults without
> prefetch to
> + * validate on-demand page migration across GPUs
> + *
> + * SUBTEST: mgpu-pagefault-prefetch
> + * Description:
> + * Test cross-GPU memory access with prefetch to verify page
> fault
> + * suppression when memory is pre-migrated to target GPU's VRAM
> + *
> */
>
> #define MAX_XE_REGIONS 8
> @@ -108,6 +120,7 @@
> #define MULTIGPU_COH_FAIL BIT(5)
> #define MULTIGPU_PERF_OP BIT(6)
> #define MULTIGPU_PERF_REM_COPY BIT(7)
> +#define MULTIGPU_PFAULT_OP BIT(8)
>
> #define INIT 2
> #define STORE 3
> @@ -163,6 +176,11 @@ static void gpu_latency_test_wrapper(struct
> xe_svm_gpu_info *src,
> struct
> drm_xe_engine_class_instance *eci,
> unsigned int flags);
>
> +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,
> + unsigned int flags);
> +
> 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)
> @@ -924,6 +942,115 @@ latency_test_multigpu(struct xe_svm_gpu_info
> *gpu1,
> cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]);
> }
>
> +static void
> +pagefault_test_multigpu(struct xe_svm_gpu_info *gpu1,
> + struct xe_svm_gpu_info *gpu2,
> + struct drm_xe_engine_class_instance *eci,
> + unsigned int flags)
> +{
> + uint64_t addr;
> + uint64_t addr1;
> + uint32_t vm[2];
> + uint32_t exec_queue[2];
> + uint32_t batch_bo[2];
> + uint64_t batch_addr[2];
> + struct drm_xe_sync sync = {};
> + uint64_t *sync_addr;
> + void *data, *verify_result;
> + const char *pf_count_stat = "svm_pagefault_count";
> + int pf_count_gpu1_before, pf_count_gpu1_after;
> + int pf_count_gpu2_before, pf_count_gpu2_after;
> + bool prefetch_req = flags & MULTIGPU_PREFETCH;
> +
> + /* Skip if either GPU doesn't support faults */
> + if (mgpu_check_fault_support(gpu1, gpu2))
> + return;
> +
> + create_vm_and_queue(gpu1, eci, &vm[0], &exec_queue[0]);
> + create_vm_and_queue(gpu2, eci, &vm[1], &exec_queue[1]);
> +
> + data = aligned_alloc(SZ_2M, SZ_4K);
> + igt_assert(data);
> + memset(data, 0, SZ_4K);
> + addr = to_user_pointer(data);
> +
> + /* Allocate verification buffer for GPU2 to copy into */
> + verify_result = aligned_alloc(SZ_2M, SZ_4K);
> + igt_assert(verify_result);
> + addr1 = to_user_pointer(verify_result);
> +
> + /* === Phase 1: GPU1 writes to addr === */
> + pf_count_gpu1_before = xe_gt_stats_get_count(gpu1->fd, eci-
> >gt_id, pf_count_stat);
> +
> + /* GPU1 --> Creating batch with value and executing STORE op
> */
> + gpu_batch_create(gpu1, vm[0], exec_queue[0], addr, 0,
> + &batch_bo[0], &batch_addr[0], flags,
> DWORD);
> +
> + /*GPU1: Madvise and Prefetch Ops */
> + gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0], addr,
> &batch_addr[0], flags, NULL);
> +
> + pf_count_gpu1_after = xe_gt_stats_get_count(gpu1->fd, eci-
> >gt_id, pf_count_stat);
> +
> + if (prefetch_req) {
> + /* With prefetch: expect NO page faults */
> + igt_assert_eq(pf_count_gpu1_after,
> pf_count_gpu1_before);
> + igt_info("GPU1 write with prefetch: No page faults
> (as expected)\n");
> + } else {
> + /* Without prefetch: expect page faults */
> + igt_warn_on_f(pf_count_gpu1_after >
> pf_count_gpu1_before,
> + "%d page faults generated on GPU1\n",
> + pf_count_gpu1_after -
> pf_count_gpu1_before);
> + igt_info("GPU1 write without prefetch: %d page
> faults\n",
> + pf_count_gpu1_after -
> pf_count_gpu1_before);
> + }
> +
> + /* === Phase 2: GPU2 reads from addr (cross-GPU access) ===
> */
> + pf_count_gpu2_before = xe_gt_stats_get_count(gpu2->fd, eci-
> >gt_id, pf_count_stat);
> +
> + /* GPU2 --> Create batch for GPU2 to copy from addr (GPU1's
> memory) to verify_result */
> + gpu_batch_create(gpu2, vm[1], exec_queue[1], addr, addr1,
> + &batch_bo[1], &batch_addr[1], flags, INIT);
> +
> + /* Prefetch src buffer (addr) to avoid page faults */
> + xe_multigpu_madvise(gpu2->fd, vm[1], addr, SZ_4K, 0,
> + DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
> + gpu2->fd, 0, gpu2->vram_regions[0],
> exec_queue[1]);
> +
> + setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
> + xe_multigpu_prefetch(gpu2->fd, vm[1], addr, SZ_4K, &sync,
> + sync_addr, exec_queue[1], flags);
> +
> + free(sync_addr);
> +
> + /*GPU2: Madvise and Prefetch Ops */
> + gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1], addr1,
> &batch_addr[1], flags, NULL);
> +
> + pf_count_gpu2_after = xe_gt_stats_get_count(gpu2->fd, eci-
> >gt_id, pf_count_stat);
> +
> + if (prefetch_req) {
> + /* With prefetch: expect NO page faults on GPU2 */
> + igt_assert_eq(pf_count_gpu2_after,
> pf_count_gpu2_before);
> + igt_info("GPU2 cross-GPU read with prefetch: No page
> faults (as expected)\n");
> + } else {
> + /* Without prefetch: expect cross-GPU page faults */
> + igt_warn_on_f(pf_count_gpu2_after >
> pf_count_gpu2_before,
> + "%d page faults generated on GPU2\n",
> + pf_count_gpu2_after -
> pf_count_gpu2_before);
> + igt_info("GPU2 cross-GPU read without prefetch: %d
> page faults\n",
> + pf_count_gpu2_after -
> pf_count_gpu2_before);
> + }
> +
> + munmap((void *)batch_addr[0], BATCH_SIZE(gpu1->fd));
> + munmap((void *)batch_addr[1], BATCH_SIZE(gpu2->fd));
> + batch_fini(gpu1->fd, vm[0], batch_bo[0], batch_addr[0]);
> + batch_fini(gpu2->fd, vm[1], batch_bo[1], batch_addr[0]);
> + free(data);
> + free(verify_result);
> +
> + cleanup_vm_and_queue(gpu1, vm[0], exec_queue[0]);
> + cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]);
> +}
> +
> static void
> gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
> struct xe_svm_gpu_info *dst,
> @@ -972,6 +1099,18 @@ gpu_latency_test_wrapper(struct xe_svm_gpu_info
> *src,
> latency_test_multigpu(src, dst, eci, flags);
> }
>
> +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,
> + unsigned int flags)
> +{
> + igt_assert(src);
> + igt_assert(dst);
> +
> + pagefault_test_multigpu(src, dst, eci, flags);
> +}
> +
> static void
> test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
> struct drm_xe_engine_class_instance *eci,
> @@ -985,6 +1124,8 @@ test_mgpu_exec(int gpu_cnt, struct
> xe_svm_gpu_info *gpus,
> for_each_gpu_pair(gpu_cnt, gpus, eci,
> gpu_coherecy_test_wrapper, flags);
> if (flags & MULTIGPU_PERF_OP)
> for_each_gpu_pair(gpu_cnt, gpus, eci,
> gpu_latency_test_wrapper, flags);
> + if (flags & MULTIGPU_PFAULT_OP)
> + for_each_gpu_pair(gpu_cnt, gpus, eci,
> gpu_fault_test_wrapper, flags);
> }
>
> struct section {
> @@ -1020,6 +1161,8 @@ igt_main
> { "latency-prefetch", MULTIGPU_PREFETCH |
> MULTIGPU_PERF_OP },
> { "latency-copy-prefetch",
> MULTIGPU_PREFETCH | MULTIGPU_PERF_OP |
> MULTIGPU_PERF_REM_COPY },
> + { "pagefault-basic", MULTIGPU_PFAULT_OP },
> + { "pagefault-prefetch", MULTIGPU_PREFETCH |
> MULTIGPU_PFAULT_OP },
> { NULL },
> };
>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v11 09/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU conflicting madvise test
2025-12-04 5:10 ` [PATCH v11 09/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU conflicting madvise test nishit.sharma
@ 2025-12-04 7:24 ` Hellstrom, Thomas
0 siblings, 0 replies; 20+ messages in thread
From: Hellstrom, Thomas @ 2025-12-04 7:24 UTC (permalink / raw)
To: igt-dev@lists.freedesktop.org, Sharma, Nishit
On Thu, 2025-12-04 at 05:10 +0000, nishit.sharma@intel.com wrote:
> 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>
> Reviewed-by: Pravalika Gurram <pravalika.gurram@intel.com>
> ---
> tests/intel/xe_multigpu_svm.c | 91 +++++++++++++++++++++++++--------
> --
> 1 file changed, 65 insertions(+), 26 deletions(-)
>
> diff --git a/tests/intel/xe_multigpu_svm.c
> b/tests/intel/xe_multigpu_svm.c
> index bf57fae7d..0ad4b336d 100644
> --- a/tests/intel/xe_multigpu_svm.c
> +++ b/tests/intel/xe_multigpu_svm.c
> @@ -113,6 +113,19 @@
> * Test concurrent atomic memory operations with prefetch where
> * multiple GPUs simultaneously access shared memory to
> validate
> * coherency with memory migration and local VRAM access
> + *
> + * SUBTEST: mgpu-atomic-op-conflict
> + * Description:
> + * Multi-GPU atomic operation with conflicting madvise regions
> + *
> + * SUBTEST: mgpu-coherency-conflict
> + * Description:
> + * Multi-GPU coherency test with conflicting madvise regions
> + *
> + * SUBTEST: mgpu-pagefault-conflict
> + * Description:
> + * Multi-GPU page fault test with conflicting madvise regions
> + *
> */
>
> #define MAX_XE_REGIONS 8
> @@ -126,6 +139,9 @@
> #define BATCH_VALUE 60
> #define NUM_ITER 200
>
> +#define USER_FENCE_VALUE 0xdeadbeefdeadbeefull
> +#define FIVE_SEC (5LL * NSEC_PER_SEC)
> +
> #define MULTIGPU_PREFETCH BIT(1)
> #define MULTIGPU_XGPU_ACCESS BIT(2)
> #define MULTIGPU_ATOMIC_OP BIT(3)
> @@ -135,6 +151,7 @@
> #define MULTIGPU_PERF_REM_COPY BIT(7)
> #define MULTIGPU_PFAULT_OP BIT(8)
> #define MULTIGPU_CONC_ACCESS BIT(9)
> +#define MULTIGPU_CONFLICT BIT(10)
>
> #define INIT 2
> #define STORE 3
> @@ -478,7 +495,8 @@ store_dword_batch_init_1k(int fd, uint32_t vm,
> uint64_t src_addr,
> }
>
> static void
> -gpu_madvise_exec_sync(struct xe_svm_gpu_info *gpu, uint32_t vm,
> uint32_t exec_queue,
> +gpu_madvise_exec_sync(struct xe_svm_gpu_info *gpu, struct
> xe_svm_gpu_info *xgpu,
> + uint32_t vm, uint32_t exec_queue,
> uint64_t dst_addr, uint64_t *batch_addr,
> unsigned int flags,
> void *perf)
> {
> @@ -486,9 +504,15 @@ gpu_madvise_exec_sync(struct xe_svm_gpu_info
> *gpu, uint32_t vm, uint32_t exec_qu
> struct timespec t_start, t_end;
> uint64_t *sync_addr;
>
> - xe_multigpu_madvise(gpu->fd, vm, dst_addr, SZ_4K, 0,
> - DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
> - gpu->fd, 0, gpu->vram_regions[0],
> exec_queue);
> + if (flags & MULTIGPU_CONFLICT) {
> + xe_multigpu_madvise(gpu->fd, vm, dst_addr, SZ_4K, 0,
> +
> DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
> + xgpu->fd, 0, xgpu-
> >vram_regions[0], exec_queue);
> + } else {
> + xe_multigpu_madvise(gpu->fd, vm, dst_addr, SZ_4K, 0,
> +
> DRM_XE_MEM_RANGE_ATTR_PREFERRED_LOC,
> + gpu->fd, 0, gpu-
> >vram_regions[0], exec_queue);
> + }
>
> setup_sync(&sync, &sync_addr, BIND_SYNC_VAL);
> xe_multigpu_prefetch(gpu->fd, vm, dst_addr, SZ_4K, &sync,
> @@ -640,26 +664,27 @@ atomic_inc_op(struct xe_svm_gpu_info *gpu1,
> &batch_bo[0], &batch_addr[0], flags,
> ATOMIC);
>
> /*GPU1: Madvise and Prefetch Ops */
> - gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0], addr,
> &batch_addr[0], flags, NULL);
> + gpu_madvise_exec_sync(gpu1, gpu2, vm[0], exec_queue[0],
> addr, &batch_addr[0], flags, NULL);
>
> - /* GPU2 --> copy from GPU1 */
> gpu_batch_create(gpu2, vm[1], exec_queue[1], addr,
> to_user_pointer(copy_dst),
> &batch_bo[1], &batch_addr[1], flags, INIT);
>
> - /*GPU2: Madvise and Prefetch Ops */
> - gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1],
> to_user_pointer(copy_dst),
> + gpu_madvise_exec_sync(gpu2, gpu1, vm[1], exec_queue[1],
> to_user_pointer(copy_dst),
> &batch_addr[1], flags, NULL);
>
> - /* NOW CPU can read copy_dst (GPU2 ATOMIC op) */
> final_value = *(uint32_t *)copy_dst;
> - igt_assert_eq(final_value, ATOMIC_OP_VAL);
> + if ((flags & MULTIGPU_CONFLICT))
> + igt_info("Buffer inaccesible in conflict
> madvise\n");
But why are you taking a separate path here? The buffer is *not*
inaccessible, since as pointed out yesterday the preferred location
madvise is just a performance hint.
If the test fails in the below assert, then it should fail and there is
a KMD bug. You should *never* try to work around non root-caused test
failures because we have igt tests to detect KMD bugs.
Thanks,
Thomas
> + else
> + igt_assert_eq(final_value, ATOMIC_OP_VAL);
>
> /* GPU2: Atomic Batch create */
> gpu_batch_create(gpu2, vm[1], exec_queue[1],
> to_user_pointer(copy_dst), 0,
> &batch_bo[1], &batch_addr[1], flags,
> ATOMIC);
>
> /*GPU2: Madvise and Prefetch Ops */
> - gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1],
> to_user_pointer(copy_dst),
> + gpu_madvise_exec_sync(gpu2, gpu1, vm[1], exec_queue[1],
> + to_user_pointer(copy_dst),
> &batch_addr[1], flags, NULL);
>
> /* GPU1 --> copy from GPU2 */
> @@ -667,11 +692,16 @@ atomic_inc_op(struct xe_svm_gpu_info *gpu1,
> &batch_bo[0], &batch_addr[0], flags, INIT);
>
> /*GPU1: Madvise and Prefetch Ops */
> - gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[1], addr,
> &batch_addr[0], flags, NULL);
> + gpu_madvise_exec_sync(gpu1, gpu2, vm[0], exec_queue[0],
> addr,
> + &batch_addr[0], flags, NULL);
>
> - /* NOW CPU can read addr (GPU1 ATOMIC op) */
> final_value = *(uint32_t *)addr;
> - igt_assert_eq(final_value, ATOMIC_OP_VAL + 1);
> + if ((flags & MULTIGPU_CONFLICT)) {
> + igt_info("Buffer inaccesible in conflict
> madvise\n");
> + } else {
> + /* NOW CPU can read copy_dst (GPU1 ATOMIC op) */
> + igt_assert_eq(final_value, ATOMIC_OP_VAL + 1);
> + }
>
> munmap((void *)batch_addr[0], BATCH_SIZE(gpu1->fd));
> munmap((void *)batch_addr[1], BATCH_SIZE(gpu2->fd));
> @@ -718,7 +748,7 @@ coherency_test_multigpu(struct xe_svm_gpu_info
> *gpu1,
> &batch_bo[0], &batch_addr[0], flags,
> DWORD);
>
> /*GPU1: Madvise and Prefetch Ops */
> - gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0], addr,
> &batch_addr[0],
> + gpu_madvise_exec_sync(gpu1, gpu2, vm[0], exec_queue[0],
> addr, &batch_addr[0],
> flags, NULL);
>
> /* GPU2 --> copy from GPU1 */
> @@ -726,12 +756,16 @@ coherency_test_multigpu(struct xe_svm_gpu_info
> *gpu1,
> &batch_bo[1], &batch_addr[1], flags, INIT);
>
> /*GPU2: Madvise and Prefetch Ops */
> - gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1],
> to_user_pointer(copy_dst),
> + gpu_madvise_exec_sync(gpu2, gpu1, vm[1], exec_queue[1],
> to_user_pointer(copy_dst),
> &batch_addr[1], flags, NULL);
>
> - /* verifying copy_dst (GPU2 INIT op) have correct value */
> final_value = READ_ONCE(*(uint32_t *)copy_dst);
> - igt_assert_eq(final_value, BATCH_VALUE);
> + if (flags & MULTIGPU_CONFLICT) {
> + igt_info("Buffer not accessible in conflict
> madvise\n");
> + } else {
> + /* verifying copy_dst (GPU2 INIT op) have correct
> value */
> + igt_assert_eq(final_value, BATCH_VALUE);
> + }
>
> if (flags & MULTIGPU_COH_FAIL) {
> struct drm_xe_sync sync0 = {}, sync1 = {};
> @@ -786,7 +820,7 @@ coherency_test_multigpu(struct xe_svm_gpu_info
> *gpu1,
> &batch_bo[1], &batch_addr[1],
> flags, INIT);
>
> /*GPU2: Madvise and Prefetch Ops */
> - gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1],
> to_user_pointer(result),
> + gpu_madvise_exec_sync(gpu2, gpu1, vm[1],
> exec_queue[1], to_user_pointer(result),
> &batch_addr[1], flags, NULL);
>
> /* Check which write won (or if we got a mix) */
> @@ -858,7 +892,7 @@ latency_test_multigpu(struct xe_svm_gpu_info
> *gpu1,
> &batch_bo[0], &batch_addr[0], flags,
> DWORD);
>
> /*GPU1: Madvise and Prefetch Ops */
> - gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0], addr,
> &batch_addr[0],
> + gpu_madvise_exec_sync(gpu1, gpu2, vm[0], exec_queue[0],
> addr, &batch_addr[0],
> flags, &gpu1_latency);
>
> gpu1_bw = (SZ_1K / (gpu1_latency / 1e9)) / (1024.0 *
> 1024.0); //Written 1k
> @@ -880,7 +914,7 @@ latency_test_multigpu(struct xe_svm_gpu_info
> *gpu1,
> &batch_bo[1], &batch_addr[1],
> flags, INIT);
>
> /*GPU2: Madvise and Prefetch Ops */
> - gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1],
> to_user_pointer(copy_dst),
> + gpu_madvise_exec_sync(gpu2, gpu1, vm[1],
> exec_queue[1], to_user_pointer(copy_dst),
> &batch_addr[1], flags,
> &gpu2_latency);
>
> gpu2_bw = (SZ_1K / (gpu2_latency / 1e9)) / (1024.0 *
> 1024.0);
> @@ -892,15 +926,15 @@ latency_test_multigpu(struct xe_svm_gpu_info
> *gpu1,
> &batch_bo[0], &batch_addr[0],
> flags, DWORD);
>
> /*GPU1: Madvise and Prefetch Ops */
> - gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0],
> addr, &batch_addr[0],
> - flags, &gpu1_latency);
> + gpu_madvise_exec_sync(gpu1, gpu2, vm[0],
> exec_queue[0], addr,
> + &batch_addr[0], flags,
> &gpu1_latency);
>
> /*GPU2: Copy data from addr (written by GPU1) to its
> own buffer (copy_dst) */
> gpu_batch_create(gpu2, vm[1], exec_queue[1], addr,
> to_user_pointer(copy_dst),
> &batch_bo[1], &batch_addr[1],
> flags, INIT);
>
> /*GPU2: Madvise and Prefetch Ops */
> - gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1],
> to_user_pointer(copy_dst),
> + gpu_madvise_exec_sync(gpu2, gpu1, vm[1],
> exec_queue[1], to_user_pointer(copy_dst),
> &batch_addr[1], flags,
> &gpu2_latency);
>
> gpu2_latency += gpu1_latency;
> @@ -1006,7 +1040,8 @@ pagefault_test_multigpu(struct xe_svm_gpu_info
> *gpu1,
> &batch_bo[0], &batch_addr[0], flags,
> DWORD);
>
> /*GPU1: Madvise and Prefetch Ops */
> - gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0], addr,
> &batch_addr[0], flags, NULL);
> + gpu_madvise_exec_sync(gpu1, gpu2, vm[0], exec_queue[0],
> addr, &batch_addr[0],
> + flags, NULL);
>
> pf_count_gpu1_after = xe_gt_stats_get_count(gpu1->fd, eci-
> >gt_id, pf_count_stat);
>
> @@ -1042,7 +1077,8 @@ pagefault_test_multigpu(struct xe_svm_gpu_info
> *gpu1,
> free(sync_addr);
>
> /*GPU2: Madvise and Prefetch Ops */
> - gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1], addr1,
> &batch_addr[1], flags, NULL);
> + gpu_madvise_exec_sync(gpu2, gpu1, vm[1], exec_queue[1],
> addr1, &batch_addr[1],
> + flags, NULL);
>
> pf_count_gpu2_after = xe_gt_stats_get_count(gpu2->fd, eci-
> >gt_id, pf_count_stat);
>
> @@ -1341,9 +1377,11 @@ igt_main
> { "xgpu-access-prefetch", MULTIGPU_PREFETCH |
> MULTIGPU_XGPU_ACCESS },
> { "atomic-op-basic", MULTIGPU_ATOMIC_OP },
> { "atomic-op-prefetch", MULTIGPU_PREFETCH |
> MULTIGPU_ATOMIC_OP },
> + { "atomic-op-conflict", MULTIGPU_CONFLICT |
> MULTIGPU_ATOMIC_OP },
> { "coherency-basic", MULTIGPU_COH_OP },
> { "coherency-fail-basic", MULTIGPU_COH_OP |
> MULTIGPU_COH_FAIL },
> { "coherency-prefetch", MULTIGPU_PREFETCH |
> MULTIGPU_COH_OP },
> + { "coherency-conflict", MULTIGPU_CONFLICT |
> MULTIGPU_COH_OP },
> { "coherency-fail-prefetch",
> MULTIGPU_PREFETCH | MULTIGPU_COH_OP |
> MULTIGPU_COH_FAIL},
> { "latency-basic", MULTIGPU_PERF_OP },
> @@ -1354,6 +1392,7 @@ igt_main
> MULTIGPU_PREFETCH | MULTIGPU_PERF_OP |
> MULTIGPU_PERF_REM_COPY },
> { "pagefault-basic", MULTIGPU_PFAULT_OP },
> { "pagefault-prefetch", MULTIGPU_PREFETCH |
> MULTIGPU_PFAULT_OP },
> + { "pagefault-conflict", MULTIGPU_CONFLICT |
> MULTIGPU_PFAULT_OP },
> { "concurrent-access-basic", MULTIGPU_CONC_ACCESS },
> { "concurrent-access-prefetch", MULTIGPU_PREFETCH |
> MULTIGPU_CONC_ACCESS },
> { NULL },
^ permalink raw reply [flat|nested] 20+ messages in thread
* ✗ Xe.CI.Full: failure for Madvise feature in SVM for Multi-GPU configs
2025-12-04 5:10 [PATCH v11 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (11 preceding siblings ...)
2025-12-04 6:21 ` ✓ i915.CI.BAT: " Patchwork
@ 2025-12-04 7:27 ` Patchwork
2025-12-05 14:06 ` ✓ i915.CI.Full: success " Patchwork
13 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2025-12-04 7:27 UTC (permalink / raw)
To: nishit.sharma; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 84649 bytes --]
== Series Details ==
Series: Madvise feature in SVM for Multi-GPU configs
URL : https://patchwork.freedesktop.org/series/158459/
State : failure
== Summary ==
CI Bug Log - changes from XEIGT_8654_FULL -> XEIGTPW_14154_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with XEIGTPW_14154_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in XEIGTPW_14154_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_14154_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@kms_color@ctm-negative:
- shard-bmg: NOTRUN -> [DMESG-WARN][1] +1 other test dmesg-warn
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-2/igt@kms_color@ctm-negative.html
* igt@xe_exec_system_allocator@once-mmap-shared-nomemset:
- shard-bmg: NOTRUN -> [DMESG-FAIL][2]
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-2/igt@xe_exec_system_allocator@once-mmap-shared-nomemset.html
* {igt@xe_multigpu_svm@mgpu-latency-basic} (NEW):
- shard-bmg: NOTRUN -> [SKIP][3] +7 other tests skip
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-8/igt@xe_multigpu_svm@mgpu-latency-basic.html
* {igt@xe_multigpu_svm@mgpu-latency-copy-prefetch} (NEW):
- shard-lnl: NOTRUN -> [SKIP][4] +9 other tests skip
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-1/igt@xe_multigpu_svm@mgpu-latency-copy-prefetch.html
* igt@xe_waitfence@abstime:
- shard-bmg: [PASS][5] -> [FAIL][6]
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-2/igt@xe_waitfence@abstime.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@xe_waitfence@abstime.html
New tests
---------
New tests have been introduced between XEIGT_8654_FULL and XEIGTPW_14154_FULL:
### New IGT tests (21) ###
* igt@xe_multigpu_svm@mgpu-atomic-op-basic:
- Statuses :
- Exec time: [None] s
* igt@xe_multigpu_svm@mgpu-atomic-op-conflict:
- Statuses : 1 pass(s) 2 skip(s)
- Exec time: [0.0] s
* igt@xe_multigpu_svm@mgpu-atomic-op-prefetch:
- Statuses : 1 pass(s) 2 skip(s)
- Exec time: [0.0] s
* igt@xe_multigpu_svm@mgpu-coherency-basic:
- Statuses :
- Exec time: [None] s
* igt@xe_multigpu_svm@mgpu-coherency-conflict:
- Statuses :
- Exec time: [None] s
* igt@xe_multigpu_svm@mgpu-coherency-fail-basic:
- Statuses :
- Exec time: [None] s
* igt@xe_multigpu_svm@mgpu-coherency-fail-prefetch:
- Statuses : 1 pass(s) 1 skip(s)
- Exec time: [0.0] s
* igt@xe_multigpu_svm@mgpu-coherency-prefetch:
- Statuses :
- Exec time: [None] s
* igt@xe_multigpu_svm@mgpu-concurrent-access-basic:
- Statuses : 1 pass(s) 1 skip(s)
- Exec time: [0.0] s
* igt@xe_multigpu_svm@mgpu-concurrent-access-prefetch:
- Statuses : 1 pass(s) 2 skip(s)
- Exec time: [0.0] s
* igt@xe_multigpu_svm@mgpu-latency-basic:
- Statuses : 1 pass(s) 2 skip(s)
- Exec time: [0.0] s
* igt@xe_multigpu_svm@mgpu-latency-copy-basic:
- Statuses : 1 skip(s)
- Exec time: [0.0] s
* igt@xe_multigpu_svm@mgpu-latency-copy-prefetch:
- Statuses : 1 pass(s) 2 skip(s)
- Exec time: [0.0] s
* igt@xe_multigpu_svm@mgpu-latency-prefetch:
- Statuses :
- Exec time: [None] s
* igt@xe_multigpu_svm@mgpu-migration-basic:
- Statuses :
- Exec time: [None] s
* igt@xe_multigpu_svm@mgpu-migration-prefetch:
- Statuses :
- Exec time: [None] s
* igt@xe_multigpu_svm@mgpu-pagefault-basic:
- Statuses :
- Exec time: [None] s
* igt@xe_multigpu_svm@mgpu-pagefault-conflict:
- Statuses : 2 skip(s)
- Exec time: [0.0] s
* igt@xe_multigpu_svm@mgpu-pagefault-prefetch:
- Statuses : 1 pass(s) 2 skip(s)
- Exec time: [0.0] s
* igt@xe_multigpu_svm@mgpu-xgpu-access-basic:
- Statuses :
- Exec time: [None] s
* igt@xe_multigpu_svm@mgpu-xgpu-access-prefetch:
- Statuses : 1 skip(s)
- Exec time: [0.0] s
Known issues
------------
Here are the changes found in XEIGTPW_14154_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@intel_hwmon@hwmon-read:
- shard-lnl: NOTRUN -> [SKIP][7] ([Intel XE#1125])
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-1/igt@intel_hwmon@hwmon-read.html
* igt@kms_async_flips@async-flip-with-page-flip-events-tiled-atomic@pipe-a-edp-1-x:
- shard-lnl: NOTRUN -> [FAIL][8] ([Intel XE#6676]) +12 other tests fail
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@kms_async_flips@async-flip-with-page-flip-events-tiled-atomic@pipe-a-edp-1-x.html
* igt@kms_async_flips@test-cursor-atomic:
- shard-lnl: NOTRUN -> [SKIP][9] ([Intel XE#664])
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-3/igt@kms_async_flips@test-cursor-atomic.html
* igt@kms_async_flips@test-time-stamp:
- shard-lnl: NOTRUN -> [FAIL][10] ([Intel XE#6677]) +5 other tests fail
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-1/igt@kms_async_flips@test-time-stamp.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
- shard-lnl: NOTRUN -> [SKIP][11] ([Intel XE#3279]) +1 other test skip
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
* igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels:
- shard-bmg: NOTRUN -> [SKIP][12] ([Intel XE#2370])
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-5/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-90:
- shard-bmg: NOTRUN -> [SKIP][13] ([Intel XE#2327]) +5 other tests skip
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-4/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html
- shard-dg2-set2: NOTRUN -> [SKIP][14] ([Intel XE#316]) +3 other tests skip
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-435/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html
* igt@kms_big_fb@4-tiled-8bpp-rotate-270:
- shard-lnl: NOTRUN -> [SKIP][15] ([Intel XE#1407]) +3 other tests skip
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-5/igt@kms_big_fb@4-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
- shard-lnl: NOTRUN -> [SKIP][16] ([Intel XE#3658])
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
* igt@kms_big_fb@y-tiled-64bpp-rotate-90:
- shard-bmg: NOTRUN -> [SKIP][17] ([Intel XE#1124]) +16 other tests skip
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-addfb-size-offset-overflow:
- shard-bmg: NOTRUN -> [SKIP][18] ([Intel XE#607])
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-5/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html
- shard-lnl: NOTRUN -> [SKIP][19] ([Intel XE#1477])
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-1/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html
* igt@kms_big_fb@y-tiled-addfb-size-overflow:
- shard-bmg: NOTRUN -> [SKIP][20] ([Intel XE#610])
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_big_fb@y-tiled-addfb-size-overflow.html
- shard-dg2-set2: NOTRUN -> [SKIP][21] ([Intel XE#610])
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-464/igt@kms_big_fb@y-tiled-addfb-size-overflow.html
- shard-lnl: NOTRUN -> [SKIP][22] ([Intel XE#1428])
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-3/igt@kms_big_fb@y-tiled-addfb-size-overflow.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0:
- shard-dg2-set2: NOTRUN -> [SKIP][23] ([Intel XE#1124]) +17 other tests skip
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-435/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip:
- shard-lnl: NOTRUN -> [SKIP][24] ([Intel XE#1124]) +18 other tests skip
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-1/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p:
- shard-lnl: NOTRUN -> [SKIP][25] ([Intel XE#2191]) +1 other test skip
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-1/igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p.html
* igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p:
- shard-dg2-set2: NOTRUN -> [SKIP][26] ([Intel XE#2191]) +1 other test skip
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-432/igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p.html
* igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p:
- shard-bmg: NOTRUN -> [SKIP][27] ([Intel XE#2314] / [Intel XE#2894]) +2 other tests skip
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-2/igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p.html
* igt@kms_bw@linear-tiling-1-displays-1920x1080p:
- shard-dg2-set2: NOTRUN -> [SKIP][28] ([Intel XE#367]) +3 other tests skip
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-464/igt@kms_bw@linear-tiling-1-displays-1920x1080p.html
* igt@kms_bw@linear-tiling-1-displays-2160x1440p:
- shard-bmg: NOTRUN -> [SKIP][29] ([Intel XE#367]) +4 other tests skip
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-2/igt@kms_bw@linear-tiling-1-displays-2160x1440p.html
* igt@kms_bw@linear-tiling-3-displays-2560x1440p:
- shard-lnl: NOTRUN -> [SKIP][30] ([Intel XE#367])
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-8/igt@kms_bw@linear-tiling-3-displays-2560x1440p.html
* igt@kms_bw@linear-tiling-4-displays-2560x1440p:
- shard-lnl: NOTRUN -> [SKIP][31] ([Intel XE#1512]) +1 other test skip
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-4/igt@kms_bw@linear-tiling-4-displays-2560x1440p.html
* igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs-cc:
- shard-bmg: NOTRUN -> [SKIP][32] ([Intel XE#2887]) +25 other tests skip
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-4/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs-cc.html
* igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][33] ([Intel XE#2907]) +2 other tests skip
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-432/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs.html
* igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs@pipe-c-dp-2:
- shard-bmg: NOTRUN -> [SKIP][34] ([Intel XE#2652] / [Intel XE#787]) +17 other tests skip
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-3/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs@pipe-c-dp-2.html
* igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc:
- shard-lnl: NOTRUN -> [SKIP][35] ([Intel XE#2887]) +17 other tests skip
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-1/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc.html
* igt@kms_ccs@bad-rotation-90-y-tiled-gen12-mc-ccs@pipe-d-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][36] ([Intel XE#455] / [Intel XE#787]) +37 other tests skip
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-464/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-mc-ccs@pipe-d-dp-4.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
- shard-bmg: NOTRUN -> [ABORT][37] ([Intel XE#6675]) +15 other tests abort
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
- shard-dg2-set2: NOTRUN -> [SKIP][38] ([Intel XE#3442])
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-464/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
- shard-bmg: NOTRUN -> [SKIP][39] ([Intel XE#3432]) +2 other tests skip
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-5/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs:
- shard-lnl: NOTRUN -> [SKIP][40] ([Intel XE#3432]) +2 other tests skip
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-8/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs.html
* igt@kms_ccs@missing-ccs-buffer-yf-tiled-ccs@pipe-b-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][41] ([Intel XE#787]) +132 other tests skip
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-435/igt@kms_ccs@missing-ccs-buffer-yf-tiled-ccs@pipe-b-dp-4.html
* igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs:
- shard-lnl: NOTRUN -> [SKIP][42] ([Intel XE#2669]) +3 other tests skip
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-3/igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs.html
* igt@kms_cdclk@plane-scaling:
- shard-bmg: NOTRUN -> [SKIP][43] ([Intel XE#2724])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@kms_cdclk@plane-scaling.html
* igt@kms_chamelium_color@ctm-0-75:
- shard-dg2-set2: NOTRUN -> [SKIP][44] ([Intel XE#306]) +3 other tests skip
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-464/igt@kms_chamelium_color@ctm-0-75.html
* igt@kms_chamelium_color@ctm-limited-range:
- shard-lnl: NOTRUN -> [SKIP][45] ([Intel XE#306]) +2 other tests skip
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@kms_chamelium_color@ctm-limited-range.html
* igt@kms_chamelium_color@ctm-red-to-blue:
- shard-bmg: NOTRUN -> [SKIP][46] ([Intel XE#2325]) +3 other tests skip
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@kms_chamelium_color@ctm-red-to-blue.html
* igt@kms_chamelium_edid@dp-edid-change-during-suspend:
- shard-dg2-set2: NOTRUN -> [SKIP][47] ([Intel XE#373]) +11 other tests skip
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-435/igt@kms_chamelium_edid@dp-edid-change-during-suspend.html
* igt@kms_chamelium_edid@dp-edid-resolution-list:
- shard-bmg: NOTRUN -> [SKIP][48] ([Intel XE#2252]) +13 other tests skip
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-5/igt@kms_chamelium_edid@dp-edid-resolution-list.html
* igt@kms_chamelium_hpd@vga-hpd-with-enabled-mode:
- shard-lnl: NOTRUN -> [SKIP][49] ([Intel XE#373]) +12 other tests skip
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-4/igt@kms_chamelium_hpd@vga-hpd-with-enabled-mode.html
* igt@kms_chamelium_sharpness_filter@filter-basic:
- shard-bmg: NOTRUN -> [SKIP][50] ([Intel XE#6507])
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-7/igt@kms_chamelium_sharpness_filter@filter-basic.html
- shard-dg2-set2: NOTRUN -> [SKIP][51] ([Intel XE#6507])
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-463/igt@kms_chamelium_sharpness_filter@filter-basic.html
- shard-lnl: NOTRUN -> [SKIP][52] ([Intel XE#6507])
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-1/igt@kms_chamelium_sharpness_filter@filter-basic.html
* igt@kms_colorop@plane-xr24-xr24-pq_eotf-pq_inv_eotf:
- shard-bmg: NOTRUN -> [SKIP][53] ([Intel XE#6704]) +11 other tests skip
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@kms_colorop@plane-xr24-xr24-pq_eotf-pq_inv_eotf.html
* igt@kms_colorop@plane-xr30-xr30-bt2020_oetf:
- shard-dg2-set2: NOTRUN -> [SKIP][54] ([Intel XE#6704]) +13 other tests skip
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-436/igt@kms_colorop@plane-xr30-xr30-bt2020_oetf.html
* igt@kms_colorop@plane-xr30-xr30-srgb_eotf:
- shard-lnl: NOTRUN -> [SKIP][55] ([Intel XE#6704]) +15 other tests skip
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@kms_colorop@plane-xr30-xr30-srgb_eotf.html
* igt@kms_content_protection@content-type-change:
- shard-bmg: NOTRUN -> [SKIP][56] ([Intel XE#2341])
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-7/igt@kms_content_protection@content-type-change.html
* igt@kms_content_protection@dp-mst-lic-type-0:
- shard-dg2-set2: NOTRUN -> [SKIP][57] ([Intel XE#307]) +2 other tests skip
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-436/igt@kms_content_protection@dp-mst-lic-type-0.html
- shard-lnl: NOTRUN -> [SKIP][58] ([Intel XE#307]) +2 other tests skip
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@kms_content_protection@dp-mst-lic-type-0.html
* igt@kms_content_protection@dp-mst-type-0:
- shard-bmg: NOTRUN -> [SKIP][59] ([Intel XE#2390]) +2 other tests skip
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-4/igt@kms_content_protection@dp-mst-type-0.html
* igt@kms_content_protection@suspend-resume:
- shard-bmg: NOTRUN -> [FAIL][60] ([Intel XE#1178]) +2 other tests fail
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@kms_content_protection@suspend-resume.html
* igt@kms_content_protection@suspend-resume@pipe-a-dp-4:
- shard-dg2-set2: NOTRUN -> [FAIL][61] ([Intel XE#1178]) +1 other test fail
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-432/igt@kms_content_protection@suspend-resume@pipe-a-dp-4.html
* igt@kms_cursor_crc@cursor-offscreen-128x42:
- shard-bmg: NOTRUN -> [SKIP][62] ([Intel XE#2320]) +6 other tests skip
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-5/igt@kms_cursor_crc@cursor-offscreen-128x42.html
* igt@kms_cursor_crc@cursor-offscreen-512x170:
- shard-dg2-set2: NOTRUN -> [SKIP][63] ([Intel XE#308]) +1 other test skip
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-436/igt@kms_cursor_crc@cursor-offscreen-512x170.html
* igt@kms_cursor_crc@cursor-random-128x42:
- shard-lnl: NOTRUN -> [SKIP][64] ([Intel XE#1424]) +6 other tests skip
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-3/igt@kms_cursor_crc@cursor-random-128x42.html
* igt@kms_cursor_crc@cursor-random-512x512:
- shard-bmg: NOTRUN -> [SKIP][65] ([Intel XE#2321]) +1 other test skip
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-8/igt@kms_cursor_crc@cursor-random-512x512.html
* igt@kms_cursor_crc@cursor-sliding-512x512:
- shard-lnl: NOTRUN -> [SKIP][66] ([Intel XE#2321]) +1 other test skip
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-5/igt@kms_cursor_crc@cursor-sliding-512x512.html
* igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic:
- shard-lnl: NOTRUN -> [SKIP][67] ([Intel XE#309]) +10 other tests skip
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-3/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-legacy:
- shard-bmg: NOTRUN -> [SKIP][68] ([Intel XE#2291])
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipb-legacy.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic:
- shard-bmg: [PASS][69] -> [FAIL][70] ([Intel XE#6715])
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-4/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-2/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
* igt@kms_cursor_legacy@flip-vs-cursor-legacy:
- shard-bmg: NOTRUN -> [FAIL][71] ([Intel XE#5299])
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
* igt@kms_display_modes@extended-mode-basic:
- shard-lnl: NOTRUN -> [SKIP][72] ([Intel XE#4302])
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-4/igt@kms_display_modes@extended-mode-basic.html
* igt@kms_dp_link_training@non-uhbr-sst:
- shard-lnl: NOTRUN -> [SKIP][73] ([Intel XE#4354])
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-5/igt@kms_dp_link_training@non-uhbr-sst.html
* igt@kms_dsc@dsc-fractional-bpp:
- shard-bmg: NOTRUN -> [SKIP][74] ([Intel XE#2244]) +5 other tests skip
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-7/igt@kms_dsc@dsc-fractional-bpp.html
* igt@kms_dsc@dsc-with-bpc-formats:
- shard-lnl: NOTRUN -> [SKIP][75] ([Intel XE#2244]) +4 other tests skip
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-1/igt@kms_dsc@dsc-with-bpc-formats.html
* igt@kms_fb_coherency@memset-crc@mmap-offset-wc:
- shard-lnl: NOTRUN -> [CRASH][76] ([Intel XE#6706]) +1 other test crash
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@kms_fb_coherency@memset-crc@mmap-offset-wc.html
* igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-different-formats:
- shard-dg2-set2: NOTRUN -> [SKIP][77] ([Intel XE#4422])
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-435/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-different-formats.html
- shard-bmg: NOTRUN -> [SKIP][78] ([Intel XE#4422])
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-4/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-different-formats.html
* igt@kms_feature_discovery@chamelium:
- shard-bmg: NOTRUN -> [SKIP][79] ([Intel XE#2372])
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-7/igt@kms_feature_discovery@chamelium.html
- shard-dg2-set2: NOTRUN -> [SKIP][80] ([Intel XE#701])
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-463/igt@kms_feature_discovery@chamelium.html
- shard-lnl: NOTRUN -> [SKIP][81] ([Intel XE#701])
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-8/igt@kms_feature_discovery@chamelium.html
* igt@kms_feature_discovery@display-4x:
- shard-dg2-set2: NOTRUN -> [SKIP][82] ([Intel XE#1138])
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-432/igt@kms_feature_discovery@display-4x.html
* igt@kms_feature_discovery@psr2:
- shard-bmg: NOTRUN -> [SKIP][83] ([Intel XE#2374])
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-3/igt@kms_feature_discovery@psr2.html
- shard-dg2-set2: NOTRUN -> [SKIP][84] ([Intel XE#1135])
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-432/igt@kms_feature_discovery@psr2.html
* igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible:
- shard-bmg: [PASS][85] -> [SKIP][86] ([Intel XE#2316])
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-8/igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible.html
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible.html
* igt@kms_flip@2x-flip-vs-rmfb-interruptible:
- shard-lnl: NOTRUN -> [SKIP][87] ([Intel XE#1421]) +11 other tests skip
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-5/igt@kms_flip@2x-flip-vs-rmfb-interruptible.html
* igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset:
- shard-bmg: NOTRUN -> [SKIP][88] ([Intel XE#2316])
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html
* igt@kms_flip@flip-vs-suspend:
- shard-lnl: NOTRUN -> [ABORT][89] ([Intel XE#6317] / [Intel XE#6675])
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-5/igt@kms_flip@flip-vs-suspend.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling:
- shard-bmg: NOTRUN -> [SKIP][90] ([Intel XE#2293] / [Intel XE#2380]) +4 other tests skip
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode:
- shard-bmg: NOTRUN -> [SKIP][91] ([Intel XE#2293]) +4 other tests skip
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/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-downscaling:
- shard-lnl: NOTRUN -> [SKIP][92] ([Intel XE#1401] / [Intel XE#1745]) +3 other tests skip
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-4/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][93] ([Intel XE#1401]) +3 other tests skip
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-4/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [FAIL][94] ([Intel XE#3106] / [Intel XE#4683]) +1 other test fail
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-3/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling@pipe-a-default-mode.html
* igt@kms_force_connector_basic@force-connector-state:
- shard-lnl: NOTRUN -> [SKIP][95] ([Intel XE#352])
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@kms_force_connector_basic@force-connector-state.html
* igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-onoff:
- shard-dg2-set2: NOTRUN -> [SKIP][96] ([Intel XE#651]) +33 other tests skip
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-433/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-onoff.html
* igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-render:
- shard-bmg: NOTRUN -> [SKIP][97] ([Intel XE#2311]) +38 other tests skip
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-3/igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][98] ([Intel XE#4141]) +25 other tests skip
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-tiling-y:
- shard-dg2-set2: NOTRUN -> [SKIP][99] ([Intel XE#658])
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-432/igt@kms_frontbuffer_tracking@fbc-tiling-y.html
- shard-bmg: NOTRUN -> [SKIP][100] ([Intel XE#2352])
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-tiling-y.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-blt:
- shard-lnl: NOTRUN -> [SKIP][101] ([Intel XE#6312]) +3 other tests skip
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-mmap-wc:
- shard-dg2-set2: NOTRUN -> [SKIP][102] ([Intel XE#6312]) +5 other tests skip
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-436/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-render:
- shard-lnl: NOTRUN -> [SKIP][103] ([Intel XE#656]) +53 other tests skip
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-4/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-blt:
- shard-lnl: NOTRUN -> [SKIP][104] ([Intel XE#651]) +20 other tests skip
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-3/igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt:
- shard-bmg: NOTRUN -> [SKIP][105] ([Intel XE#2313]) +37 other tests skip
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-2/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][106] ([Intel XE#653]) +38 other tests skip
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-435/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-wc:
- shard-bmg: NOTRUN -> [SKIP][107] ([Intel XE#2312]) +6 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_hdmi_inject@inject-audio:
- shard-lnl: NOTRUN -> [SKIP][108] ([Intel XE#1470] / [Intel XE#2853])
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-8/igt@kms_hdmi_inject@inject-audio.html
* igt@kms_hdr@bpc-switch-dpms:
- shard-bmg: [PASS][109] -> [ABORT][110] ([Intel XE#6740]) +1 other test abort
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-2/igt@kms_hdr@bpc-switch-dpms.html
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-7/igt@kms_hdr@bpc-switch-dpms.html
* igt@kms_joiner@basic-big-joiner:
- shard-bmg: NOTRUN -> [SKIP][111] ([Intel XE#346] / [Intel XE#6590])
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_joiner@basic-big-joiner.html
- shard-dg2-set2: NOTRUN -> [SKIP][112] ([Intel XE#2925] / [Intel XE#346]) +1 other test skip
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-436/igt@kms_joiner@basic-big-joiner.html
- shard-lnl: NOTRUN -> [SKIP][113] ([Intel XE#2925] / [Intel XE#346]) +1 other test skip
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-5/igt@kms_joiner@basic-big-joiner.html
* igt@kms_joiner@basic-max-non-joiner:
- shard-dg2-set2: NOTRUN -> [SKIP][114] ([Intel XE#2925])
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-435/igt@kms_joiner@basic-max-non-joiner.html
- shard-lnl: NOTRUN -> [SKIP][115] ([Intel XE#2925])
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-4/igt@kms_joiner@basic-max-non-joiner.html
- shard-bmg: NOTRUN -> [SKIP][116] ([Intel XE#6590])
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-5/igt@kms_joiner@basic-max-non-joiner.html
* igt@kms_joiner@invalid-modeset-ultra-joiner:
- shard-dg2-set2: NOTRUN -> [SKIP][117] ([Intel XE#2925] / [Intel XE#2927])
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-435/igt@kms_joiner@invalid-modeset-ultra-joiner.html
- shard-lnl: NOTRUN -> [SKIP][118] ([Intel XE#2925] / [Intel XE#2927]) +1 other test skip
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-4/igt@kms_joiner@invalid-modeset-ultra-joiner.html
- shard-bmg: NOTRUN -> [SKIP][119] ([Intel XE#2927] / [Intel XE#6590])
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-4/igt@kms_joiner@invalid-modeset-ultra-joiner.html
* igt@kms_pipe_stress@stress-xrgb8888-yftiled:
- shard-bmg: NOTRUN -> [SKIP][120] ([Intel XE#5624])
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html
- shard-dg2-set2: NOTRUN -> [SKIP][121] ([Intel XE#5624])
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-432/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html
* igt@kms_plane_lowres@tiling-x@pipe-b-edp-1:
- shard-lnl: NOTRUN -> [SKIP][122] ([Intel XE#599]) +4 other tests skip
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@kms_plane_lowres@tiling-x@pipe-b-edp-1.html
* igt@kms_plane_multiple@2x-tiling-none:
- shard-lnl: NOTRUN -> [SKIP][123] ([Intel XE#4596]) +1 other test skip
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-1/igt@kms_plane_multiple@2x-tiling-none.html
* igt@kms_plane_multiple@tiling-y:
- shard-bmg: NOTRUN -> [SKIP][124] ([Intel XE#5020])
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-5/igt@kms_plane_multiple@tiling-y.html
- shard-lnl: NOTRUN -> [SKIP][125] ([Intel XE#5020])
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-1/igt@kms_plane_multiple@tiling-y.html
* igt@kms_plane_scaling@intel-max-src-size:
- shard-lnl: NOTRUN -> [SKIP][126] ([Intel XE#3307])
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-3/igt@kms_plane_scaling@intel-max-src-size.html
* igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25:
- shard-lnl: NOTRUN -> [SKIP][127] ([Intel XE#5825]) +19 other tests skip
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-1/igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5:
- shard-bmg: NOTRUN -> [SKIP][128] ([Intel XE#5825]) +9 other tests skip
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5.html
* igt@kms_pm_backlight@fade:
- shard-bmg: NOTRUN -> [SKIP][129] ([Intel XE#870])
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-2/igt@kms_pm_backlight@fade.html
- shard-dg2-set2: NOTRUN -> [SKIP][130] ([Intel XE#870])
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-432/igt@kms_pm_backlight@fade.html
* igt@kms_pm_dc@dc5-retention-flops:
- shard-bmg: NOTRUN -> [SKIP][131] ([Intel XE#3309])
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@kms_pm_dc@dc5-retention-flops.html
* igt@kms_pm_lpsp@kms-lpsp:
- shard-bmg: NOTRUN -> [SKIP][132] ([Intel XE#2499])
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-4/igt@kms_pm_lpsp@kms-lpsp.html
* igt@kms_pm_rpm@dpms-lpsp:
- shard-bmg: NOTRUN -> [SKIP][133] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#836])
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@kms_pm_rpm@dpms-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp:
- shard-lnl: NOTRUN -> [SKIP][134] ([Intel XE#1439] / [Intel XE#3141])
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@kms_pm_rpm@modeset-non-lpsp.html
* igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf:
- shard-lnl: NOTRUN -> [SKIP][135] ([Intel XE#1406] / [Intel XE#2893]) +4 other tests skip
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf:
- shard-dg2-set2: NOTRUN -> [SKIP][136] ([Intel XE#1406] / [Intel XE#1489]) +10 other tests skip
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-435/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf.html
- shard-lnl: NOTRUN -> [SKIP][137] ([Intel XE#1406] / [Intel XE#2893] / [Intel XE#4608]) +2 other tests skip
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-4/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf@pipe-b-edp-1:
- shard-lnl: NOTRUN -> [SKIP][138] ([Intel XE#1406] / [Intel XE#4608]) +5 other tests skip
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-4/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf@pipe-b-edp-1.html
* igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area:
- shard-bmg: NOTRUN -> [SKIP][139] ([Intel XE#1406] / [Intel XE#1489]) +10 other tests skip
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area.html
* igt@kms_psr2_su@page_flip-p010:
- shard-bmg: NOTRUN -> [SKIP][140] ([Intel XE#1406] / [Intel XE#2387])
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_psr2_su@page_flip-p010.html
- shard-dg2-set2: NOTRUN -> [SKIP][141] ([Intel XE#1122] / [Intel XE#1406])
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-464/igt@kms_psr2_su@page_flip-p010.html
- shard-lnl: NOTRUN -> [SKIP][142] ([Intel XE#1128] / [Intel XE#1406])
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-3/igt@kms_psr2_su@page_flip-p010.html
* igt@kms_psr@fbc-psr2-basic@edp-1:
- shard-lnl: NOTRUN -> [SKIP][143] ([Intel XE#1406] / [Intel XE#4609]) +4 other tests skip
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-4/igt@kms_psr@fbc-psr2-basic@edp-1.html
* igt@kms_psr@fbc-psr2-primary-render:
- shard-lnl: NOTRUN -> [SKIP][144] ([Intel XE#1406]) +6 other tests skip
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-3/igt@kms_psr@fbc-psr2-primary-render.html
* igt@kms_psr@fbc-psr2-sprite-plane-onoff:
- shard-dg2-set2: NOTRUN -> [SKIP][145] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +17 other tests skip
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-464/igt@kms_psr@fbc-psr2-sprite-plane-onoff.html
* igt@kms_psr@pr-sprite-plane-onoff:
- shard-bmg: NOTRUN -> [SKIP][146] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850]) +14 other tests skip
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@kms_psr@pr-sprite-plane-onoff.html
* igt@kms_psr@psr2-primary-render:
- shard-bmg: NOTRUN -> [SKIP][147] ([Intel XE#1406] / [Intel XE#2234])
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-7/igt@kms_psr@psr2-primary-render.html
* igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
- shard-bmg: NOTRUN -> [SKIP][148] ([Intel XE#1406] / [Intel XE#2414])
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-7/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
- shard-dg2-set2: NOTRUN -> [SKIP][149] ([Intel XE#1406] / [Intel XE#2939])
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-463/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
* igt@kms_rotation_crc@bad-tiling:
- shard-dg2-set2: NOTRUN -> [SKIP][150] ([Intel XE#3414]) +2 other tests skip
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-463/igt@kms_rotation_crc@bad-tiling.html
- shard-lnl: NOTRUN -> [SKIP][151] ([Intel XE#3414] / [Intel XE#3904]) +4 other tests skip
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-1/igt@kms_rotation_crc@bad-tiling.html
* igt@kms_rotation_crc@primary-rotation-90:
- shard-bmg: NOTRUN -> [SKIP][152] ([Intel XE#3414] / [Intel XE#3904]) +3 other tests skip
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-2/igt@kms_rotation_crc@primary-rotation-90.html
* igt@kms_scaling_modes@scaling-mode-full-aspect:
- shard-bmg: NOTRUN -> [SKIP][153] ([Intel XE#2413])
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@kms_scaling_modes@scaling-mode-full-aspect.html
* igt@kms_setmode@basic-clone-single-crtc:
- shard-bmg: NOTRUN -> [SKIP][154] ([Intel XE#1435]) +1 other test skip
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-5/igt@kms_setmode@basic-clone-single-crtc.html
* igt@kms_setmode@invalid-clone-exclusive-crtc:
- shard-lnl: NOTRUN -> [SKIP][155] ([Intel XE#1435])
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-1/igt@kms_setmode@invalid-clone-exclusive-crtc.html
* igt@kms_setmode@invalid-clone-single-crtc:
- shard-bmg: [PASS][156] -> [SKIP][157] ([Intel XE#1435])
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-1/igt@kms_setmode@invalid-clone-single-crtc.html
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_setmode@invalid-clone-single-crtc.html
* igt@kms_sharpness_filter@invalid-plane-with-filter:
- shard-bmg: NOTRUN -> [SKIP][158] ([Intel XE#6503]) +3 other tests skip
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_sharpness_filter@invalid-plane-with-filter.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-bmg: NOTRUN -> [SKIP][159] ([Intel XE#2426])
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@kms_tiled_display@basic-test-pattern.html
- shard-dg2-set2: NOTRUN -> [FAIL][160] ([Intel XE#1729])
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-436/igt@kms_tiled_display@basic-test-pattern.html
- shard-lnl: NOTRUN -> [SKIP][161] ([Intel XE#362])
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-4/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_tv_load_detect@load-detect:
- shard-bmg: NOTRUN -> [SKIP][162] ([Intel XE#2450])
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-5/igt@kms_tv_load_detect@load-detect.html
* igt@kms_vblank@ts-continuation-dpms-suspend@pipe-c-edp-1:
- shard-lnl: NOTRUN -> [ABORT][163] ([Intel XE#6675]) +11 other tests abort
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-4/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-c-edp-1.html
* igt@kms_vrr@flip-dpms:
- shard-dg2-set2: NOTRUN -> [SKIP][164] ([Intel XE#455]) +25 other tests skip
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-435/igt@kms_vrr@flip-dpms.html
* igt@kms_vrr@lobf@pipe-a-edp-1:
- shard-lnl: NOTRUN -> [FAIL][165] ([Intel XE#6390]) +1 other test fail
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@kms_vrr@lobf@pipe-a-edp-1.html
* igt@kms_vrr@seamless-rr-switch-virtual:
- shard-bmg: NOTRUN -> [SKIP][166] ([Intel XE#1499]) +3 other tests skip
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-5/igt@kms_vrr@seamless-rr-switch-virtual.html
* igt@xe_compute@ccs-mode-compute-kernel:
- shard-lnl: NOTRUN -> [SKIP][167] ([Intel XE#1447])
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@xe_compute@ccs-mode-compute-kernel.html
* igt@xe_compute@eu-busy-10s:
- shard-bmg: NOTRUN -> [SKIP][168] ([Intel XE#6599])
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@xe_compute@eu-busy-10s.html
- shard-dg2-set2: NOTRUN -> [SKIP][169] ([Intel XE#6598])
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-433/igt@xe_compute@eu-busy-10s.html
- shard-lnl: NOTRUN -> [SKIP][170] ([Intel XE#6592] / [Intel XE#6645])
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@xe_compute@eu-busy-10s.html
* igt@xe_copy_basic@mem-matrix-copy-2x2:
- shard-dg2-set2: NOTRUN -> [SKIP][171] ([Intel XE#5300])
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-433/igt@xe_copy_basic@mem-matrix-copy-2x2.html
* igt@xe_copy_basic@mem-set-linear-0x8fffe:
- shard-dg2-set2: NOTRUN -> [SKIP][172] ([Intel XE#5503])
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-432/igt@xe_copy_basic@mem-set-linear-0x8fffe.html
* igt@xe_copy_basic@mem-set-linear-0xfd:
- shard-dg2-set2: NOTRUN -> [SKIP][173] ([Intel XE#1126])
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-435/igt@xe_copy_basic@mem-set-linear-0xfd.html
* igt@xe_eudebug@basic-close:
- shard-dg2-set2: NOTRUN -> [SKIP][174] ([Intel XE#4837]) +11 other tests skip
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-432/igt@xe_eudebug@basic-close.html
* igt@xe_eudebug@basic-connect:
- shard-lnl: NOTRUN -> [SKIP][175] ([Intel XE#4837]) +12 other tests skip
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@xe_eudebug@basic-connect.html
* igt@xe_eudebug_online@interrupt-other:
- shard-bmg: NOTRUN -> [SKIP][176] ([Intel XE#4837] / [Intel XE#6665]) +9 other tests skip
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-2/igt@xe_eudebug_online@interrupt-other.html
* igt@xe_eudebug_online@interrupt-other-debuggable:
- shard-dg2-set2: NOTRUN -> [SKIP][177] ([Intel XE#4837] / [Intel XE#6665]) +6 other tests skip
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-464/igt@xe_eudebug_online@interrupt-other-debuggable.html
* igt@xe_eudebug_online@preempt-breakpoint:
- shard-lnl: NOTRUN -> [SKIP][178] ([Intel XE#4837] / [Intel XE#6665]) +10 other tests skip
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-8/igt@xe_eudebug_online@preempt-breakpoint.html
* igt@xe_eudebug_sriov@deny-eudebug:
- shard-lnl: NOTRUN -> [SKIP][179] ([Intel XE#4518]) +1 other test skip
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-3/igt@xe_eudebug_sriov@deny-eudebug.html
* igt@xe_eudebug_sriov@deny-sriov:
- shard-bmg: NOTRUN -> [SKIP][180] ([Intel XE#5793])
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-2/igt@xe_eudebug_sriov@deny-sriov.html
- shard-dg2-set2: NOTRUN -> [SKIP][181] ([Intel XE#4518])
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-432/igt@xe_eudebug_sriov@deny-sriov.html
* igt@xe_evict@evict-beng-mixed-threads-large-multi-vm:
- shard-lnl: NOTRUN -> [SKIP][182] ([Intel XE#688]) +17 other tests skip
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-4/igt@xe_evict@evict-beng-mixed-threads-large-multi-vm.html
* igt@xe_exec_basic@multigpu-once-basic-defer-bind:
- shard-bmg: NOTRUN -> [SKIP][183] ([Intel XE#2322]) +9 other tests skip
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-5/igt@xe_exec_basic@multigpu-once-basic-defer-bind.html
* igt@xe_exec_basic@multigpu-once-userptr:
- shard-lnl: NOTRUN -> [SKIP][184] ([Intel XE#1392]) +13 other tests skip
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-4/igt@xe_exec_basic@multigpu-once-userptr.html
* igt@xe_exec_fault_mode@once-invalid-userptr-fault:
- shard-dg2-set2: NOTRUN -> [SKIP][185] ([Intel XE#288]) +39 other tests skip
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-463/igt@xe_exec_fault_mode@once-invalid-userptr-fault.html
* igt@xe_exec_mix_modes@exec-spinner-interrupted-dma-fence:
- shard-dg2-set2: NOTRUN -> [SKIP][186] ([Intel XE#2360])
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-463/igt@xe_exec_mix_modes@exec-spinner-interrupted-dma-fence.html
* igt@xe_exec_sip_eudebug@breakpoint-writesip-nodebug:
- shard-bmg: NOTRUN -> [SKIP][187] ([Intel XE#4837]) +11 other tests skip
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-4/igt@xe_exec_sip_eudebug@breakpoint-writesip-nodebug.html
* igt@xe_exec_system_allocator@madvise-split-vma-with-mapping:
- shard-lnl: NOTRUN -> [WARN][188] ([Intel XE#5786]) +1 other test warn
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-5/igt@xe_exec_system_allocator@madvise-split-vma-with-mapping.html
* igt@xe_exec_system_allocator@many-64k-mmap-free-huge:
- shard-bmg: NOTRUN -> [SKIP][189] ([Intel XE#5007])
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@xe_exec_system_allocator@many-64k-mmap-free-huge.html
* igt@xe_exec_system_allocator@once-large-mmap-free-huge-nomemset:
- shard-lnl: NOTRUN -> [SKIP][190] ([Intel XE#4943]) +28 other tests skip
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-3/igt@xe_exec_system_allocator@once-large-mmap-free-huge-nomemset.html
* igt@xe_exec_system_allocator@once-mmap-huge-nomemset:
- shard-bmg: NOTRUN -> [SKIP][191] ([Intel XE#4943]) +28 other tests skip
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@xe_exec_system_allocator@once-mmap-huge-nomemset.html
* igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-multi-vma:
- shard-lnl: [PASS][192] -> [FAIL][193] ([Intel XE#5625])
[192]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-lnl-5/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-multi-vma.html
[193]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-3/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-multi-vma.html
* igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-wt-multi-vma:
- shard-lnl: NOTRUN -> [SKIP][194] ([Intel XE#6196])
[194]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-wt-multi-vma.html
* igt@xe_exec_system_allocator@threads-many-large-mmap-shared-remap-dontunmap-eocheck:
- shard-dg2-set2: NOTRUN -> [SKIP][195] ([Intel XE#4915]) +432 other tests skip
[195]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-433/igt@xe_exec_system_allocator@threads-many-large-mmap-shared-remap-dontunmap-eocheck.html
* igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit:
- shard-dg2-set2: NOTRUN -> [SKIP][196] ([Intel XE#2229])
[196]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-463/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html
- shard-lnl: NOTRUN -> [SKIP][197] ([Intel XE#2229])
[197]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-1/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html
* igt@xe_mmap@small-bar:
- shard-bmg: NOTRUN -> [SKIP][198] ([Intel XE#586])
[198]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@xe_mmap@small-bar.html
- shard-dg2-set2: NOTRUN -> [SKIP][199] ([Intel XE#512])
[199]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-432/igt@xe_mmap@small-bar.html
- shard-lnl: NOTRUN -> [SKIP][200] ([Intel XE#512])
[200]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-3/igt@xe_mmap@small-bar.html
* igt@xe_module_load@force-load:
- shard-bmg: NOTRUN -> [SKIP][201] ([Intel XE#2457])
[201]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-4/igt@xe_module_load@force-load.html
- shard-dg2-set2: NOTRUN -> [SKIP][202] ([Intel XE#378])
[202]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-435/igt@xe_module_load@force-load.html
- shard-lnl: NOTRUN -> [SKIP][203] ([Intel XE#378])
[203]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-4/igt@xe_module_load@force-load.html
* igt@xe_module_load@load:
- shard-bmg: ([PASS][204], [PASS][205], [PASS][206], [PASS][207], [PASS][208], [PASS][209], [PASS][210], [PASS][211], [PASS][212], [PASS][213], [PASS][214], [PASS][215], [PASS][216], [PASS][217], [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], [SKIP][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]) ([Intel XE#2457])
[204]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-5/igt@xe_module_load@load.html
[205]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-6/igt@xe_module_load@load.html
[206]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-3/igt@xe_module_load@load.html
[207]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-3/igt@xe_module_load@load.html
[208]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-3/igt@xe_module_load@load.html
[209]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-6/igt@xe_module_load@load.html
[210]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-6/igt@xe_module_load@load.html
[211]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-6/igt@xe_module_load@load.html
[212]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-2/igt@xe_module_load@load.html
[213]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-2/igt@xe_module_load@load.html
[214]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-2/igt@xe_module_load@load.html
[215]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-7/igt@xe_module_load@load.html
[216]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-7/igt@xe_module_load@load.html
[217]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-7/igt@xe_module_load@load.html
[218]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-1/igt@xe_module_load@load.html
[219]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-1/igt@xe_module_load@load.html
[220]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-1/igt@xe_module_load@load.html
[221]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-8/igt@xe_module_load@load.html
[222]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-8/igt@xe_module_load@load.html
[223]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-8/igt@xe_module_load@load.html
[224]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-5/igt@xe_module_load@load.html
[225]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-4/igt@xe_module_load@load.html
[226]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-4/igt@xe_module_load@load.html
[227]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-4/igt@xe_module_load@load.html
[228]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-4/igt@xe_module_load@load.html
[229]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@xe_module_load@load.html
[230]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-3/igt@xe_module_load@load.html
[231]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-3/igt@xe_module_load@load.html
[232]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-2/igt@xe_module_load@load.html
[233]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-4/igt@xe_module_load@load.html
[234]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-2/igt@xe_module_load@load.html
[235]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@xe_module_load@load.html
[236]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-8/igt@xe_module_load@load.html
[237]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-4/igt@xe_module_load@load.html
[238]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-2/igt@xe_module_load@load.html
[239]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@xe_module_load@load.html
[240]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@xe_module_load@load.html
[241]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-7/igt@xe_module_load@load.html
[242]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-8/igt@xe_module_load@load.html
[243]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-5/igt@xe_module_load@load.html
[244]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-8/igt@xe_module_load@load.html
[245]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-8/igt@xe_module_load@load.html
[246]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@xe_module_load@load.html
[247]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@xe_module_load@load.html
[248]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-7/igt@xe_module_load@load.html
[249]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-7/igt@xe_module_load@load.html
[250]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-7/igt@xe_module_load@load.html
[251]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-5/igt@xe_module_load@load.html
[252]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-5/igt@xe_module_load@load.html
[253]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@xe_module_load@load.html
* igt@xe_oa@buffer-size:
- shard-dg2-set2: NOTRUN -> [SKIP][254] ([Intel XE#6032])
[254]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-436/igt@xe_oa@buffer-size.html
* igt@xe_oa@oa-tlb-invalidate:
- shard-lnl: NOTRUN -> [SKIP][255] ([Intel XE#2248])
[255]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-8/igt@xe_oa@oa-tlb-invalidate.html
- shard-bmg: NOTRUN -> [SKIP][256] ([Intel XE#2248])
[256]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-2/igt@xe_oa@oa-tlb-invalidate.html
* igt@xe_oa@syncs-userptr-wait-cfg:
- shard-dg2-set2: NOTRUN -> [SKIP][257] ([Intel XE#3573]) +10 other tests skip
[257]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-464/igt@xe_oa@syncs-userptr-wait-cfg.html
* igt@xe_pat@pat-index-xelp:
- shard-lnl: NOTRUN -> [SKIP][258] ([Intel XE#977])
[258]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-3/igt@xe_pat@pat-index-xelp.html
* igt@xe_peer2peer@read:
- shard-bmg: NOTRUN -> [SKIP][259] ([Intel XE#2427])
[259]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-3/igt@xe_peer2peer@read.html
* igt@xe_peer2peer@read@read-gpua-vram01-gpub-system-p2p:
- shard-dg2-set2: NOTRUN -> [SKIP][260] ([Intel XE#6566])
[260]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-464/igt@xe_peer2peer@read@read-gpua-vram01-gpub-system-p2p.html
* igt@xe_pm@d3cold-i2c:
- shard-dg2-set2: NOTRUN -> [SKIP][261] ([Intel XE#5694])
[261]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-435/igt@xe_pm@d3cold-i2c.html
- shard-lnl: NOTRUN -> [SKIP][262] ([Intel XE#5694])
[262]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-4/igt@xe_pm@d3cold-i2c.html
- shard-bmg: NOTRUN -> [SKIP][263] ([Intel XE#5694])
[263]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-4/igt@xe_pm@d3cold-i2c.html
* igt@xe_pm@d3cold-mmap-system:
- shard-bmg: NOTRUN -> [SKIP][264] ([Intel XE#2284]) +3 other tests skip
[264]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-2/igt@xe_pm@d3cold-mmap-system.html
* igt@xe_pm@d3cold-multiple-execs:
- shard-dg2-set2: NOTRUN -> [SKIP][265] ([Intel XE#2284] / [Intel XE#366]) +1 other test skip
[265]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-464/igt@xe_pm@d3cold-multiple-execs.html
* igt@xe_pm@d3hot-mmap-vram:
- shard-lnl: NOTRUN -> [SKIP][266] ([Intel XE#1948])
[266]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-1/igt@xe_pm@d3hot-mmap-vram.html
* igt@xe_pm@s2idle-basic:
- shard-dg2-set2: NOTRUN -> [ABORT][267] ([Intel XE#6675]) +15 other tests abort
[267]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-432/igt@xe_pm@s2idle-basic.html
* igt@xe_pm@s2idle-vm-bind-userptr:
- shard-lnl: [PASS][268] -> [ABORT][269] ([Intel XE#6675]) +1 other test abort
[268]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-lnl-8/igt@xe_pm@s2idle-vm-bind-userptr.html
[269]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-1/igt@xe_pm@s2idle-vm-bind-userptr.html
* igt@xe_pm@s4-d3cold-basic-exec:
- shard-lnl: NOTRUN -> [SKIP][270] ([Intel XE#2284] / [Intel XE#366]) +3 other tests skip
[270]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-8/igt@xe_pm@s4-d3cold-basic-exec.html
* igt@xe_pm@vram-d3cold-threshold:
- shard-dg2-set2: NOTRUN -> [SKIP][271] ([Intel XE#579])
[271]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-435/igt@xe_pm@vram-d3cold-threshold.html
- shard-lnl: NOTRUN -> [SKIP][272] ([Intel XE#579])
[272]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-4/igt@xe_pm@vram-d3cold-threshold.html
- shard-bmg: NOTRUN -> [SKIP][273] ([Intel XE#579])
[273]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-4/igt@xe_pm@vram-d3cold-threshold.html
* igt@xe_pm_residency@cpg-basic:
- shard-lnl: NOTRUN -> [SKIP][274] ([Intel XE#584]) +3 other tests skip
[274]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-5/igt@xe_pm_residency@cpg-basic.html
* igt@xe_pmu@fn-engine-activity-load:
- shard-lnl: NOTRUN -> [SKIP][275] ([Intel XE#4650])
[275]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-1/igt@xe_pmu@fn-engine-activity-load.html
* igt@xe_pxp@pxp-stale-bo-bind-post-suspend:
- shard-dg2-set2: NOTRUN -> [SKIP][276] ([Intel XE#4733]) +4 other tests skip
[276]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-464/igt@xe_pxp@pxp-stale-bo-bind-post-suspend.html
* igt@xe_pxp@pxp-stale-bo-bind-post-termination-irq:
- shard-bmg: NOTRUN -> [SKIP][277] ([Intel XE#4733]) +4 other tests skip
[277]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-2/igt@xe_pxp@pxp-stale-bo-bind-post-termination-irq.html
* igt@xe_query@multigpu-query-mem-usage:
- shard-bmg: NOTRUN -> [SKIP][278] ([Intel XE#944]) +3 other tests skip
[278]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-2/igt@xe_query@multigpu-query-mem-usage.html
- shard-dg2-set2: NOTRUN -> [SKIP][279] ([Intel XE#944]) +1 other test skip
[279]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-432/igt@xe_query@multigpu-query-mem-usage.html
* igt@xe_query@multigpu-query-oa-units:
- shard-lnl: NOTRUN -> [SKIP][280] ([Intel XE#944]) +4 other tests skip
[280]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-5/igt@xe_query@multigpu-query-oa-units.html
* igt@xe_render_copy@render-stress-1-copies:
- shard-dg2-set2: NOTRUN -> [SKIP][281] ([Intel XE#4814])
[281]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-432/igt@xe_render_copy@render-stress-1-copies.html
* igt@xe_sriov_auto_provisioning@exclusive-ranges:
- shard-dg2-set2: NOTRUN -> [SKIP][282] ([Intel XE#4130]) +2 other tests skip
[282]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-436/igt@xe_sriov_auto_provisioning@exclusive-ranges.html
- shard-lnl: NOTRUN -> [SKIP][283] ([Intel XE#4130]) +1 other test skip
[283]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@xe_sriov_auto_provisioning@exclusive-ranges.html
* igt@xe_sriov_vram@vf-access-after-resize-up:
- shard-dg2-set2: NOTRUN -> [SKIP][284] ([Intel XE#6318]) +2 other tests skip
[284]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-464/igt@xe_sriov_vram@vf-access-after-resize-up.html
* igt@xe_sriov_vram@vf-access-beyond:
- shard-lnl: NOTRUN -> [SKIP][285] ([Intel XE#6376]) +1 other test skip
[285]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-5/igt@xe_sriov_vram@vf-access-beyond.html
* igt@xe_survivability@i2c-functionality:
- shard-dg2-set2: NOTRUN -> [SKIP][286] ([Intel XE#6529])
[286]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-436/igt@xe_survivability@i2c-functionality.html
- shard-lnl: NOTRUN -> [SKIP][287] ([Intel XE#6529])
[287]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-5/igt@xe_survivability@i2c-functionality.html
#### Possible fixes ####
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-bmg: [FAIL][288] ([Intel XE#5299]) -> [PASS][289]
[288]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-8/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
[289]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_dp_linktrain_fallback@dp-fallback:
- shard-bmg: [FAIL][290] ([Intel XE#4367]) -> [PASS][291]
[290]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-6/igt@kms_dp_linktrain_fallback@dp-fallback.html
[291]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-1/igt@kms_dp_linktrain_fallback@dp-fallback.html
* igt@kms_pm_dc@dc5-psr:
- shard-lnl: [FAIL][292] ([Intel XE#718]) -> [PASS][293]
[292]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-lnl-3/igt@kms_pm_dc@dc5-psr.html
[293]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-5/igt@kms_pm_dc@dc5-psr.html
* igt@xe_pm@s4-exec-after:
- shard-lnl: [ABORT][294] ([Intel XE#6675]) -> [PASS][295]
[294]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-lnl-4/igt@xe_pm@s4-exec-after.html
[295]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@xe_pm@s4-exec-after.html
#### Warnings ####
* igt@kms_content_protection@atomic-dpms:
- shard-bmg: [FAIL][296] ([Intel XE#1178]) -> [SKIP][297] ([Intel XE#2341])
[296]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-5/igt@kms_content_protection@atomic-dpms.html
[297]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_content_protection@atomic-dpms.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-shrfb-msflip-blt:
- shard-bmg: [SKIP][298] ([Intel XE#2311]) -> [SKIP][299] ([Intel XE#2312]) +1 other test skip
[298]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-shrfb-msflip-blt.html
[299]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-wc:
- shard-bmg: [SKIP][300] ([Intel XE#4141]) -> [SKIP][301] ([Intel XE#2312])
[300]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
[301]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_hdr@invalid-hdr:
- shard-bmg: [ABORT][302] ([Intel XE#6740]) -> [SKIP][303] ([Intel XE#1503])
[302]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-8/igt@kms_hdr@invalid-hdr.html
[303]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-6/igt@kms_hdr@invalid-hdr.html
* igt@xe_eudebug_online@interrupt-all-set-breakpoint:
- shard-dg2-set2: [SKIP][304] ([Intel XE#4837]) -> [SKIP][305] ([Intel XE#4837] / [Intel XE#6665]) +2 other tests skip
[304]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-dg2-436/igt@xe_eudebug_online@interrupt-all-set-breakpoint.html
[305]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-dg2-432/igt@xe_eudebug_online@interrupt-all-set-breakpoint.html
* igt@xe_eudebug_online@set-breakpoint-sigint-debugger:
- shard-lnl: [SKIP][306] ([Intel XE#4837]) -> [SKIP][307] ([Intel XE#4837] / [Intel XE#6665]) +5 other tests skip
[306]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-lnl-5/igt@xe_eudebug_online@set-breakpoint-sigint-debugger.html
[307]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-lnl-2/igt@xe_eudebug_online@set-breakpoint-sigint-debugger.html
* igt@xe_eudebug_online@stopped-thread:
- shard-bmg: [SKIP][308] ([Intel XE#4837]) -> [SKIP][309] ([Intel XE#4837] / [Intel XE#6665]) +5 other tests skip
[308]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_8654/shard-bmg-5/igt@xe_eudebug_online@stopped-thread.html
[309]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/shard-bmg-4/igt@xe_eudebug_online@stopped-thread.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#1122]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1122
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1125]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1125
[Intel XE#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126
[Intel XE#1128]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1128
[Intel XE#1135]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1135
[Intel XE#1138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1138
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
[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#1428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1428
[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#1447]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1447
[Intel XE#1470]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1470
[Intel XE#1477]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1477
[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#1512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1512
[Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
[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#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
[Intel XE#2248]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2248
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
[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#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
[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#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#2370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2370
[Intel XE#2372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2372
[Intel XE#2374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2374
[Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
[Intel XE#2387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2387
[Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
[Intel XE#2413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2413
[Intel XE#2414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2414
[Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
[Intel XE#2427]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2427
[Intel XE#2450]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2450
[Intel XE#2457]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2457
[Intel XE#2499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2499
[Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
[Intel XE#2669]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2669
[Intel XE#2724]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2724
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#2853]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2853
[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#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
[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#2939]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2939
[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#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
[Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#3106]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3106
[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#3279]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3279
[Intel XE#3307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3307
[Intel XE#3309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3309
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[Intel XE#3442]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3442
[Intel XE#346]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/346
[Intel XE#352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/352
[Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
[Intel XE#362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/362
[Intel XE#3658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3658
[Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
[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#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
[Intel XE#4130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4130
[Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
[Intel XE#4302]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4302
[Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
[Intel XE#4367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4367
[Intel XE#4422]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4422
[Intel XE#4518]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4518
[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#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
[Intel XE#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
[Intel XE#4650]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4650
[Intel XE#4683]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4683
[Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
[Intel XE#4814]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4814
[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#5007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5007
[Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020
[Intel XE#512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/512
[Intel XE#5299]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5299
[Intel XE#5300]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5300
[Intel XE#5503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5503
[Intel XE#5624]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5624
[Intel XE#5625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5625
[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#5793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5793
[Intel XE#5825]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5825
[Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
[Intel XE#586]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/586
[Intel XE#599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/599
[Intel XE#6032]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6032
[Intel XE#607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/607
[Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
[Intel XE#6196]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6196
[Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
[Intel XE#6317]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6317
[Intel XE#6318]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6318
[Intel XE#6376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6376
[Intel XE#6390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6390
[Intel XE#6503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6503
[Intel XE#6507]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6507
[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#6566]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6566
[Intel XE#658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/658
[Intel XE#6590]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6590
[Intel XE#6592]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6592
[Intel XE#6598]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6598
[Intel XE#6599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6599
[Intel XE#664]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/664
[Intel XE#6645]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6645
[Intel XE#6665]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6665
[Intel XE#6675]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6675
[Intel XE#6676]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6676
[Intel XE#6677]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6677
[Intel XE#6704]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6704
[Intel XE#6706]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6706
[Intel XE#6715]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6715
[Intel XE#6740]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6740
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#701]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/701
[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
[Intel XE#977]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/977
Build changes
-------------
* IGT: IGT_8654 -> IGTPW_14154
IGTPW_14154: 098ea3c08db6e757f07569377531fbadbf3f5288 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8654: 38d9fde0432aa6f2bf6add062f1d4334ad467fbc @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-4193-2d16d4e1aef3cb501fcd37c8558dafeb579be813: 2d16d4e1aef3cb501fcd37c8558dafeb579be813
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_14154/index.html
[-- Attachment #2: Type: text/html, Size: 99669 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v11 06/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU performance test
2025-12-04 5:10 ` [PATCH v11 06/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU performance test nishit.sharma
@ 2025-12-04 8:42 ` Hellstrom, Thomas
2025-12-04 8:45 ` Sharma, Nishit
0 siblings, 1 reply; 20+ messages in thread
From: Hellstrom, Thomas @ 2025-12-04 8:42 UTC (permalink / raw)
To: igt-dev@lists.freedesktop.org, Sharma, Nishit
On Thu, 2025-12-04 at 05:10 +0000, nishit.sharma@intel.com wrote:
> 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>
> Reviewed-by: Pravalika Gurram <pravalika.gurram@intel.com>
> ---
> tests/intel/xe_multigpu_svm.c | 244
> +++++++++++++++++++++++++++++++++-
> 1 file changed, 243 insertions(+), 1 deletion(-)
>
> diff --git a/tests/intel/xe_multigpu_svm.c
> b/tests/intel/xe_multigpu_svm.c
> index b48c4dd2c..d37043e16 100644
> --- a/tests/intel/xe_multigpu_svm.c
> +++ b/tests/intel/xe_multigpu_svm.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"
> @@ -67,6 +69,26 @@
> * Test concurrent write race conditions with prefetch to
> verify coherency
> * behavior and memory migration when multiple GPUs compete for
> same location
> *
> + * SUBTEST: mgpu-latency-basic
> + * Description:
> + * Measure basic cross-GPU memory access latency where one GPU
> writes
> + * and another GPU reads without prefetch to evaluate remote
> access overhead
> + *
> + * SUBTEST: mgpu-latency-prefetch
> + * Description:
> + * Measure cross-GPU memory access latency with explicit
> prefetch to
> + * evaluate memory migration overhead and local access
> performance
> + *
> + * SUBTEST: mgpu-latency-copy-basic
> + * Description:
> + * Measure latency of cross-GPU memory copy operations where
> one GPU
> + * copies data from another GPU's memory without prefetch
> + *
> + * SUBTEST: mgpu-latency-copy-prefetch
> + * Description:
> + * Measure latency of cross-GPU memory copy operations with
> prefetch
> + * to evaluate copy performance with memory migration to local
> VRAM
> + *
> */
>
> #define MAX_XE_REGIONS 8
> @@ -84,6 +106,8 @@
> #define MULTIGPU_ATOMIC_OP BIT(3)
> #define MULTIGPU_COH_OP BIT(4)
> #define MULTIGPU_COH_FAIL BIT(5)
> +#define MULTIGPU_PERF_OP BIT(6)
> +#define MULTIGPU_PERF_REM_COPY BIT(7)
>
> #define INIT 2
> #define STORE 3
> @@ -134,6 +158,11 @@ static void gpu_coherecy_test_wrapper(struct
> xe_svm_gpu_info *src,
> struct
> drm_xe_engine_class_instance *eci,
> unsigned int flags);
>
> +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,
> + unsigned int flags);
> +
> 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)
> @@ -223,6 +252,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)
> @@ -373,12 +407,46 @@ mgpu_check_fault_support(struct xe_svm_gpu_info
> *gpu1,
> return ret;
> }
>
> +static void
> +store_dword_batch_init_1k(int fd, uint32_t vm, uint64_t src_addr,
> + uint32_t *bo, uint64_t *addr, int value)
> +{
> + int max_cmds = (4096 - sizeof(uint32_t)) / 16;
> + 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;
> +
> + for (int j = 0; j < max_cmds; j++) {
> + uint64_t offset = src_addr + j * 4;
> +
> + cmd[i++] = MI_STORE_DWORD_IMM_GEN4;
> + cmd[i++] = offset;
> + cmd[i++] = offset >> 32;
> + cmd[i++] = value;
> + }
> + cmd[i++] = MI_BATCH_BUFFER_END;
> +
> + batch_addr = to_user_pointer(batch);
> +
> + xe_vm_bind_lr_sync(fd, vm, batch_bo, 0, batch_addr,
> batch_bo_size, 0);
> + *bo = batch_bo;
> + *addr = batch_addr;
> +}
> +
> static void
> gpu_madvise_exec_sync(struct xe_svm_gpu_info *gpu, uint32_t vm,
> uint32_t exec_queue,
> uint64_t dst_addr, uint64_t *batch_addr,
> unsigned int flags,
> void *perf)
shouldn't this be a double pointer? "double *perf"?
Also I think that argument should be introduced in this patch since it
was unused before, right?
Thanks,
Thomas
> {
> struct drm_xe_sync sync = {};
> + struct timespec t_start, t_end;
> uint64_t *sync_addr;
>
> xe_multigpu_madvise(gpu->fd, vm, dst_addr, SZ_4K, 0,
> @@ -395,10 +463,19 @@ gpu_madvise_exec_sync(struct xe_svm_gpu_info
> *gpu, uint32_t vm, uint32_t exec_qu
> sync.timeline_value = EXEC_SYNC_VAL;
> WRITE_ONCE(*sync_addr, 0);
>
> + if (flags & MULTIGPU_PERF_OP)
> + clock_gettime(CLOCK_MONOTONIC, &t_start);
> +
> xe_exec_sync(gpu->fd, exec_queue, *batch_addr, &sync, 1);
> if (READ_ONCE(*sync_addr) != EXEC_SYNC_VAL)
> xe_wait_ufence(gpu->fd, (uint64_t *)sync_addr,
> EXEC_SYNC_VAL, exec_queue,
> NSEC_PER_SEC * 10);
> +
> + if (flags & MULTIGPU_PERF_OP) {
> + clock_gettime(CLOCK_MONOTONIC, &t_end);
> + if (perf)
> + *(double *)perf = time_diff(&t_start,
> &t_end);
> + }
> }
>
> static void
> @@ -415,7 +492,12 @@ gpu_batch_create(struct xe_svm_gpu_info *gpu,
> uint32_t vm, uint32_t exec_queue,
> batch_init(gpu->fd, vm, src_addr, dst_addr, SZ_4K,
> batch_bo, batch_addr);
> break;
> case DWORD:
> - store_dword_batch_init(gpu->fd, vm, src_addr,
> batch_bo, batch_addr, BATCH_VALUE);
> + if (flags & MULTIGPU_PERF_OP) {
> + store_dword_batch_init_1k(gpu->fd, vm,
> src_addr, batch_bo,
> + batch_addr,
> BATCH_VALUE);
> + } else
> + store_dword_batch_init(gpu->fd, vm,
> src_addr, batch_bo,
> + batch_addr,
> BATCH_VALUE);
> break;
> default:
> igt_assert(!"Unknown batch op_type");
> @@ -702,6 +784,146 @@ coherency_test_multigpu(struct xe_svm_gpu_info
> *gpu1,
> cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]);
> }
>
> +static void
> +latency_test_multigpu(struct xe_svm_gpu_info *gpu1,
> + struct xe_svm_gpu_info *gpu2,
> + struct drm_xe_engine_class_instance *eci,
> + unsigned int flags)
> +{
> + uint64_t addr;
> + uint32_t vm[2];
> + uint32_t exec_queue[2];
> + uint32_t batch_bo[2];
> + uint8_t *copy_dst;
> + uint64_t batch_addr[2];
> + struct test_exec_data *data;
> + double gpu1_latency, gpu2_latency;
> + double gpu1_bw, gpu2_bw;
> + uint32_t final_value;
> +
> + /* Skip if either GPU doesn't support faults */
> + if (mgpu_check_fault_support(gpu1, gpu2))
> + return;
> +
> + create_vm_and_queue(gpu1, eci, &vm[0], &exec_queue[0]);
> + create_vm_and_queue(gpu2, 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);
> +
> + /* GPU1: Creating batch with predefined value */
> + gpu_batch_create(gpu1, vm[0], exec_queue[0], addr, 0,
> + &batch_bo[0], &batch_addr[0], flags,
> DWORD);
> +
> + /*GPU1: Madvise and Prefetch Ops */
> + gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0], addr,
> &batch_addr[0],
> + flags, &gpu1_latency);
> +
> + gpu1_bw = (SZ_1K / (gpu1_latency / 1e9)) / (1024.0 *
> 1024.0); //Written 1k
> +
> + igt_info("GPU1 write with %s: Latency %.3f us, Bandwidth
> %.2f MB/s\n",
> + (flags & MULTIGPU_PREFETCH) ? "prefetch" :
> "noprefetch",
> + gpu1_latency / 1000.0, gpu1_bw);
> +
> + /* Validate GPU1 performance */
> + if (flags & MULTIGPU_PREFETCH) {
> + if (gpu1_latency / 1000.0 > 5.0)
> + igt_warn("GPU1 write with prefetch slower
> than expected (%.3f us > 5us)\n",
> + gpu1_latency / 1000.0);
> + }
> +
> + if (flags & MULTIGPU_PERF_REM_COPY) {
> + /*GPU2: Copy data from addr (written by GPU1) to its
> own buffer (copy_dst) */
> + gpu_batch_create(gpu2, vm[1], exec_queue[1], addr,
> to_user_pointer(copy_dst),
> + &batch_bo[1], &batch_addr[1],
> flags, INIT);
> +
> + /*GPU2: Madvise and Prefetch Ops */
> + gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1],
> to_user_pointer(copy_dst),
> + &batch_addr[1], flags,
> &gpu2_latency);
> +
> + gpu2_bw = (SZ_1K / (gpu2_latency / 1e9)) / (1024.0 *
> 1024.0);
> + final_value = *(uint32_t *)copy_dst;
> + igt_assert_eq(final_value, BATCH_VALUE);
> + } else {
> + /* GPU1 --> Creating batch with value and executing
> STORE op */
> + gpu_batch_create(gpu1, vm[0], exec_queue[0], addr,
> 0,
> + &batch_bo[0], &batch_addr[0],
> flags, DWORD);
> +
> + /*GPU1: Madvise and Prefetch Ops */
> + gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0],
> addr, &batch_addr[0],
> + flags, &gpu1_latency);
> +
> + /*GPU2: Copy data from addr (written by GPU1) to its
> own buffer (copy_dst) */
> + gpu_batch_create(gpu2, vm[1], exec_queue[1], addr,
> to_user_pointer(copy_dst),
> + &batch_bo[1], &batch_addr[1],
> flags, INIT);
> +
> + /*GPU2: Madvise and Prefetch Ops */
> + gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1],
> to_user_pointer(copy_dst),
> + &batch_addr[1], flags,
> &gpu2_latency);
> +
> + gpu2_latency += gpu1_latency;
> + gpu2_bw = (SZ_1K / (gpu2_latency / 1e9)) / (1024.0 *
> 1024.0);
> + final_value = READ_ONCE(*(uint32_t *)copy_dst);
> + igt_assert_eq(final_value, BATCH_VALUE);
> + }
> +
> + igt_info("GPU2 %s copy: Latency %.3f us, Bandwidth %.2f
> MB/s\n",
> + (flags & MULTIGPU_PERF_REM_COPY) ? "remote" :
> "local",
> + gpu2_latency / 1000.0, gpu2_bw);
> +
> + /* Validate GPU2 performance based on scenario */
> + if (flags & MULTIGPU_PERF_REM_COPY) {
> + if (flags & MULTIGPU_PREFETCH) {
> + /* Remote copy with prefetch: expect 0.2-1us
> */
> + if (gpu2_latency / 1000.0 > 1.0)
> + igt_warn("GPU2 remote copy with
> prefetch slower than expected (%.3f us > 1us)\n",
> + gpu2_latency / 1000.0);
> + } else {
> + /* Remote copy without prefetch: expect 1-
> 4us */
> + if (gpu2_latency / 1000.0 > 10.0)
> + igt_warn("GPU2 P2P remote copy is
> very slow (%.3f us > 10us)\n",
> + gpu2_latency / 1000.0);
> + }
> + } else {
> + if (flags & MULTIGPU_PREFETCH) {
> + /* Local write with prefetch: expect 0.1-
> 0.5us */
> + if (gpu2_latency / 1000.0 > 1.0)
> + igt_warn("GPU2 local write with
> prefetch slower than expected (%.3f us > 1us)\n",
> + gpu2_latency / 1000.0);
> + }
> + }
> +
> + /* Bandwidth comparison */
> + if (gpu2_bw > gpu1_bw)
> + igt_info("GPU2 has %.2fx better bandwidth than
> GPU1\n", gpu2_bw / gpu1_bw);
> + else
> + igt_info("GPU1 has %.2fx better bandwidth than
> GPU2\n", gpu1_bw / gpu2_bw);
> +
> + /* Overall prefetch effectiveness check */
> + if (flags & MULTIGPU_PREFETCH) {
> + if ((gpu1_latency / 1000.0) < 5.0 && (gpu2_latency /
> 1000.0) < 5.0)
> + igt_info("Prefetch providing expected
> performance benefit\n");
> + else
> + igt_warn("Prefetch not providing expected
> performance benefit\n");
> + }
> +
> + munmap((void *)batch_addr[0], BATCH_SIZE(gpu1->fd));
> + munmap((void *)batch_addr[1], BATCH_SIZE(gpu2->fd));
> +
> + batch_fini(gpu1->fd, vm[0], batch_bo[0], batch_addr[0]);
> + batch_fini(gpu2->fd, vm[1], batch_bo[1], batch_addr[1]);
> + free(data);
> + free(copy_dst);
> +
> + cleanup_vm_and_queue(gpu1, vm[0], exec_queue[0]);
> + cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]);
> +}
> +
> static void
> gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
> struct xe_svm_gpu_info *dst,
> @@ -738,6 +960,18 @@ gpu_coherecy_test_wrapper(struct xe_svm_gpu_info
> *src,
> coherency_test_multigpu(src, dst, eci, flags);
> }
>
> +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,
> + unsigned int flags)
> +{
> + igt_assert(src);
> + igt_assert(dst);
> +
> + latency_test_multigpu(src, dst, eci, flags);
> +}
> +
> static void
> test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
> struct drm_xe_engine_class_instance *eci,
> @@ -749,6 +983,8 @@ test_mgpu_exec(int gpu_cnt, struct
> xe_svm_gpu_info *gpus,
> for_each_gpu_pair(gpu_cnt, gpus, eci,
> gpu_atomic_inc_wrapper, flags);
> if (flags & MULTIGPU_COH_OP)
> for_each_gpu_pair(gpu_cnt, gpus, eci,
> gpu_coherecy_test_wrapper, flags);
> + if (flags & MULTIGPU_PERF_OP)
> + for_each_gpu_pair(gpu_cnt, gpus, eci,
> gpu_latency_test_wrapper, flags);
> }
>
> struct section {
> @@ -778,6 +1014,12 @@ igt_main
> { "coherency-prefetch", MULTIGPU_PREFETCH |
> MULTIGPU_COH_OP },
> { "coherency-fail-prefetch",
> MULTIGPU_PREFETCH | MULTIGPU_COH_OP |
> MULTIGPU_COH_FAIL},
> + { "latency-basic", MULTIGPU_PERF_OP },
> + { "latency-copy-basic",
> + MULTIGPU_PERF_OP | MULTIGPU_PERF_REM_COPY },
> + { "latency-prefetch", MULTIGPU_PREFETCH |
> MULTIGPU_PERF_OP },
> + { "latency-copy-prefetch",
> + MULTIGPU_PREFETCH | MULTIGPU_PERF_OP |
> MULTIGPU_PERF_REM_COPY },
> { NULL },
> };
>
^ permalink raw reply [flat|nested] 20+ messages in thread
* RE: [PATCH v11 06/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU performance test
2025-12-04 8:42 ` Hellstrom, Thomas
@ 2025-12-04 8:45 ` Sharma, Nishit
2025-12-04 8:48 ` Hellstrom, Thomas
0 siblings, 1 reply; 20+ messages in thread
From: Sharma, Nishit @ 2025-12-04 8:45 UTC (permalink / raw)
To: Hellstrom, Thomas, igt-dev@lists.freedesktop.org
Hi Thomas,
This argument is Introduced in other Patches as well but where it's not required NULL has been passed. For performance case it's typecasted before use. Void * used keeping in my mind might be in future further enhancements required hence it'll be reused.
Regards
Nishit
-----Original Message-----
From: Hellstrom, Thomas <thomas.hellstrom@intel.com>
Sent: Thursday, December 4, 2025 2:12 PM
To: igt-dev@lists.freedesktop.org; Sharma, Nishit <nishit.sharma@intel.com>
Subject: Re: [PATCH v11 06/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU performance test
On Thu, 2025-12-04 at 05:10 +0000, nishit.sharma@intel.com wrote:
> 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>
> Reviewed-by: Pravalika Gurram <pravalika.gurram@intel.com>
> ---
> tests/intel/xe_multigpu_svm.c | 244
> +++++++++++++++++++++++++++++++++-
> 1 file changed, 243 insertions(+), 1 deletion(-)
>
> diff --git a/tests/intel/xe_multigpu_svm.c
> b/tests/intel/xe_multigpu_svm.c index b48c4dd2c..d37043e16 100644
> --- a/tests/intel/xe_multigpu_svm.c
> +++ b/tests/intel/xe_multigpu_svm.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"
> @@ -67,6 +69,26 @@
> * Test concurrent write race conditions with prefetch to
> verify coherency
> * behavior and memory migration when multiple GPUs compete for
> same location
> *
> + * SUBTEST: mgpu-latency-basic
> + * Description:
> + * Measure basic cross-GPU memory access latency where one GPU
> writes
> + * and another GPU reads without prefetch to evaluate remote
> access overhead
> + *
> + * SUBTEST: mgpu-latency-prefetch
> + * Description:
> + * Measure cross-GPU memory access latency with explicit
> prefetch to
> + * evaluate memory migration overhead and local access
> performance
> + *
> + * SUBTEST: mgpu-latency-copy-basic
> + * Description:
> + * Measure latency of cross-GPU memory copy operations where
> one GPU
> + * copies data from another GPU's memory without prefetch
> + *
> + * SUBTEST: mgpu-latency-copy-prefetch
> + * Description:
> + * Measure latency of cross-GPU memory copy operations with
> prefetch
> + * to evaluate copy performance with memory migration to local
> VRAM
> + *
> */
>
> #define MAX_XE_REGIONS 8
> @@ -84,6 +106,8 @@
> #define MULTIGPU_ATOMIC_OP BIT(3)
> #define MULTIGPU_COH_OP BIT(4)
> #define MULTIGPU_COH_FAIL BIT(5)
> +#define MULTIGPU_PERF_OP BIT(6)
> +#define MULTIGPU_PERF_REM_COPY BIT(7)
>
> #define INIT 2
> #define STORE 3
> @@ -134,6 +158,11 @@ static void gpu_coherecy_test_wrapper(struct
> xe_svm_gpu_info *src,
> struct
> drm_xe_engine_class_instance *eci,
> unsigned int flags);
>
> +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,
> + unsigned int flags);
> +
> 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) @@ -223,6 +252,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)
> @@ -373,12 +407,46 @@ mgpu_check_fault_support(struct xe_svm_gpu_info
> *gpu1,
> return ret;
> }
>
> +static void
> +store_dword_batch_init_1k(int fd, uint32_t vm, uint64_t src_addr,
> + uint32_t *bo, uint64_t *addr, int value) {
> + int max_cmds = (4096 - sizeof(uint32_t)) / 16;
> + 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;
> +
> + for (int j = 0; j < max_cmds; j++) {
> + uint64_t offset = src_addr + j * 4;
> +
> + cmd[i++] = MI_STORE_DWORD_IMM_GEN4;
> + cmd[i++] = offset;
> + cmd[i++] = offset >> 32;
> + cmd[i++] = value;
> + }
> + cmd[i++] = MI_BATCH_BUFFER_END;
> +
> + batch_addr = to_user_pointer(batch);
> +
> + xe_vm_bind_lr_sync(fd, vm, batch_bo, 0, batch_addr,
> batch_bo_size, 0);
> + *bo = batch_bo;
> + *addr = batch_addr;
> +}
> +
> static void
> gpu_madvise_exec_sync(struct xe_svm_gpu_info *gpu, uint32_t vm,
> uint32_t exec_queue,
> uint64_t dst_addr, uint64_t *batch_addr, unsigned int flags,
> void *perf)
shouldn't this be a double pointer? "double *perf"?
Also I think that argument should be introduced in this patch since it was unused before, right?
Thanks,
Thomas
> {
> struct drm_xe_sync sync = {};
> + struct timespec t_start, t_end;
> uint64_t *sync_addr;
>
> xe_multigpu_madvise(gpu->fd, vm, dst_addr, SZ_4K, 0, @@ -395,10
> +463,19 @@ gpu_madvise_exec_sync(struct xe_svm_gpu_info *gpu, uint32_t
> vm, uint32_t exec_qu
> sync.timeline_value = EXEC_SYNC_VAL;
> WRITE_ONCE(*sync_addr, 0);
>
> + if (flags & MULTIGPU_PERF_OP)
> + clock_gettime(CLOCK_MONOTONIC, &t_start);
> +
> xe_exec_sync(gpu->fd, exec_queue, *batch_addr, &sync, 1);
> if (READ_ONCE(*sync_addr) != EXEC_SYNC_VAL)
> xe_wait_ufence(gpu->fd, (uint64_t *)sync_addr, EXEC_SYNC_VAL,
> exec_queue,
> NSEC_PER_SEC * 10);
> +
> + if (flags & MULTIGPU_PERF_OP) {
> + clock_gettime(CLOCK_MONOTONIC, &t_end);
> + if (perf)
> + *(double *)perf = time_diff(&t_start,
> &t_end);
> + }
> }
>
> static void
> @@ -415,7 +492,12 @@ gpu_batch_create(struct xe_svm_gpu_info *gpu,
> uint32_t vm, uint32_t exec_queue,
> batch_init(gpu->fd, vm, src_addr, dst_addr, SZ_4K, batch_bo,
> batch_addr);
> break;
> case DWORD:
> - store_dword_batch_init(gpu->fd, vm, src_addr,
> batch_bo, batch_addr, BATCH_VALUE);
> + if (flags & MULTIGPU_PERF_OP) {
> + store_dword_batch_init_1k(gpu->fd, vm,
> src_addr, batch_bo,
> + batch_addr,
> BATCH_VALUE);
> + } else
> + store_dword_batch_init(gpu->fd, vm,
> src_addr, batch_bo,
> + batch_addr,
> BATCH_VALUE);
> break;
> default:
> igt_assert(!"Unknown batch op_type"); @@ -702,6 +784,146 @@
> coherency_test_multigpu(struct xe_svm_gpu_info *gpu1,
> cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]);
> }
>
> +static void
> +latency_test_multigpu(struct xe_svm_gpu_info *gpu1,
> + struct xe_svm_gpu_info *gpu2,
> + struct drm_xe_engine_class_instance *eci,
> + unsigned int flags)
> +{
> + uint64_t addr;
> + uint32_t vm[2];
> + uint32_t exec_queue[2];
> + uint32_t batch_bo[2];
> + uint8_t *copy_dst;
> + uint64_t batch_addr[2];
> + struct test_exec_data *data;
> + double gpu1_latency, gpu2_latency;
> + double gpu1_bw, gpu2_bw;
> + uint32_t final_value;
> +
> + /* Skip if either GPU doesn't support faults */
> + if (mgpu_check_fault_support(gpu1, gpu2))
> + return;
> +
> + create_vm_and_queue(gpu1, eci, &vm[0], &exec_queue[0]);
> + create_vm_and_queue(gpu2, 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);
> +
> + /* GPU1: Creating batch with predefined value */
> + gpu_batch_create(gpu1, vm[0], exec_queue[0], addr, 0,
> + &batch_bo[0], &batch_addr[0], flags,
> DWORD);
> +
> + /*GPU1: Madvise and Prefetch Ops */
> + gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0], addr,
> &batch_addr[0],
> + flags, &gpu1_latency);
> +
> + gpu1_bw = (SZ_1K / (gpu1_latency / 1e9)) / (1024.0 *
> 1024.0); //Written 1k
> +
> + igt_info("GPU1 write with %s: Latency %.3f us, Bandwidth
> %.2f MB/s\n",
> + (flags & MULTIGPU_PREFETCH) ? "prefetch" :
> "noprefetch",
> + gpu1_latency / 1000.0, gpu1_bw);
> +
> + /* Validate GPU1 performance */
> + if (flags & MULTIGPU_PREFETCH) {
> + if (gpu1_latency / 1000.0 > 5.0)
> + igt_warn("GPU1 write with prefetch slower
> than expected (%.3f us > 5us)\n",
> + gpu1_latency / 1000.0);
> + }
> +
> + if (flags & MULTIGPU_PERF_REM_COPY) {
> + /*GPU2: Copy data from addr (written by GPU1) to its
> own buffer (copy_dst) */
> + gpu_batch_create(gpu2, vm[1], exec_queue[1], addr,
> to_user_pointer(copy_dst),
> + &batch_bo[1], &batch_addr[1],
> flags, INIT);
> +
> + /*GPU2: Madvise and Prefetch Ops */
> + gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1],
> to_user_pointer(copy_dst),
> + &batch_addr[1], flags,
> &gpu2_latency);
> +
> + gpu2_bw = (SZ_1K / (gpu2_latency / 1e9)) / (1024.0 *
> 1024.0);
> + final_value = *(uint32_t *)copy_dst;
> + igt_assert_eq(final_value, BATCH_VALUE);
> + } else {
> + /* GPU1 --> Creating batch with value and executing
> STORE op */
> + gpu_batch_create(gpu1, vm[0], exec_queue[0], addr,
> 0,
> + &batch_bo[0], &batch_addr[0],
> flags, DWORD);
> +
> + /*GPU1: Madvise and Prefetch Ops */
> + gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0],
> addr, &batch_addr[0],
> + flags, &gpu1_latency);
> +
> + /*GPU2: Copy data from addr (written by GPU1) to its
> own buffer (copy_dst) */
> + gpu_batch_create(gpu2, vm[1], exec_queue[1], addr,
> to_user_pointer(copy_dst),
> + &batch_bo[1], &batch_addr[1],
> flags, INIT);
> +
> + /*GPU2: Madvise and Prefetch Ops */
> + gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1],
> to_user_pointer(copy_dst),
> + &batch_addr[1], flags,
> &gpu2_latency);
> +
> + gpu2_latency += gpu1_latency;
> + gpu2_bw = (SZ_1K / (gpu2_latency / 1e9)) / (1024.0 *
> 1024.0);
> + final_value = READ_ONCE(*(uint32_t *)copy_dst);
> + igt_assert_eq(final_value, BATCH_VALUE);
> + }
> +
> + igt_info("GPU2 %s copy: Latency %.3f us, Bandwidth %.2f
> MB/s\n",
> + (flags & MULTIGPU_PERF_REM_COPY) ? "remote" :
> "local",
> + gpu2_latency / 1000.0, gpu2_bw);
> +
> + /* Validate GPU2 performance based on scenario */
> + if (flags & MULTIGPU_PERF_REM_COPY) {
> + if (flags & MULTIGPU_PREFETCH) {
> + /* Remote copy with prefetch: expect 0.2-1us
> */
> + if (gpu2_latency / 1000.0 > 1.0)
> + igt_warn("GPU2 remote copy with
> prefetch slower than expected (%.3f us > 1us)\n",
> + gpu2_latency / 1000.0);
> + } else {
> + /* Remote copy without prefetch: expect 1-
> 4us */
> + if (gpu2_latency / 1000.0 > 10.0)
> + igt_warn("GPU2 P2P remote copy is
> very slow (%.3f us > 10us)\n",
> + gpu2_latency / 1000.0);
> + }
> + } else {
> + if (flags & MULTIGPU_PREFETCH) {
> + /* Local write with prefetch: expect 0.1-
> 0.5us */
> + if (gpu2_latency / 1000.0 > 1.0)
> + igt_warn("GPU2 local write with
> prefetch slower than expected (%.3f us > 1us)\n",
> + gpu2_latency / 1000.0);
> + }
> + }
> +
> + /* Bandwidth comparison */
> + if (gpu2_bw > gpu1_bw)
> + igt_info("GPU2 has %.2fx better bandwidth than
> GPU1\n", gpu2_bw / gpu1_bw);
> + else
> + igt_info("GPU1 has %.2fx better bandwidth than
> GPU2\n", gpu1_bw / gpu2_bw);
> +
> + /* Overall prefetch effectiveness check */
> + if (flags & MULTIGPU_PREFETCH) {
> + if ((gpu1_latency / 1000.0) < 5.0 && (gpu2_latency /
> 1000.0) < 5.0)
> + igt_info("Prefetch providing expected
> performance benefit\n");
> + else
> + igt_warn("Prefetch not providing expected
> performance benefit\n");
> + }
> +
> + munmap((void *)batch_addr[0], BATCH_SIZE(gpu1->fd));
> + munmap((void *)batch_addr[1], BATCH_SIZE(gpu2->fd));
> +
> + batch_fini(gpu1->fd, vm[0], batch_bo[0], batch_addr[0]);
> + batch_fini(gpu2->fd, vm[1], batch_bo[1], batch_addr[1]);
> + free(data);
> + free(copy_dst);
> +
> + cleanup_vm_and_queue(gpu1, vm[0], exec_queue[0]);
> + cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]); }
> +
> static void
> gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
> struct xe_svm_gpu_info *dst, @@ -738,6 +960,18 @@
> gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
> coherency_test_multigpu(src, dst, eci, flags);
> }
>
> +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,
> + unsigned int flags)
> +{
> + igt_assert(src);
> + igt_assert(dst);
> +
> + latency_test_multigpu(src, dst, eci, flags); }
> +
> static void
> test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
> struct drm_xe_engine_class_instance *eci, @@ -749,6 +983,8 @@
> test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
> for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_atomic_inc_wrapper,
> flags);
> if (flags & MULTIGPU_COH_OP)
> for_each_gpu_pair(gpu_cnt, gpus, eci, gpu_coherecy_test_wrapper,
> flags);
> + if (flags & MULTIGPU_PERF_OP)
> + for_each_gpu_pair(gpu_cnt, gpus, eci,
> gpu_latency_test_wrapper, flags);
> }
>
> struct section {
> @@ -778,6 +1014,12 @@ igt_main
> { "coherency-prefetch", MULTIGPU_PREFETCH | MULTIGPU_COH_OP },
> { "coherency-fail-prefetch",
> MULTIGPU_PREFETCH | MULTIGPU_COH_OP | MULTIGPU_COH_FAIL},
> + { "latency-basic", MULTIGPU_PERF_OP },
> + { "latency-copy-basic",
> + MULTIGPU_PERF_OP | MULTIGPU_PERF_REM_COPY },
> + { "latency-prefetch", MULTIGPU_PREFETCH |
> MULTIGPU_PERF_OP },
> + { "latency-copy-prefetch",
> + MULTIGPU_PREFETCH | MULTIGPU_PERF_OP |
> MULTIGPU_PERF_REM_COPY },
> { NULL },
> };
>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v11 06/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU performance test
2025-12-04 8:45 ` Sharma, Nishit
@ 2025-12-04 8:48 ` Hellstrom, Thomas
0 siblings, 0 replies; 20+ messages in thread
From: Hellstrom, Thomas @ 2025-12-04 8:48 UTC (permalink / raw)
To: igt-dev@lists.freedesktop.org, Sharma, Nishit
Hi, Nishit,
On Thu, 2025-12-04 at 08:45 +0000, Sharma, Nishit wrote:
> Hi Thomas,
>
> This argument is Introduced in other Patches as well but where it's
> not required NULL has been passed. For performance case it's
> typecasted before use. Void * used keeping in my mind might be in
> future further enhancements required hence it'll be reused.
Please use 'double *', If something else is needed in the future we can
deal with that then.
Thanks,
Thomas
>
> Regards
> Nishit
>
> -----Original Message-----
> From: Hellstrom, Thomas <thomas.hellstrom@intel.com>
> Sent: Thursday, December 4, 2025 2:12 PM
> To: igt-dev@lists.freedesktop.org; Sharma, Nishit
> <nishit.sharma@intel.com>
> Subject: Re: [PATCH v11 06/10] tests/intel/xe_multigpu_svm: Add SVM
> multi-GPU performance test
>
> On Thu, 2025-12-04 at 05:10 +0000, nishit.sharma@intel.com wrote:
> > 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>
> > Reviewed-by: Pravalika Gurram <pravalika.gurram@intel.com>
> > ---
> > tests/intel/xe_multigpu_svm.c | 244
> > +++++++++++++++++++++++++++++++++-
> > 1 file changed, 243 insertions(+), 1 deletion(-)
> >
> > diff --git a/tests/intel/xe_multigpu_svm.c
> > b/tests/intel/xe_multigpu_svm.c index b48c4dd2c..d37043e16 100644
> > --- a/tests/intel/xe_multigpu_svm.c
> > +++ b/tests/intel/xe_multigpu_svm.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"
> > @@ -67,6 +69,26 @@
> > * Test concurrent write race conditions with prefetch to
> > verify coherency
> > * behavior and memory migration when multiple GPUs compete
> > for
> > same location
> > *
> > + * SUBTEST: mgpu-latency-basic
> > + * Description:
> > + * Measure basic cross-GPU memory access latency where one
> > GPU
> > writes
> > + * and another GPU reads without prefetch to evaluate remote
> > access overhead
> > + *
> > + * SUBTEST: mgpu-latency-prefetch
> > + * Description:
> > + * Measure cross-GPU memory access latency with explicit
> > prefetch to
> > + * evaluate memory migration overhead and local access
> > performance
> > + *
> > + * SUBTEST: mgpu-latency-copy-basic
> > + * Description:
> > + * Measure latency of cross-GPU memory copy operations where
> > one GPU
> > + * copies data from another GPU's memory without prefetch
> > + *
> > + * SUBTEST: mgpu-latency-copy-prefetch
> > + * Description:
> > + * Measure latency of cross-GPU memory copy operations with
> > prefetch
> > + * to evaluate copy performance with memory migration to
> > local
> > VRAM
> > + *
> > */
> >
> > #define MAX_XE_REGIONS 8
> > @@ -84,6 +106,8 @@
> > #define MULTIGPU_ATOMIC_OP BIT(3)
> > #define MULTIGPU_COH_OP BIT(4)
> > #define MULTIGPU_COH_FAIL BIT(5)
> > +#define MULTIGPU_PERF_OP BIT(6)
> > +#define MULTIGPU_PERF_REM_COPY BIT(7)
> >
> > #define INIT 2
> > #define STORE 3
> > @@ -134,6 +158,11 @@ static void gpu_coherecy_test_wrapper(struct
> > xe_svm_gpu_info *src,
> > struct
> > drm_xe_engine_class_instance *eci,
> > unsigned int flags);
> >
> > +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,
> > + unsigned int flags);
> > +
> > 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) @@ -223,6
> > +252,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)
> > @@ -373,12 +407,46 @@ mgpu_check_fault_support(struct
> > xe_svm_gpu_info
> > *gpu1,
> > return ret;
> > }
> >
> > +static void
> > +store_dword_batch_init_1k(int fd, uint32_t vm, uint64_t src_addr,
> > + uint32_t *bo, uint64_t *addr, int value)
> > {
> > + int max_cmds = (4096 - sizeof(uint32_t)) / 16;
> > + 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;
> > +
> > + for (int j = 0; j < max_cmds; j++) {
> > + uint64_t offset = src_addr + j * 4;
> > +
> > + cmd[i++] = MI_STORE_DWORD_IMM_GEN4;
> > + cmd[i++] = offset;
> > + cmd[i++] = offset >> 32;
> > + cmd[i++] = value;
> > + }
> > + cmd[i++] = MI_BATCH_BUFFER_END;
> > +
> > + batch_addr = to_user_pointer(batch);
> > +
> > + xe_vm_bind_lr_sync(fd, vm, batch_bo, 0, batch_addr,
> > batch_bo_size, 0);
> > + *bo = batch_bo;
> > + *addr = batch_addr;
> > +}
> > +
> > static void
> > gpu_madvise_exec_sync(struct xe_svm_gpu_info *gpu, uint32_t vm,
> > uint32_t exec_queue,
> > uint64_t dst_addr, uint64_t *batch_addr,
> > unsigned int flags,
> > void *perf)
>
> shouldn't this be a double pointer? "double *perf"?
>
> Also I think that argument should be introduced in this patch since
> it was unused before, right?
>
> Thanks,
> Thomas
>
>
> > {
> > struct drm_xe_sync sync = {};
> > + struct timespec t_start, t_end;
> > uint64_t *sync_addr;
> >
> > xe_multigpu_madvise(gpu->fd, vm, dst_addr, SZ_4K, 0, @@ -
> > 395,10
> > +463,19 @@ gpu_madvise_exec_sync(struct xe_svm_gpu_info *gpu,
> > uint32_t
> > vm, uint32_t exec_qu
> > sync.timeline_value = EXEC_SYNC_VAL;
> > WRITE_ONCE(*sync_addr, 0);
> >
> > + if (flags & MULTIGPU_PERF_OP)
> > + clock_gettime(CLOCK_MONOTONIC, &t_start);
> > +
> > xe_exec_sync(gpu->fd, exec_queue, *batch_addr, &sync, 1);
> > if (READ_ONCE(*sync_addr) != EXEC_SYNC_VAL)
> > xe_wait_ufence(gpu->fd, (uint64_t *)sync_addr,
> > EXEC_SYNC_VAL,
> > exec_queue,
> > NSEC_PER_SEC * 10);
> > +
> > + if (flags & MULTIGPU_PERF_OP) {
> > + clock_gettime(CLOCK_MONOTONIC, &t_end);
> > + if (perf)
> > + *(double *)perf = time_diff(&t_start,
> > &t_end);
> > + }
> > }
> >
> > static void
> > @@ -415,7 +492,12 @@ gpu_batch_create(struct xe_svm_gpu_info *gpu,
> > uint32_t vm, uint32_t exec_queue,
> > batch_init(gpu->fd, vm, src_addr, dst_addr, SZ_4K,
> > batch_bo,
> > batch_addr);
> > break;
> > case DWORD:
> > - store_dword_batch_init(gpu->fd, vm, src_addr,
> > batch_bo, batch_addr, BATCH_VALUE);
> > + if (flags & MULTIGPU_PERF_OP) {
> > + store_dword_batch_init_1k(gpu->fd, vm,
> > src_addr, batch_bo,
> > + batch_addr,
> > BATCH_VALUE);
> > + } else
> > + store_dword_batch_init(gpu->fd, vm,
> > src_addr, batch_bo,
> > + batch_addr,
> > BATCH_VALUE);
> > break;
> > default:
> > igt_assert(!"Unknown batch op_type"); @@ -702,6
> > +784,146 @@
> > coherency_test_multigpu(struct xe_svm_gpu_info *gpu1,
> > cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]);
> > }
> >
> > +static void
> > +latency_test_multigpu(struct xe_svm_gpu_info *gpu1,
> > + struct xe_svm_gpu_info *gpu2,
> > + struct drm_xe_engine_class_instance *eci,
> > + unsigned int flags)
> > +{
> > + uint64_t addr;
> > + uint32_t vm[2];
> > + uint32_t exec_queue[2];
> > + uint32_t batch_bo[2];
> > + uint8_t *copy_dst;
> > + uint64_t batch_addr[2];
> > + struct test_exec_data *data;
> > + double gpu1_latency, gpu2_latency;
> > + double gpu1_bw, gpu2_bw;
> > + uint32_t final_value;
> > +
> > + /* Skip if either GPU doesn't support faults */
> > + if (mgpu_check_fault_support(gpu1, gpu2))
> > + return;
> > +
> > + create_vm_and_queue(gpu1, eci, &vm[0], &exec_queue[0]);
> > + create_vm_and_queue(gpu2, 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);
> > +
> > + /* GPU1: Creating batch with predefined value */
> > + gpu_batch_create(gpu1, vm[0], exec_queue[0], addr, 0,
> > + &batch_bo[0], &batch_addr[0], flags,
> > DWORD);
> > +
> > + /*GPU1: Madvise and Prefetch Ops */
> > + gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0], addr,
> > &batch_addr[0],
> > + flags, &gpu1_latency);
> > +
> > + gpu1_bw = (SZ_1K / (gpu1_latency / 1e9)) / (1024.0 *
> > 1024.0); //Written 1k
> > +
> > + igt_info("GPU1 write with %s: Latency %.3f us, Bandwidth
> > %.2f MB/s\n",
> > + (flags & MULTIGPU_PREFETCH) ? "prefetch" :
> > "noprefetch",
> > + gpu1_latency / 1000.0, gpu1_bw);
> > +
> > + /* Validate GPU1 performance */
> > + if (flags & MULTIGPU_PREFETCH) {
> > + if (gpu1_latency / 1000.0 > 5.0)
> > + igt_warn("GPU1 write with prefetch slower
> > than expected (%.3f us > 5us)\n",
> > + gpu1_latency / 1000.0);
> > + }
> > +
> > + if (flags & MULTIGPU_PERF_REM_COPY) {
> > + /*GPU2: Copy data from addr (written by GPU1) to
> > its
> > own buffer (copy_dst) */
> > + gpu_batch_create(gpu2, vm[1], exec_queue[1], addr,
> > to_user_pointer(copy_dst),
> > + &batch_bo[1], &batch_addr[1],
> > flags, INIT);
> > +
> > + /*GPU2: Madvise and Prefetch Ops */
> > + gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1],
> > to_user_pointer(copy_dst),
> > + &batch_addr[1], flags,
> > &gpu2_latency);
> > +
> > + gpu2_bw = (SZ_1K / (gpu2_latency / 1e9)) / (1024.0
> > *
> > 1024.0);
> > + final_value = *(uint32_t *)copy_dst;
> > + igt_assert_eq(final_value, BATCH_VALUE);
> > + } else {
> > + /* GPU1 --> Creating batch with value and
> > executing
> > STORE op */
> > + gpu_batch_create(gpu1, vm[0], exec_queue[0], addr,
> > 0,
> > + &batch_bo[0], &batch_addr[0],
> > flags, DWORD);
> > +
> > + /*GPU1: Madvise and Prefetch Ops */
> > + gpu_madvise_exec_sync(gpu1, vm[0], exec_queue[0],
> > addr, &batch_addr[0],
> > + flags, &gpu1_latency);
> > +
> > + /*GPU2: Copy data from addr (written by GPU1) to
> > its
> > own buffer (copy_dst) */
> > + gpu_batch_create(gpu2, vm[1], exec_queue[1], addr,
> > to_user_pointer(copy_dst),
> > + &batch_bo[1], &batch_addr[1],
> > flags, INIT);
> > +
> > + /*GPU2: Madvise and Prefetch Ops */
> > + gpu_madvise_exec_sync(gpu2, vm[1], exec_queue[1],
> > to_user_pointer(copy_dst),
> > + &batch_addr[1], flags,
> > &gpu2_latency);
> > +
> > + gpu2_latency += gpu1_latency;
> > + gpu2_bw = (SZ_1K / (gpu2_latency / 1e9)) / (1024.0
> > *
> > 1024.0);
> > + final_value = READ_ONCE(*(uint32_t *)copy_dst);
> > + igt_assert_eq(final_value, BATCH_VALUE);
> > + }
> > +
> > + igt_info("GPU2 %s copy: Latency %.3f us, Bandwidth %.2f
> > MB/s\n",
> > + (flags & MULTIGPU_PERF_REM_COPY) ? "remote" :
> > "local",
> > + gpu2_latency / 1000.0, gpu2_bw);
> > +
> > + /* Validate GPU2 performance based on scenario */
> > + if (flags & MULTIGPU_PERF_REM_COPY) {
> > + if (flags & MULTIGPU_PREFETCH) {
> > + /* Remote copy with prefetch: expect 0.2-
> > 1us
> > */
> > + if (gpu2_latency / 1000.0 > 1.0)
> > + igt_warn("GPU2 remote copy with
> > prefetch slower than expected (%.3f us > 1us)\n",
> > + gpu2_latency / 1000.0);
> > + } else {
> > + /* Remote copy without prefetch: expect 1-
> > 4us */
> > + if (gpu2_latency / 1000.0 > 10.0)
> > + igt_warn("GPU2 P2P remote copy is
> > very slow (%.3f us > 10us)\n",
> > + gpu2_latency / 1000.0);
> > + }
> > + } else {
> > + if (flags & MULTIGPU_PREFETCH) {
> > + /* Local write with prefetch: expect 0.1-
> > 0.5us */
> > + if (gpu2_latency / 1000.0 > 1.0)
> > + igt_warn("GPU2 local write with
> > prefetch slower than expected (%.3f us > 1us)\n",
> > + gpu2_latency / 1000.0);
> > + }
> > + }
> > +
> > + /* Bandwidth comparison */
> > + if (gpu2_bw > gpu1_bw)
> > + igt_info("GPU2 has %.2fx better bandwidth than
> > GPU1\n", gpu2_bw / gpu1_bw);
> > + else
> > + igt_info("GPU1 has %.2fx better bandwidth than
> > GPU2\n", gpu1_bw / gpu2_bw);
> > +
> > + /* Overall prefetch effectiveness check */
> > + if (flags & MULTIGPU_PREFETCH) {
> > + if ((gpu1_latency / 1000.0) < 5.0 && (gpu2_latency
> > /
> > 1000.0) < 5.0)
> > + igt_info("Prefetch providing expected
> > performance benefit\n");
> > + else
> > + igt_warn("Prefetch not providing expected
> > performance benefit\n");
> > + }
> > +
> > + munmap((void *)batch_addr[0], BATCH_SIZE(gpu1->fd));
> > + munmap((void *)batch_addr[1], BATCH_SIZE(gpu2->fd));
> > +
> > + batch_fini(gpu1->fd, vm[0], batch_bo[0], batch_addr[0]);
> > + batch_fini(gpu2->fd, vm[1], batch_bo[1], batch_addr[1]);
> > + free(data);
> > + free(copy_dst);
> > +
> > + cleanup_vm_and_queue(gpu1, vm[0], exec_queue[0]);
> > + cleanup_vm_and_queue(gpu2, vm[1], exec_queue[1]); }
> > +
> > static void
> > gpu_mem_access_wrapper(struct xe_svm_gpu_info *src,
> > struct xe_svm_gpu_info *dst, @@ -738,6
> > +960,18 @@
> > gpu_coherecy_test_wrapper(struct xe_svm_gpu_info *src,
> > coherency_test_multigpu(src, dst, eci, flags);
> > }
> >
> > +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,
> > + unsigned int flags)
> > +{
> > + igt_assert(src);
> > + igt_assert(dst);
> > +
> > + latency_test_multigpu(src, dst, eci, flags); }
> > +
> > static void
> > test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
> > struct drm_xe_engine_class_instance *eci, @@ -749,6
> > +983,8 @@
> > test_mgpu_exec(int gpu_cnt, struct xe_svm_gpu_info *gpus,
> > for_each_gpu_pair(gpu_cnt, gpus, eci,
> > gpu_atomic_inc_wrapper,
> > flags);
> > if (flags & MULTIGPU_COH_OP)
> > for_each_gpu_pair(gpu_cnt, gpus, eci,
> > gpu_coherecy_test_wrapper,
> > flags);
> > + if (flags & MULTIGPU_PERF_OP)
> > + for_each_gpu_pair(gpu_cnt, gpus, eci,
> > gpu_latency_test_wrapper, flags);
> > }
> >
> > struct section {
> > @@ -778,6 +1014,12 @@ igt_main
> > { "coherency-prefetch", MULTIGPU_PREFETCH |
> > MULTIGPU_COH_OP },
> > { "coherency-fail-prefetch",
> > MULTIGPU_PREFETCH | MULTIGPU_COH_OP |
> > MULTIGPU_COH_FAIL},
> > + { "latency-basic", MULTIGPU_PERF_OP },
> > + { "latency-copy-basic",
> > + MULTIGPU_PERF_OP | MULTIGPU_PERF_REM_COPY },
> > + { "latency-prefetch", MULTIGPU_PREFETCH |
> > MULTIGPU_PERF_OP },
> > + { "latency-copy-prefetch",
> > + MULTIGPU_PREFETCH | MULTIGPU_PERF_OP |
> > MULTIGPU_PERF_REM_COPY },
> > { NULL },
> > };
> >
>
^ permalink raw reply [flat|nested] 20+ messages in thread
* ✓ i915.CI.Full: success for Madvise feature in SVM for Multi-GPU configs
2025-12-04 5:10 [PATCH v11 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
` (12 preceding siblings ...)
2025-12-04 7:27 ` ✗ Xe.CI.Full: failure " Patchwork
@ 2025-12-05 14:06 ` Patchwork
13 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2025-12-05 14:06 UTC (permalink / raw)
To: nishit.sharma; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 138451 bytes --]
== Series Details ==
Series: Madvise feature in SVM for Multi-GPU configs
URL : https://patchwork.freedesktop.org/series/158459/
State : success
== Summary ==
CI Bug Log - changes from IGT_8654_full -> IGTPW_14154_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/index.html
Participating hosts (10 -> 10)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in IGTPW_14154_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@api_intel_bb@crc32:
- shard-tglu: NOTRUN -> [SKIP][1] ([i915#6230])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-7/igt@api_intel_bb@crc32.html
* igt@api_intel_bb@object-reloc-keep-cache:
- shard-mtlp: NOTRUN -> [SKIP][2] ([i915#8411])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-2/igt@api_intel_bb@object-reloc-keep-cache.html
* igt@device_reset@cold-reset-bound:
- shard-tglu: NOTRUN -> [SKIP][3] ([i915#11078])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-4/igt@device_reset@cold-reset-bound.html
* igt@device_reset@unbind-reset-rebind:
- shard-dg1: NOTRUN -> [ABORT][4] ([i915#11814] / [i915#11815])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-15/igt@device_reset@unbind-reset-rebind.html
* igt@gem_basic@multigpu-create-close:
- shard-tglu: NOTRUN -> [SKIP][5] ([i915#7697])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-10/igt@gem_basic@multigpu-create-close.html
* igt@gem_ccs@block-copy-compressed:
- shard-dg1: NOTRUN -> [SKIP][6] ([i915#3555] / [i915#9323])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-15/igt@gem_ccs@block-copy-compressed.html
- shard-tglu: NOTRUN -> [SKIP][7] ([i915#3555] / [i915#9323])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-8/igt@gem_ccs@block-copy-compressed.html
- shard-rkl: NOTRUN -> [SKIP][8] ([i915#3555] / [i915#9323])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-8/igt@gem_ccs@block-copy-compressed.html
* igt@gem_ccs@ctrl-surf-copy-new-ctx:
- shard-mtlp: NOTRUN -> [SKIP][9] ([i915#9323])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-7/igt@gem_ccs@ctrl-surf-copy-new-ctx.html
- shard-rkl: NOTRUN -> [SKIP][10] ([i915#9323])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-7/igt@gem_ccs@ctrl-surf-copy-new-ctx.html
- shard-dg1: NOTRUN -> [SKIP][11] ([i915#9323])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-19/igt@gem_ccs@ctrl-surf-copy-new-ctx.html
- shard-tglu: NOTRUN -> [SKIP][12] ([i915#9323])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-5/igt@gem_ccs@ctrl-surf-copy-new-ctx.html
* igt@gem_create@create-ext-cpu-access-sanity-check:
- shard-tglu: NOTRUN -> [SKIP][13] ([i915#6335])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-6/igt@gem_create@create-ext-cpu-access-sanity-check.html
- shard-mtlp: NOTRUN -> [SKIP][14] ([i915#6335])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@gem_create@create-ext-cpu-access-sanity-check.html
- shard-rkl: NOTRUN -> [SKIP][15] ([i915#6335])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-7/igt@gem_create@create-ext-cpu-access-sanity-check.html
* igt@gem_ctx_persistence@engines-queued:
- shard-snb: NOTRUN -> [SKIP][16] ([i915#1099]) +4 other tests skip
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-snb5/igt@gem_ctx_persistence@engines-queued.html
* igt@gem_ctx_persistence@heartbeat-close:
- shard-dg1: NOTRUN -> [SKIP][17] ([i915#8555])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-12/igt@gem_ctx_persistence@heartbeat-close.html
- shard-mtlp: NOTRUN -> [SKIP][18] ([i915#8555])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@gem_ctx_persistence@heartbeat-close.html
- shard-dg2: NOTRUN -> [SKIP][19] ([i915#8555])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@gem_ctx_persistence@heartbeat-close.html
* igt@gem_ctx_sseu@engines:
- shard-dg1: NOTRUN -> [SKIP][20] ([i915#280])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-17/igt@gem_ctx_sseu@engines.html
- shard-mtlp: NOTRUN -> [SKIP][21] ([i915#280]) +2 other tests skip
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-4/igt@gem_ctx_sseu@engines.html
* igt@gem_ctx_sseu@invalid-args:
- shard-dg2: NOTRUN -> [SKIP][22] ([i915#280]) +1 other test skip
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@gem_ctx_sseu@invalid-args.html
- shard-tglu-1: NOTRUN -> [SKIP][23] ([i915#280])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@gem_ctx_sseu@invalid-args.html
* igt@gem_ctx_sseu@invalid-sseu:
- shard-rkl: NOTRUN -> [SKIP][24] ([i915#280])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-7/igt@gem_ctx_sseu@invalid-sseu.html
* igt@gem_ctx_sseu@mmap-args:
- shard-tglu: NOTRUN -> [SKIP][25] ([i915#280]) +1 other test skip
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-10/igt@gem_ctx_sseu@mmap-args.html
* igt@gem_eio@hibernate:
- shard-glk: NOTRUN -> [ABORT][26] ([i915#15317]) +2 other tests abort
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk6/igt@gem_eio@hibernate.html
* igt@gem_exec_balancer@parallel-contexts:
- shard-tglu: NOTRUN -> [SKIP][27] ([i915#4525]) +4 other tests skip
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-10/igt@gem_exec_balancer@parallel-contexts.html
* igt@gem_exec_balancer@parallel-out-fence:
- shard-rkl: NOTRUN -> [SKIP][28] ([i915#4525]) +3 other tests skip
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-4/igt@gem_exec_balancer@parallel-out-fence.html
* igt@gem_exec_fence@submit:
- shard-dg1: NOTRUN -> [SKIP][29] ([i915#4812]) +1 other test skip
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-16/igt@gem_exec_fence@submit.html
* igt@gem_exec_fence@submit67:
- shard-mtlp: NOTRUN -> [SKIP][30] ([i915#4812]) +1 other test skip
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-7/igt@gem_exec_fence@submit67.html
* igt@gem_exec_flush@basic-batch-kernel-default-cmd:
- shard-mtlp: NOTRUN -> [SKIP][31] ([i915#3711])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-7/igt@gem_exec_flush@basic-batch-kernel-default-cmd.html
* igt@gem_exec_flush@basic-uc-pro-default:
- shard-dg2: NOTRUN -> [SKIP][32] ([i915#3539] / [i915#4852]) +5 other tests skip
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-11/igt@gem_exec_flush@basic-uc-pro-default.html
* igt@gem_exec_flush@basic-wb-rw-before-default:
- shard-dg1: NOTRUN -> [SKIP][33] ([i915#3539] / [i915#4852]) +1 other test skip
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-13/igt@gem_exec_flush@basic-wb-rw-before-default.html
* igt@gem_exec_params@rsvd2-dirt:
- shard-mtlp: NOTRUN -> [SKIP][34] ([i915#5107])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-8/igt@gem_exec_params@rsvd2-dirt.html
- shard-dg2: NOTRUN -> [SKIP][35] ([i915#5107])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-5/igt@gem_exec_params@rsvd2-dirt.html
* igt@gem_exec_reloc@basic-cpu-read:
- shard-dg2: NOTRUN -> [SKIP][36] ([i915#3281]) +13 other tests skip
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@gem_exec_reloc@basic-cpu-read.html
* igt@gem_exec_reloc@basic-wc-cpu-noreloc:
- shard-rkl: NOTRUN -> [SKIP][37] ([i915#14544] / [i915#3281])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@gem_exec_reloc@basic-wc-cpu-noreloc.html
* igt@gem_exec_reloc@basic-wc-read:
- shard-dg1: NOTRUN -> [SKIP][38] ([i915#3281]) +12 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-18/igt@gem_exec_reloc@basic-wc-read.html
* igt@gem_exec_reloc@basic-write-read-noreloc:
- shard-rkl: NOTRUN -> [SKIP][39] ([i915#3281]) +12 other tests skip
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-1/igt@gem_exec_reloc@basic-write-read-noreloc.html
* igt@gem_exec_reloc@basic-write-wc-noreloc:
- shard-mtlp: NOTRUN -> [SKIP][40] ([i915#3281]) +20 other tests skip
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-2/igt@gem_exec_reloc@basic-write-wc-noreloc.html
* igt@gem_exec_schedule@preempt-queue-contexts-chain:
- shard-dg2: NOTRUN -> [SKIP][41] ([i915#4537] / [i915#4812])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-4/igt@gem_exec_schedule@preempt-queue-contexts-chain.html
* igt@gem_exec_suspend@basic-s4-devices:
- shard-tglu: NOTRUN -> [ABORT][42] ([i915#15317] / [i915#7975]) +1 other test abort
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-2/igt@gem_exec_suspend@basic-s4-devices.html
- shard-mtlp: NOTRUN -> [ABORT][43] ([i915#15317] / [i915#7975]) +1 other test abort
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-8/igt@gem_exec_suspend@basic-s4-devices.html
- shard-dg2: NOTRUN -> [ABORT][44] ([i915#15317] / [i915#7975]) +1 other test abort
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-11/igt@gem_exec_suspend@basic-s4-devices.html
- shard-rkl: NOTRUN -> [ABORT][45] ([i915#15317] / [i915#7975]) +1 other test abort
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-5/igt@gem_exec_suspend@basic-s4-devices.html
* igt@gem_exec_suspend@basic-s4-devices@smem:
- shard-dg1: NOTRUN -> [ABORT][46] ([i915#15317] / [i915#7975]) +1 other test abort
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-13/igt@gem_exec_suspend@basic-s4-devices@smem.html
* igt@gem_fence_thrash@bo-copy:
- shard-dg2: NOTRUN -> [SKIP][47] ([i915#4860]) +4 other tests skip
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-1/igt@gem_fence_thrash@bo-copy.html
- shard-dg1: NOTRUN -> [SKIP][48] ([i915#4860]) +1 other test skip
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-18/igt@gem_fence_thrash@bo-copy.html
* igt@gem_fenced_exec_thrash@no-spare-fences-interruptible:
- shard-mtlp: NOTRUN -> [SKIP][49] ([i915#4860]) +3 other tests skip
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-6/igt@gem_fenced_exec_thrash@no-spare-fences-interruptible.html
* igt@gem_gtt_cpu_tlb:
- shard-dg1: NOTRUN -> [SKIP][50] ([i915#4077]) +9 other tests skip
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-13/igt@gem_gtt_cpu_tlb.html
* igt@gem_lmem_swapping@heavy-verify-multi:
- shard-mtlp: NOTRUN -> [SKIP][51] ([i915#4613]) +8 other tests skip
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-4/igt@gem_lmem_swapping@heavy-verify-multi.html
- shard-tglu-1: NOTRUN -> [SKIP][52] ([i915#4613])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@gem_lmem_swapping@heavy-verify-multi.html
* igt@gem_lmem_swapping@heavy-verify-multi-ccs:
- shard-tglu: NOTRUN -> [SKIP][53] ([i915#4613]) +8 other tests skip
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-9/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html
* igt@gem_lmem_swapping@parallel-multi:
- shard-rkl: NOTRUN -> [SKIP][54] ([i915#4613]) +7 other tests skip
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-7/igt@gem_lmem_swapping@parallel-multi.html
* igt@gem_lmem_swapping@verify-ccs:
- shard-glk: NOTRUN -> [SKIP][55] ([i915#4613]) +5 other tests skip
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk5/igt@gem_lmem_swapping@verify-ccs.html
* igt@gem_lmem_swapping@verify-random-ccs:
- shard-dg1: NOTRUN -> [SKIP][56] ([i915#12193]) +1 other test skip
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-16/igt@gem_lmem_swapping@verify-random-ccs.html
* igt@gem_lmem_swapping@verify-random-ccs@lmem0:
- shard-dg1: NOTRUN -> [SKIP][57] ([i915#4565]) +1 other test skip
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-16/igt@gem_lmem_swapping@verify-random-ccs@lmem0.html
* igt@gem_media_fill@media-fill:
- shard-mtlp: NOTRUN -> [SKIP][58] ([i915#8289])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-4/igt@gem_media_fill@media-fill.html
- shard-dg2: NOTRUN -> [SKIP][59] ([i915#8289])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@gem_media_fill@media-fill.html
* igt@gem_mmap@bad-size:
- shard-mtlp: NOTRUN -> [SKIP][60] ([i915#4083]) +13 other tests skip
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-3/igt@gem_mmap@bad-size.html
* igt@gem_mmap_gtt@cpuset-medium-copy:
- shard-mtlp: NOTRUN -> [SKIP][61] ([i915#4077]) +20 other tests skip
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-6/igt@gem_mmap_gtt@cpuset-medium-copy.html
* igt@gem_mmap_wc@read:
- shard-dg1: NOTRUN -> [SKIP][62] ([i915#4083]) +6 other tests skip
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-18/igt@gem_mmap_wc@read.html
* igt@gem_mmap_wc@write-prefaulted:
- shard-dg2: NOTRUN -> [SKIP][63] ([i915#4083]) +7 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-5/igt@gem_mmap_wc@write-prefaulted.html
* igt@gem_partial_pwrite_pread@reads-display:
- shard-mtlp: NOTRUN -> [SKIP][64] ([i915#3282]) +3 other tests skip
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-8/igt@gem_partial_pwrite_pread@reads-display.html
* igt@gem_partial_pwrite_pread@writes-after-reads-uncached:
- shard-rkl: NOTRUN -> [SKIP][65] ([i915#3282]) +4 other tests skip
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-3/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html
- shard-dg1: NOTRUN -> [SKIP][66] ([i915#3282]) +2 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-16/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html
* igt@gem_pwrite@basic-random:
- shard-dg2: NOTRUN -> [SKIP][67] ([i915#3282]) +2 other tests skip
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-1/igt@gem_pwrite@basic-random.html
* igt@gem_pxp@hw-rejects-pxp-buffer:
- shard-tglu: NOTRUN -> [SKIP][68] ([i915#13398])
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-7/igt@gem_pxp@hw-rejects-pxp-buffer.html
- shard-mtlp: NOTRUN -> [SKIP][69] ([i915#13398])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@gem_pxp@hw-rejects-pxp-buffer.html
* igt@gem_pxp@reject-modify-context-protection-off-2:
- shard-dg2: NOTRUN -> [SKIP][70] ([i915#4270]) +3 other tests skip
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-5/igt@gem_pxp@reject-modify-context-protection-off-2.html
* igt@gem_pxp@verify-pxp-key-change-after-suspend-resume:
- shard-dg1: NOTRUN -> [SKIP][71] ([i915#4270]) +3 other tests skip
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-17/igt@gem_pxp@verify-pxp-key-change-after-suspend-resume.html
* igt@gem_render_copy@y-tiled-to-vebox-yf-tiled:
- shard-dg2: NOTRUN -> [SKIP][72] ([i915#5190] / [i915#8428]) +8 other tests skip
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-11/igt@gem_render_copy@y-tiled-to-vebox-yf-tiled.html
* igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-yf-tiled:
- shard-mtlp: NOTRUN -> [SKIP][73] ([i915#8428]) +11 other tests skip
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-6/igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-yf-tiled.html
* igt@gem_set_tiling_vs_blt@untiled-to-tiled:
- shard-dg1: NOTRUN -> [SKIP][74] ([i915#4079]) +1 other test skip
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-19/igt@gem_set_tiling_vs_blt@untiled-to-tiled.html
- shard-mtlp: NOTRUN -> [SKIP][75] ([i915#4079]) +2 other tests skip
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-7/igt@gem_set_tiling_vs_blt@untiled-to-tiled.html
- shard-dg2: NOTRUN -> [SKIP][76] ([i915#4079]) +1 other test skip
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-3/igt@gem_set_tiling_vs_blt@untiled-to-tiled.html
- shard-rkl: NOTRUN -> [SKIP][77] ([i915#8411])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-7/igt@gem_set_tiling_vs_blt@untiled-to-tiled.html
* igt@gem_softpin@evict-snoop-interruptible:
- shard-dg2: NOTRUN -> [SKIP][78] ([i915#4885])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-5/igt@gem_softpin@evict-snoop-interruptible.html
- shard-dg1: NOTRUN -> [SKIP][79] ([i915#4885])
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-14/igt@gem_softpin@evict-snoop-interruptible.html
- shard-mtlp: NOTRUN -> [SKIP][80] ([i915#4885])
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-6/igt@gem_softpin@evict-snoop-interruptible.html
* igt@gem_tiled_partial_pwrite_pread@writes:
- shard-dg2: NOTRUN -> [SKIP][81] ([i915#4077]) +15 other tests skip
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-5/igt@gem_tiled_partial_pwrite_pread@writes.html
* igt@gem_userptr_blits@dmabuf-sync:
- shard-tglu: NOTRUN -> [SKIP][82] ([i915#3297] / [i915#3323])
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-10/igt@gem_userptr_blits@dmabuf-sync.html
- shard-glk: NOTRUN -> [SKIP][83] ([i915#3323])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk6/igt@gem_userptr_blits@dmabuf-sync.html
* igt@gem_userptr_blits@map-fixed-invalidate-overlap:
- shard-dg1: NOTRUN -> [SKIP][84] ([i915#3297] / [i915#4880])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-12/igt@gem_userptr_blits@map-fixed-invalidate-overlap.html
- shard-mtlp: NOTRUN -> [SKIP][85] ([i915#3297]) +4 other tests skip
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@gem_userptr_blits@map-fixed-invalidate-overlap.html
- shard-dg2: NOTRUN -> [SKIP][86] ([i915#3297] / [i915#4880])
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@gem_userptr_blits@map-fixed-invalidate-overlap.html
* igt@gem_userptr_blits@readonly-pwrite-unsync:
- shard-tglu: NOTRUN -> [SKIP][87] ([i915#3297]) +2 other tests skip
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-3/igt@gem_userptr_blits@readonly-pwrite-unsync.html
- shard-rkl: NOTRUN -> [SKIP][88] ([i915#14544] / [i915#3297])
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@gem_userptr_blits@readonly-pwrite-unsync.html
* igt@gem_userptr_blits@relocations:
- shard-mtlp: NOTRUN -> [SKIP][89] ([i915#3281] / [i915#3297])
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-2/igt@gem_userptr_blits@relocations.html
- shard-dg2: NOTRUN -> [SKIP][90] ([i915#3281] / [i915#3297])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-11/igt@gem_userptr_blits@relocations.html
- shard-rkl: NOTRUN -> [SKIP][91] ([i915#3281] / [i915#3297])
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-1/igt@gem_userptr_blits@relocations.html
* igt@gem_userptr_blits@unsync-unmap:
- shard-dg2: NOTRUN -> [SKIP][92] ([i915#3297]) +3 other tests skip
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-4/igt@gem_userptr_blits@unsync-unmap.html
- shard-rkl: NOTRUN -> [SKIP][93] ([i915#3297])
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-2/igt@gem_userptr_blits@unsync-unmap.html
* igt@gem_userptr_blits@unsync-unmap-after-close:
- shard-dg1: NOTRUN -> [SKIP][94] ([i915#3297]) +3 other tests skip
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-18/igt@gem_userptr_blits@unsync-unmap-after-close.html
* igt@gem_workarounds@suspend-resume-fd:
- shard-rkl: NOTRUN -> [INCOMPLETE][95] ([i915#13356])
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-3/igt@gem_workarounds@suspend-resume-fd.html
* igt@gen9_exec_parse@batch-invalid-length:
- shard-mtlp: NOTRUN -> [SKIP][96] ([i915#2856]) +3 other tests skip
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-4/igt@gen9_exec_parse@batch-invalid-length.html
* igt@gen9_exec_parse@bb-oversize:
- shard-rkl: NOTRUN -> [SKIP][97] ([i915#2527]) +3 other tests skip
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-1/igt@gen9_exec_parse@bb-oversize.html
* igt@gen9_exec_parse@bb-secure:
- shard-dg1: NOTRUN -> [SKIP][98] ([i915#2527]) +2 other tests skip
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-15/igt@gen9_exec_parse@bb-secure.html
* igt@gen9_exec_parse@bb-start-cmd:
- shard-tglu: NOTRUN -> [SKIP][99] ([i915#2527] / [i915#2856]) +3 other tests skip
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-10/igt@gen9_exec_parse@bb-start-cmd.html
* igt@gen9_exec_parse@bb-start-far:
- shard-tglu-1: NOTRUN -> [SKIP][100] ([i915#2527] / [i915#2856])
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@gen9_exec_parse@bb-start-far.html
* igt@gen9_exec_parse@valid-registers:
- shard-dg2: NOTRUN -> [SKIP][101] ([i915#2856]) +5 other tests skip
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-1/igt@gen9_exec_parse@valid-registers.html
* igt@i915_drm_fdinfo@busy-idle@bcs0:
- shard-dg1: NOTRUN -> [SKIP][102] ([i915#14073]) +11 other tests skip
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-13/igt@i915_drm_fdinfo@busy-idle@bcs0.html
* igt@i915_drm_fdinfo@busy-idle@vcs0:
- shard-dg2: NOTRUN -> [SKIP][103] ([i915#14073]) +31 other tests skip
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-11/igt@i915_drm_fdinfo@busy-idle@vcs0.html
* igt@i915_drm_fdinfo@isolation@rcs0:
- shard-mtlp: NOTRUN -> [SKIP][104] ([i915#14073]) +27 other tests skip
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-2/igt@i915_drm_fdinfo@isolation@rcs0.html
* igt@i915_drm_fdinfo@virtual-busy-hang-all:
- shard-dg1: NOTRUN -> [SKIP][105] ([i915#14118]) +1 other test skip
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-12/igt@i915_drm_fdinfo@virtual-busy-hang-all.html
* igt@i915_drm_fdinfo@virtual-busy-idle:
- shard-dg2: NOTRUN -> [SKIP][106] ([i915#14118]) +2 other tests skip
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@i915_drm_fdinfo@virtual-busy-idle.html
- shard-mtlp: NOTRUN -> [SKIP][107] ([i915#14118]) +1 other test skip
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-4/igt@i915_drm_fdinfo@virtual-busy-idle.html
* igt@i915_module_load@reload-no-display:
- shard-dg2: NOTRUN -> [DMESG-WARN][108] ([i915#13029] / [i915#14545])
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-3/igt@i915_module_load@reload-no-display.html
- shard-dg1: NOTRUN -> [DMESG-WARN][109] ([i915#13029] / [i915#14545])
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-19/igt@i915_module_load@reload-no-display.html
* igt@i915_pm_freq_api@freq-reset:
- shard-tglu: NOTRUN -> [SKIP][110] ([i915#8399])
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-7/igt@i915_pm_freq_api@freq-reset.html
- shard-rkl: NOTRUN -> [SKIP][111] ([i915#14544] / [i915#8399])
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@i915_pm_freq_api@freq-reset.html
* igt@i915_pm_rpm@system-suspend-execbuf:
- shard-glk: NOTRUN -> [INCOMPLETE][112] ([i915#13356] / [i915#15172])
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk1/igt@i915_pm_rpm@system-suspend-execbuf.html
* igt@i915_pm_rps@basic-api:
- shard-dg1: NOTRUN -> [SKIP][113] ([i915#11681] / [i915#6621]) +1 other test skip
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-19/igt@i915_pm_rps@basic-api.html
- shard-mtlp: NOTRUN -> [SKIP][114] ([i915#11681] / [i915#6621]) +2 other tests skip
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-7/igt@i915_pm_rps@basic-api.html
* igt@i915_pm_rps@min-max-config-loaded:
- shard-dg2: NOTRUN -> [SKIP][115] ([i915#11681] / [i915#6621]) +1 other test skip
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-5/igt@i915_pm_rps@min-max-config-loaded.html
* igt@i915_pm_rps@thresholds:
- shard-mtlp: NOTRUN -> [SKIP][116] ([i915#11681])
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-8/igt@i915_pm_rps@thresholds.html
- shard-dg2: NOTRUN -> [SKIP][117] ([i915#11681])
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-11/igt@i915_pm_rps@thresholds.html
- shard-dg1: NOTRUN -> [SKIP][118] ([i915#11681])
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-13/igt@i915_pm_rps@thresholds.html
* igt@i915_pm_rps@waitboost:
- shard-mtlp: NOTRUN -> [FAIL][119] ([i915#15365])
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-8/igt@i915_pm_rps@waitboost.html
* igt@i915_query@hwconfig_table:
- shard-tglu-1: NOTRUN -> [SKIP][120] ([i915#6245])
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@i915_query@hwconfig_table.html
* igt@i915_suspend@basic-s3-without-i915:
- shard-glk10: NOTRUN -> [ABORT][121] ([i915#15317]) +2 other tests abort
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk10/igt@i915_suspend@basic-s3-without-i915.html
- shard-tglu: NOTRUN -> [INCOMPLETE][122] ([i915#4817] / [i915#7443])
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-5/igt@i915_suspend@basic-s3-without-i915.html
- shard-mtlp: NOTRUN -> [SKIP][123] ([i915#6645])
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-7/igt@i915_suspend@basic-s3-without-i915.html
* igt@intel_hwmon@hwmon-read:
- shard-rkl: NOTRUN -> [SKIP][124] ([i915#7707])
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-2/igt@intel_hwmon@hwmon-read.html
- shard-mtlp: NOTRUN -> [SKIP][125] ([i915#7707])
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@intel_hwmon@hwmon-read.html
* igt@intel_hwmon@hwmon-write:
- shard-tglu: NOTRUN -> [SKIP][126] ([i915#7707]) +1 other test skip
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-4/igt@intel_hwmon@hwmon-write.html
* igt@kms_addfb_basic@addfb25-x-tiled-legacy:
- shard-mtlp: NOTRUN -> [SKIP][127] ([i915#4212])
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-4/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html
- shard-dg2: NOTRUN -> [SKIP][128] ([i915#4212])
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html
* igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
- shard-mtlp: NOTRUN -> [SKIP][129] ([i915#12454] / [i915#12712])
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-2/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
- shard-rkl: NOTRUN -> [SKIP][130] ([i915#12454] / [i915#12712])
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-1/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
* igt@kms_async_flips@basic-modeset-with-all-modifiers-formats@pipe-a-edp-1-4-yuyv:
- shard-mtlp: NOTRUN -> [FAIL][131] ([i915#15313]) +53 other tests fail
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-7/igt@kms_async_flips@basic-modeset-with-all-modifiers-formats@pipe-a-edp-1-4-yuyv.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
- shard-mtlp: NOTRUN -> [SKIP][132] ([i915#1769] / [i915#3555])
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-8/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
- shard-glk: NOTRUN -> [SKIP][133] ([i915#1769])
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk6/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-270:
- shard-rkl: NOTRUN -> [SKIP][134] ([i915#14544] / [i915#5286])
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_big_fb@4-tiled-32bpp-rotate-270.html
- shard-tglu-1: NOTRUN -> [SKIP][135] ([i915#5286])
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@kms_big_fb@4-tiled-32bpp-rotate-270.html
* igt@kms_big_fb@4-tiled-64bpp-rotate-180:
- shard-mtlp: NOTRUN -> [FAIL][136] ([i915#5138])
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-7/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html
* igt@kms_big_fb@4-tiled-addfb:
- shard-rkl: NOTRUN -> [SKIP][137] ([i915#5286]) +8 other tests skip
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-2/igt@kms_big_fb@4-tiled-addfb.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
- shard-tglu: NOTRUN -> [SKIP][138] ([i915#5286]) +8 other tests skip
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-8/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-dg1: NOTRUN -> [SKIP][139] ([i915#4538] / [i915#5286]) +7 other tests skip
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-14/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
* igt@kms_big_fb@y-tiled-8bpp-rotate-180:
- shard-dg2: NOTRUN -> [SKIP][140] ([i915#4538] / [i915#5190]) +16 other tests skip
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-5/igt@kms_big_fb@y-tiled-8bpp-rotate-180.html
* igt@kms_big_fb@yf-tiled-8bpp-rotate-180:
- shard-dg1: NOTRUN -> [SKIP][141] ([i915#4538]) +4 other tests skip
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-17/igt@kms_big_fb@yf-tiled-8bpp-rotate-180.html
* igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow:
- shard-mtlp: NOTRUN -> [SKIP][142] ([i915#6187]) +1 other test skip
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html
* igt@kms_big_fb@yf-tiled-addfb-size-overflow:
- shard-dg2: NOTRUN -> [SKIP][143] ([i915#5190]) +1 other test skip
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
- shard-mtlp: NOTRUN -> [SKIP][144] +37 other tests skip
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-2/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html
* igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs-cc@pipe-c-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][145] ([i915#6095]) +114 other tests skip
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs-cc@pipe-c-edp-1.html
* igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-1:
- shard-tglu: NOTRUN -> [SKIP][146] ([i915#6095]) +129 other tests skip
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-8/igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-1.html
* igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][147] ([i915#6095]) +115 other tests skip
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-18/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-4.html
* igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2:
- shard-glk: NOTRUN -> [SKIP][148] +329 other tests skip
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk8/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2.html
* igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-1:
- shard-tglu-1: NOTRUN -> [SKIP][149] ([i915#6095]) +19 other tests skip
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-1.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
- shard-dg1: NOTRUN -> [SKIP][150] ([i915#12805])
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-19/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
- shard-tglu: NOTRUN -> [SKIP][151] ([i915#12805]) +1 other test skip
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-5/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
- shard-dg2: NOTRUN -> [SKIP][152] ([i915#12805])
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-3/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
- shard-rkl: NOTRUN -> [SKIP][153] ([i915#12805])
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-7/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs:
- shard-tglu: NOTRUN -> [ABORT][154] ([i915#15317]) +8 other tests abort
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-4/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc:
- shard-rkl: NOTRUN -> [ABORT][155] ([i915#15317]) +16 other tests abort
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-2/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-b-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][156] ([i915#6095]) +17 other tests skip
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-8/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-b-hdmi-a-3.html
* igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][157] ([i915#14544] / [i915#6095]) +7 other tests skip
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][158] ([i915#14098] / [i915#14544] / [i915#6095]) +5 other tests skip
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-2.html
* igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][159] ([i915#10307] / [i915#10434] / [i915#6095])
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-4/igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs@pipe-d-hdmi-a-1.html
* igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs:
- shard-rkl: NOTRUN -> [SKIP][160] ([i915#14098] / [i915#6095]) +52 other tests skip
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-3/igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs:
- shard-dg2: NOTRUN -> [SKIP][161] ([i915#12313]) +3 other tests skip
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-5/igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs.html
- shard-rkl: NOTRUN -> [SKIP][162] ([i915#12313]) +3 other tests skip
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-1/igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs:
- shard-dg1: NOTRUN -> [SKIP][163] ([i915#12313]) +2 other tests skip
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-16/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html
- shard-tglu: NOTRUN -> [SKIP][164] ([i915#12313]) +4 other tests skip
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-9/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html
- shard-mtlp: NOTRUN -> [SKIP][165] ([i915#12313]) +5 other tests skip
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-2/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs@pipe-b-dp-3:
- shard-dg2: NOTRUN -> [SKIP][166] ([i915#10307] / [i915#6095]) +128 other tests skip
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-11/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs@pipe-b-dp-3.html
* igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][167] ([i915#6095]) +59 other tests skip
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-7/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_chamelium_audio@dp-audio:
- shard-tglu: NOTRUN -> [SKIP][168] ([i915#11151] / [i915#7828]) +11 other tests skip
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-4/igt@kms_chamelium_audio@dp-audio.html
* igt@kms_chamelium_color@degamma:
- shard-dg2: NOTRUN -> [SKIP][169] +14 other tests skip
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@kms_chamelium_color@degamma.html
* igt@kms_chamelium_edid@dp-edid-stress-resolution-non-4k:
- shard-dg2: NOTRUN -> [SKIP][170] ([i915#11151] / [i915#7828]) +13 other tests skip
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-11/igt@kms_chamelium_edid@dp-edid-stress-resolution-non-4k.html
* igt@kms_chamelium_edid@dp-mode-timings:
- shard-mtlp: NOTRUN -> [SKIP][171] ([i915#11151] / [i915#7828]) +13 other tests skip
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-4/igt@kms_chamelium_edid@dp-mode-timings.html
* igt@kms_chamelium_edid@hdmi-edid-change-during-suspend:
- shard-rkl: NOTRUN -> [SKIP][172] ([i915#11151] / [i915#7828]) +6 other tests skip
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-2/igt@kms_chamelium_edid@hdmi-edid-change-during-suspend.html
* igt@kms_chamelium_hpd@hdmi-hpd-fast:
- shard-tglu-1: NOTRUN -> [SKIP][173] ([i915#11151] / [i915#7828]) +1 other test skip
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@kms_chamelium_hpd@hdmi-hpd-fast.html
* igt@kms_chamelium_hpd@hdmi-hpd-storm-disable:
- shard-dg1: NOTRUN -> [SKIP][174] ([i915#11151] / [i915#7828]) +7 other tests skip
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-17/igt@kms_chamelium_hpd@hdmi-hpd-storm-disable.html
* igt@kms_chamelium_hpd@vga-hpd-after-suspend:
- shard-rkl: NOTRUN -> [SKIP][175] ([i915#11151] / [i915#14544] / [i915#7828])
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_chamelium_hpd@vga-hpd-after-suspend.html
* igt@kms_colorop@plane-xr24-xr24-ctm_3x4_bt709_enc:
- shard-tglu: NOTRUN -> [SKIP][176] ([i915#15343]) +12 other tests skip
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-9/igt@kms_colorop@plane-xr24-xr24-ctm_3x4_bt709_enc.html
* igt@kms_colorop@plane-xr24-xr24-pq_eotf:
- shard-dg2: NOTRUN -> [SKIP][177] ([i915#15343]) +10 other tests skip
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-1/igt@kms_colorop@plane-xr24-xr24-pq_eotf.html
- shard-dg1: NOTRUN -> [SKIP][178] ([i915#15343]) +6 other tests skip
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-18/igt@kms_colorop@plane-xr24-xr24-pq_eotf.html
* igt@kms_colorop@plane-xr24-xr24-srgb_eotf-srgb_inv_eotf-srgb_eotf:
- shard-rkl: NOTRUN -> [SKIP][179] ([i915#15343]) +9 other tests skip
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-5/igt@kms_colorop@plane-xr24-xr24-srgb_eotf-srgb_inv_eotf-srgb_eotf.html
* igt@kms_colorop@plane-xr30-xr30-bt2020_oetf:
- shard-tglu-1: NOTRUN -> [SKIP][180] ([i915#15343])
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@kms_colorop@plane-xr30-xr30-bt2020_oetf.html
* igt@kms_colorop@plane-xr30-xr30-srgb_eotf:
- shard-mtlp: NOTRUN -> [SKIP][181] ([i915#15343]) +11 other tests skip
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-8/igt@kms_colorop@plane-xr30-xr30-srgb_eotf.html
* igt@kms_content_protection@atomic-dpms:
- shard-tglu: NOTRUN -> [SKIP][182] ([i915#6944] / [i915#7116] / [i915#7118] / [i915#9424]) +1 other test skip
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-9/igt@kms_content_protection@atomic-dpms.html
- shard-dg2: NOTRUN -> [SKIP][183] ([i915#6944] / [i915#7118] / [i915#9424])
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-4/igt@kms_content_protection@atomic-dpms.html
- shard-rkl: NOTRUN -> [SKIP][184] ([i915#6944] / [i915#7118] / [i915#9424])
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-4/igt@kms_content_protection@atomic-dpms.html
- shard-dg1: NOTRUN -> [SKIP][185] ([i915#6944] / [i915#7116] / [i915#9424])
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-16/igt@kms_content_protection@atomic-dpms.html
* igt@kms_content_protection@dp-mst-lic-type-1:
- shard-dg2: NOTRUN -> [SKIP][186] ([i915#3299])
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-4/igt@kms_content_protection@dp-mst-lic-type-1.html
- shard-rkl: NOTRUN -> [SKIP][187] ([i915#3116])
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-2/igt@kms_content_protection@dp-mst-lic-type-1.html
- shard-tglu: NOTRUN -> [SKIP][188] ([i915#3116] / [i915#3299])
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-9/igt@kms_content_protection@dp-mst-lic-type-1.html
* igt@kms_content_protection@dp-mst-type-1:
- shard-mtlp: NOTRUN -> [SKIP][189] ([i915#3299]) +1 other test skip
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-8/igt@kms_content_protection@dp-mst-type-1.html
* igt@kms_content_protection@lic-type-0:
- shard-tglu: NOTRUN -> [SKIP][190] ([i915#6944] / [i915#9424])
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-7/igt@kms_content_protection@lic-type-0.html
- shard-mtlp: NOTRUN -> [SKIP][191] ([i915#6944] / [i915#9424]) +1 other test skip
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@kms_content_protection@lic-type-0.html
- shard-rkl: NOTRUN -> [SKIP][192] ([i915#6944] / [i915#9424])
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-2/igt@kms_content_protection@lic-type-0.html
- shard-dg1: NOTRUN -> [SKIP][193] ([i915#6944] / [i915#9424])
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-18/igt@kms_content_protection@lic-type-0.html
* igt@kms_content_protection@mei-interface:
- shard-dg2: NOTRUN -> [SKIP][194] ([i915#6944] / [i915#9424]) +1 other test skip
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@kms_content_protection@mei-interface.html
- shard-tglu-1: NOTRUN -> [SKIP][195] ([i915#6944] / [i915#9424])
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@kms_content_protection@mei-interface.html
- shard-mtlp: NOTRUN -> [SKIP][196] ([i915#8063] / [i915#9433])
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-4/igt@kms_content_protection@mei-interface.html
* igt@kms_content_protection@srm:
- shard-dg2: NOTRUN -> [SKIP][197] ([i915#6944] / [i915#7118])
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@kms_content_protection@srm.html
- shard-rkl: NOTRUN -> [SKIP][198] ([i915#6944] / [i915#7118])
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-7/igt@kms_content_protection@srm.html
- shard-dg1: NOTRUN -> [SKIP][199] ([i915#6944] / [i915#7116])
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-12/igt@kms_content_protection@srm.html
- shard-tglu: NOTRUN -> [SKIP][200] ([i915#6944] / [i915#7116] / [i915#7118])
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-6/igt@kms_content_protection@srm.html
- shard-mtlp: NOTRUN -> [SKIP][201] ([i915#6944])
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@kms_content_protection@srm.html
* igt@kms_cursor_crc@cursor-offscreen-32x10:
- shard-mtlp: NOTRUN -> [SKIP][202] ([i915#3555] / [i915#8814]) +3 other tests skip
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-7/igt@kms_cursor_crc@cursor-offscreen-32x10.html
* igt@kms_cursor_crc@cursor-onscreen-128x42:
- shard-rkl: [PASS][203] -> [FAIL][204] ([i915#13566]) +3 other tests fail
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-7/igt@kms_cursor_crc@cursor-onscreen-128x42.html
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-1/igt@kms_cursor_crc@cursor-onscreen-128x42.html
* igt@kms_cursor_crc@cursor-random-128x42:
- shard-tglu: NOTRUN -> [FAIL][205] ([i915#13566]) +5 other tests fail
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-6/igt@kms_cursor_crc@cursor-random-128x42.html
* igt@kms_cursor_crc@cursor-random-128x42@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [FAIL][206] ([i915#13566]) +7 other tests fail
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-8/igt@kms_cursor_crc@cursor-random-128x42@pipe-a-hdmi-a-1.html
* igt@kms_cursor_crc@cursor-random-512x170:
- shard-dg2: NOTRUN -> [SKIP][207] ([i915#13049])
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-1/igt@kms_cursor_crc@cursor-random-512x170.html
- shard-rkl: NOTRUN -> [SKIP][208] ([i915#13049])
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-2/igt@kms_cursor_crc@cursor-random-512x170.html
* igt@kms_cursor_crc@cursor-random-max-size:
- shard-tglu-1: NOTRUN -> [SKIP][209] ([i915#3555])
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@kms_cursor_crc@cursor-random-max-size.html
* igt@kms_cursor_crc@cursor-rapid-movement-256x85:
- shard-mtlp: NOTRUN -> [SKIP][210] ([i915#8814]) +3 other tests skip
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-4/igt@kms_cursor_crc@cursor-rapid-movement-256x85.html
* igt@kms_cursor_crc@cursor-rapid-movement-32x10:
- shard-rkl: NOTRUN -> [SKIP][211] ([i915#3555]) +4 other tests skip
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-5/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html
- shard-dg1: NOTRUN -> [SKIP][212] ([i915#3555]) +7 other tests skip
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-13/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html
* igt@kms_cursor_crc@cursor-sliding-256x85:
- shard-tglu: [PASS][213] -> [FAIL][214] ([i915#13566]) +3 other tests fail
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-tglu-2/igt@kms_cursor_crc@cursor-sliding-256x85.html
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-9/igt@kms_cursor_crc@cursor-sliding-256x85.html
* igt@kms_cursor_crc@cursor-sliding-32x10:
- shard-dg2: NOTRUN -> [SKIP][215] ([i915#3555]) +5 other tests skip
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@kms_cursor_crc@cursor-sliding-32x10.html
* igt@kms_cursor_crc@cursor-sliding-512x170:
- shard-mtlp: NOTRUN -> [SKIP][216] ([i915#13049]) +1 other test skip
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-8/igt@kms_cursor_crc@cursor-sliding-512x170.html
* igt@kms_cursor_crc@cursor-suspend:
- shard-glk: NOTRUN -> [INCOMPLETE][217] ([i915#12358] / [i915#14152] / [i915#7882])
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk2/igt@kms_cursor_crc@cursor-suspend.html
* igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-1:
- shard-glk: NOTRUN -> [INCOMPLETE][218] ([i915#12358] / [i915#14152])
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk2/igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-1.html
* igt@kms_cursor_legacy@2x-cursor-vs-flip-atomic:
- shard-rkl: NOTRUN -> [SKIP][219] ([i915#14544])
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_cursor_legacy@2x-cursor-vs-flip-atomic.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
- shard-rkl: NOTRUN -> [SKIP][220] ([i915#4103])
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
- shard-mtlp: NOTRUN -> [SKIP][221] ([i915#4213])
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
- shard-rkl: NOTRUN -> [SKIP][222] ([i915#14544] / [i915#4103])
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
- shard-dg1: NOTRUN -> [SKIP][223] ([i915#4103] / [i915#4213]) +1 other test skip
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-19/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
- shard-dg2: NOTRUN -> [SKIP][224] ([i915#4103] / [i915#4213]) +1 other test skip
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
* igt@kms_cursor_legacy@cursora-vs-flipb-toggle:
- shard-dg2: NOTRUN -> [SKIP][225] ([i915#13046] / [i915#5354]) +9 other tests skip
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-8/igt@kms_cursor_legacy@cursora-vs-flipb-toggle.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-tglu: [PASS][226] -> [FAIL][227] ([i915#2346])
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-tglu-9/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
- shard-tglu: NOTRUN -> [SKIP][228] ([i915#4103]) +3 other tests skip
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-10/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-rkl: NOTRUN -> [SKIP][229] ([i915#3555] / [i915#3804])
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-4/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
- shard-tglu: NOTRUN -> [SKIP][230] ([i915#1769] / [i915#3555] / [i915#3804])
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-9/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
- shard-tglu: NOTRUN -> [SKIP][231] ([i915#3804])
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-9/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][232] ([i915#3804])
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-4/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2.html
* igt@kms_dp_link_training@non-uhbr-sst:
- shard-mtlp: NOTRUN -> [SKIP][233] ([i915#13749])
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-6/igt@kms_dp_link_training@non-uhbr-sst.html
- shard-dg2: NOTRUN -> [SKIP][234] ([i915#13749])
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-5/igt@kms_dp_link_training@non-uhbr-sst.html
- shard-rkl: NOTRUN -> [SKIP][235] ([i915#13749])
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-3/igt@kms_dp_link_training@non-uhbr-sst.html
- shard-dg1: NOTRUN -> [SKIP][236] ([i915#13749])
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-14/igt@kms_dp_link_training@non-uhbr-sst.html
- shard-tglu: NOTRUN -> [SKIP][237] ([i915#13749])
[237]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-4/igt@kms_dp_link_training@non-uhbr-sst.html
* igt@kms_dp_linktrain_fallback@dsc-fallback:
- shard-tglu: NOTRUN -> [SKIP][238] ([i915#13707])
[238]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-2/igt@kms_dp_linktrain_fallback@dsc-fallback.html
* igt@kms_dsc@dsc-fractional-bpp:
- shard-mtlp: NOTRUN -> [SKIP][239] ([i915#3840] / [i915#9688])
[239]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-8/igt@kms_dsc@dsc-fractional-bpp.html
* igt@kms_dsc@dsc-fractional-bpp-with-bpc:
- shard-mtlp: NOTRUN -> [SKIP][240] ([i915#3840])
[240]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-2/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html
* igt@kms_dsc@dsc-with-bpc:
- shard-tglu: NOTRUN -> [SKIP][241] ([i915#3555] / [i915#3840])
[241]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-9/igt@kms_dsc@dsc-with-bpc.html
- shard-rkl: NOTRUN -> [SKIP][242] ([i915#3555] / [i915#3840])
[242]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-4/igt@kms_dsc@dsc-with-bpc.html
- shard-dg1: NOTRUN -> [SKIP][243] ([i915#3555] / [i915#3840])
[243]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-16/igt@kms_dsc@dsc-with-bpc.html
* igt@kms_dsc@dsc-with-bpc-formats:
- shard-mtlp: NOTRUN -> [SKIP][244] ([i915#3555] / [i915#3840]) +1 other test skip
[244]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-3/igt@kms_dsc@dsc-with-bpc-formats.html
* igt@kms_dsc@dsc-with-output-formats-with-bpc:
- shard-mtlp: NOTRUN -> [SKIP][245] ([i915#3555] / [i915#3840] / [i915#9053])
[245]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-4/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
- shard-dg2: NOTRUN -> [SKIP][246] ([i915#3840] / [i915#9053])
[246]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-11/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
- shard-rkl: NOTRUN -> [SKIP][247] ([i915#3840] / [i915#9053])
[247]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-7/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
- shard-dg1: NOTRUN -> [SKIP][248] ([i915#3840] / [i915#9053])
[248]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-12/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
- shard-tglu: NOTRUN -> [SKIP][249] ([i915#3840] / [i915#9053])
[249]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-10/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-glk: NOTRUN -> [INCOMPLETE][250] ([i915#9878])
[250]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk2/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_feature_discovery@chamelium:
- shard-tglu: NOTRUN -> [SKIP][251] ([i915#2065] / [i915#4854])
[251]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-6/igt@kms_feature_discovery@chamelium.html
- shard-mtlp: NOTRUN -> [SKIP][252] ([i915#4854])
[252]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@kms_feature_discovery@chamelium.html
- shard-dg2: NOTRUN -> [SKIP][253] ([i915#4854])
[253]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@kms_feature_discovery@chamelium.html
- shard-rkl: NOTRUN -> [SKIP][254] ([i915#4854])
[254]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-7/igt@kms_feature_discovery@chamelium.html
* igt@kms_feature_discovery@display-3x:
- shard-dg2: NOTRUN -> [SKIP][255] ([i915#1839])
[255]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-5/igt@kms_feature_discovery@display-3x.html
- shard-rkl: NOTRUN -> [SKIP][256] ([i915#1839])
[256]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-3/igt@kms_feature_discovery@display-3x.html
- shard-dg1: NOTRUN -> [SKIP][257] ([i915#1839])
[257]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-16/igt@kms_feature_discovery@display-3x.html
* igt@kms_feature_discovery@display-4x:
- shard-mtlp: NOTRUN -> [SKIP][258] ([i915#1839]) +1 other test skip
[258]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-7/igt@kms_feature_discovery@display-4x.html
* igt@kms_flip@2x-blocking-wf_vblank:
- shard-tglu-1: NOTRUN -> [SKIP][259] ([i915#3637] / [i915#9934]) +2 other tests skip
[259]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@kms_flip@2x-blocking-wf_vblank.html
* igt@kms_flip@2x-flip-vs-dpms:
- shard-rkl: NOTRUN -> [SKIP][260] ([i915#9934]) +6 other tests skip
[260]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-2/igt@kms_flip@2x-flip-vs-dpms.html
- shard-tglu: NOTRUN -> [SKIP][261] ([i915#3637] / [i915#9934]) +8 other tests skip
[261]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-5/igt@kms_flip@2x-flip-vs-dpms.html
* igt@kms_flip@2x-flip-vs-fences:
- shard-mtlp: NOTRUN -> [SKIP][262] ([i915#8381])
[262]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-6/igt@kms_flip@2x-flip-vs-fences.html
* igt@kms_flip@2x-flip-vs-panning-interruptible:
- shard-dg2: NOTRUN -> [SKIP][263] ([i915#9934]) +8 other tests skip
[263]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-5/igt@kms_flip@2x-flip-vs-panning-interruptible.html
* igt@kms_flip@2x-flip-vs-suspend:
- shard-mtlp: NOTRUN -> [SKIP][264] ([i915#3637] / [i915#9934]) +11 other tests skip
[264]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@kms_flip@2x-flip-vs-suspend.html
* igt@kms_flip@2x-plain-flip-ts-check-interruptible:
- shard-dg1: NOTRUN -> [SKIP][265] ([i915#9934]) +9 other tests skip
[265]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-14/igt@kms_flip@2x-plain-flip-ts-check-interruptible.html
* igt@kms_flip@flip-vs-fences-interruptible:
- shard-dg2: NOTRUN -> [SKIP][266] ([i915#8381])
[266]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-3/igt@kms_flip@flip-vs-fences-interruptible.html
* igt@kms_flip@flip-vs-suspend:
- shard-dg2: NOTRUN -> [ABORT][267] ([i915#15317]) +13 other tests abort
[267]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-8/igt@kms_flip@flip-vs-suspend.html
- shard-glk: NOTRUN -> [INCOMPLETE][268] ([i915#12745] / [i915#4839])
[268]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk6/igt@kms_flip@flip-vs-suspend.html
* igt@kms_flip@flip-vs-suspend@a-hdmi-a1:
- shard-glk: NOTRUN -> [INCOMPLETE][269] ([i915#12745])
[269]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk6/igt@kms_flip@flip-vs-suspend@a-hdmi-a1.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-default-mode:
- shard-mtlp: NOTRUN -> [SKIP][270] ([i915#2672] / [i915#8813]) +2 other tests skip
[270]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-valid-mode:
- shard-rkl: NOTRUN -> [SKIP][271] ([i915#2672]) +6 other tests skip
[271]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-5/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-ytileccs-downscaling:
- shard-tglu: NOTRUN -> [SKIP][272] ([i915#2587] / [i915#2672] / [i915#3555])
[272]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-10/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling:
- shard-tglu: NOTRUN -> [SKIP][273] ([i915#2672] / [i915#3555]) +7 other tests skip
[273]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-2/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling.html
- shard-mtlp: NOTRUN -> [SKIP][274] ([i915#3555] / [i915#8810] / [i915#8813]) +2 other tests skip
[274]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-8/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-mtlp: NOTRUN -> [SKIP][275] ([i915#8810] / [i915#8813])
[275]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-8/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-16bpp-4tile-upscaling:
- shard-rkl: NOTRUN -> [SKIP][276] ([i915#2672] / [i915#3555]) +6 other tests skip
[276]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-1/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html
- shard-dg1: NOTRUN -> [SKIP][277] ([i915#2672] / [i915#3555]) +4 other tests skip
[277]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/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][278] ([i915#2587] / [i915#2672]) +4 other tests skip
[278]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-19/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling@pipe-a-valid-mode:
- shard-tglu: NOTRUN -> [SKIP][279] ([i915#2587] / [i915#2672]) +8 other tests skip
[279]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-10/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
- shard-rkl: NOTRUN -> [SKIP][280] ([i915#14544] / [i915#2672] / [i915#3555])
[280]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
- shard-tglu-1: NOTRUN -> [SKIP][281] ([i915#2672] / [i915#3555]) +1 other test skip
[281]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode:
- shard-rkl: NOTRUN -> [SKIP][282] ([i915#14544] / [i915#2672])
[282]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode.html
- shard-tglu-1: NOTRUN -> [SKIP][283] ([i915#2587] / [i915#2672]) +1 other test skip
[283]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling:
- shard-dg2: NOTRUN -> [SKIP][284] ([i915#2672] / [i915#3555] / [i915#5190]) +1 other test skip
[284]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-8/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-valid-mode:
- shard-dg2: NOTRUN -> [SKIP][285] ([i915#2672]) +3 other tests skip
[285]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-8/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling:
- shard-dg2: NOTRUN -> [SKIP][286] ([i915#2672] / [i915#3555]) +3 other tests skip
[286]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling:
- shard-mtlp: NOTRUN -> [SKIP][287] ([i915#2672] / [i915#3555] / [i915#8813]) +6 other tests skip
[287]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-6/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen:
- shard-dg2: NOTRUN -> [FAIL][288] ([i915#6880])
[288]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu:
- shard-dg1: NOTRUN -> [SKIP][289] +48 other tests skip
[289]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-15/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt:
- shard-rkl: NOTRUN -> [SKIP][290] ([i915#14544] / [i915#1825]) +4 other tests skip
[290]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff:
- shard-mtlp: NOTRUN -> [SKIP][291] ([i915#1825]) +49 other tests skip
[291]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbc-tiling-4:
- shard-tglu: NOTRUN -> [SKIP][292] ([i915#5439])
[292]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-6/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-gtt:
- shard-rkl: NOTRUN -> [SKIP][293] ([i915#15102]) +4 other tests skip
[293]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-gtt.html
- shard-dg1: NOTRUN -> [SKIP][294] ([i915#15104])
[294]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-12/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-gtt.html
- shard-dg2: NOTRUN -> [SKIP][295] ([i915#15104]) +1 other test skip
[295]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt:
- shard-dg2: NOTRUN -> [SKIP][296] ([i915#15102]) +3 other tests skip
[296]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-3/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt.html
- shard-glk10: NOTRUN -> [SKIP][297] +30 other tests skip
[297]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk10/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt.html
- shard-dg1: NOTRUN -> [SKIP][298] ([i915#15102]) +1 other test skip
[298]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-19/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-pwrite:
- shard-tglu-1: NOTRUN -> [SKIP][299] ([i915#15102]) +1 other test skip
[299]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-indfb-fliptrack-mmap-gtt:
- shard-rkl: NOTRUN -> [SKIP][300] +25 other tests skip
[300]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-3/igt@kms_frontbuffer_tracking@fbcpsr-2p-indfb-fliptrack-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-gtt:
- shard-rkl: NOTRUN -> [SKIP][301] ([i915#1825]) +37 other tests skip
[301]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc:
- shard-dg2: NOTRUN -> [SKIP][302] ([i915#8708]) +25 other tests skip
[302]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-3/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-fullscreen:
- shard-tglu: NOTRUN -> [SKIP][303] +80 other tests skip
[303]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-fullscreen.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc:
- shard-rkl: NOTRUN -> [SKIP][304] ([i915#15102] / [i915#3023]) +26 other tests skip
[304]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-2/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@pipe-fbc-rte:
- shard-rkl: NOTRUN -> [SKIP][305] ([i915#9766])
[305]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-2/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
- shard-tglu: NOTRUN -> [SKIP][306] ([i915#9766])
[306]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-9/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
- shard-dg2: NOTRUN -> [SKIP][307] ([i915#9766])
[307]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-4/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
* igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-mmap-gtt:
- shard-mtlp: NOTRUN -> [SKIP][308] ([i915#15104]) +2 other tests skip
[308]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-7/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt:
- shard-dg2: NOTRUN -> [SKIP][309] ([i915#15102] / [i915#3458]) +21 other tests skip
[309]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-11/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-cpu:
- shard-snb: NOTRUN -> [SKIP][310] +474 other tests skip
[310]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-snb5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-pwrite:
- shard-dg2: NOTRUN -> [SKIP][311] ([i915#5354]) +43 other tests skip
[311]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-1/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-pwrite:
- shard-tglu-1: NOTRUN -> [SKIP][312] +18 other tests skip
[312]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-gtt:
- shard-mtlp: NOTRUN -> [SKIP][313] ([i915#8708]) +11 other tests skip
[313]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-4/igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-wc:
- shard-dg1: NOTRUN -> [SKIP][314] ([i915#8708]) +20 other tests skip
[314]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-19/igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-rgb565-draw-pwrite:
- shard-dg1: NOTRUN -> [SKIP][315] ([i915#15102] / [i915#3458]) +16 other tests skip
[315]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-18/igt@kms_frontbuffer_tracking@psr-rgb565-draw-pwrite.html
* igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary:
- shard-tglu: NOTRUN -> [SKIP][316] ([i915#15102]) +39 other tests skip
[316]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-6/igt@kms_frontbuffer_tracking@psr-shrfb-scaledprimary.html
* igt@kms_hdr@bpc-switch:
- shard-dg1: NOTRUN -> [SKIP][317] ([i915#3555] / [i915#8228]) +1 other test skip
[317]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-16/igt@kms_hdr@bpc-switch.html
* igt@kms_hdr@invalid-metadata-sizes:
- shard-rkl: NOTRUN -> [SKIP][318] ([i915#3555] / [i915#8228]) +1 other test skip
[318]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-7/igt@kms_hdr@invalid-metadata-sizes.html
* igt@kms_hdr@static-swap:
- shard-tglu: NOTRUN -> [SKIP][319] ([i915#3555] / [i915#8228]) +2 other tests skip
[319]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-8/igt@kms_hdr@static-swap.html
- shard-mtlp: NOTRUN -> [SKIP][320] ([i915#12713] / [i915#3555] / [i915#8228]) +2 other tests skip
[320]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-2/igt@kms_hdr@static-swap.html
* igt@kms_hdr@static-toggle-suspend:
- shard-dg2: NOTRUN -> [SKIP][321] ([i915#3555] / [i915#8228]) +2 other tests skip
[321]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@kms_hdr@static-toggle-suspend.html
- shard-tglu-1: NOTRUN -> [SKIP][322] ([i915#3555] / [i915#8228])
[322]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@kms_hdr@static-toggle-suspend.html
* igt@kms_joiner@basic-big-joiner:
- shard-mtlp: NOTRUN -> [SKIP][323] ([i915#10656]) +1 other test skip
[323]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-8/igt@kms_joiner@basic-big-joiner.html
* igt@kms_joiner@basic-force-ultra-joiner:
- shard-tglu: NOTRUN -> [SKIP][324] ([i915#12394])
[324]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-6/igt@kms_joiner@basic-force-ultra-joiner.html
* igt@kms_joiner@basic-max-non-joiner:
- shard-tglu: NOTRUN -> [SKIP][325] ([i915#15283])
[325]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-4/igt@kms_joiner@basic-max-non-joiner.html
- shard-mtlp: NOTRUN -> [SKIP][326] ([i915#15283])
[326]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@kms_joiner@basic-max-non-joiner.html
- shard-dg2: NOTRUN -> [SKIP][327] ([i915#15283])
[327]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-1/igt@kms_joiner@basic-max-non-joiner.html
- shard-rkl: NOTRUN -> [SKIP][328] ([i915#15283])
[328]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-8/igt@kms_joiner@basic-max-non-joiner.html
- shard-dg1: NOTRUN -> [SKIP][329] ([i915#15283])
[329]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-18/igt@kms_joiner@basic-max-non-joiner.html
* igt@kms_joiner@basic-ultra-joiner:
- shard-rkl: NOTRUN -> [SKIP][330] ([i915#12339])
[330]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-3/igt@kms_joiner@basic-ultra-joiner.html
- shard-dg1: NOTRUN -> [SKIP][331] ([i915#12339])
[331]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-16/igt@kms_joiner@basic-ultra-joiner.html
- shard-tglu: NOTRUN -> [SKIP][332] ([i915#12339])
[332]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-2/igt@kms_joiner@basic-ultra-joiner.html
- shard-mtlp: NOTRUN -> [SKIP][333] ([i915#12339])
[333]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-8/igt@kms_joiner@basic-ultra-joiner.html
- shard-dg2: NOTRUN -> [SKIP][334] ([i915#12339])
[334]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-5/igt@kms_joiner@basic-ultra-joiner.html
* igt@kms_joiner@invalid-modeset-force-ultra-joiner:
- shard-dg2: NOTRUN -> [SKIP][335] ([i915#10656])
[335]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-3/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
- shard-dg1: NOTRUN -> [SKIP][336] ([i915#12394])
[336]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-19/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
* igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner:
- shard-dg2: NOTRUN -> [SKIP][337] ([i915#13522])
[337]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-8/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-mtlp: NOTRUN -> [SKIP][338] ([i915#4816])
[338]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-2/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
- shard-tglu: NOTRUN -> [SKIP][339] ([i915#1839]) +2 other tests skip
[339]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-9/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-hdmi-a-2:
- shard-glk: NOTRUN -> [INCOMPLETE][340] ([i915#13409] / [i915#13476])
[340]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk5/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-b-hdmi-a-2.html
* igt@kms_pipe_stress@stress-xrgb8888-4tiled:
- shard-tglu: NOTRUN -> [SKIP][341] ([i915#14712])
[341]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-7/igt@kms_pipe_stress@stress-xrgb8888-4tiled.html
* igt@kms_plane@plane-panning-bottom-right-suspend:
- shard-dg1: NOTRUN -> [ABORT][342] ([i915#15317]) +11 other tests abort
[342]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-19/igt@kms_plane@plane-panning-bottom-right-suspend.html
- shard-snb: NOTRUN -> [ABORT][343] ([i915#15317]) +13 other tests abort
[343]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-snb6/igt@kms_plane@plane-panning-bottom-right-suspend.html
* igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b:
- shard-glk10: NOTRUN -> [INCOMPLETE][344] ([i915#13026])
[344]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk10/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b.html
* igt@kms_plane_alpha_blend@alpha-transparent-fb:
- shard-glk10: NOTRUN -> [FAIL][345] ([i915#10647] / [i915#12177])
[345]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk10/igt@kms_plane_alpha_blend@alpha-transparent-fb.html
* igt@kms_plane_alpha_blend@alpha-transparent-fb@pipe-a-hdmi-a-1:
- shard-glk10: NOTRUN -> [FAIL][346] ([i915#10647]) +1 other test fail
[346]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk10/igt@kms_plane_alpha_blend@alpha-transparent-fb@pipe-a-hdmi-a-1.html
* igt@kms_plane_alpha_blend@constant-alpha-max:
- shard-glk: NOTRUN -> [FAIL][347] ([i915#10647] / [i915#12169])
[347]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk1/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][348] ([i915#10647]) +1 other test fail
[348]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk1/igt@kms_plane_alpha_blend@constant-alpha-max@pipe-c-hdmi-a-1.html
* igt@kms_plane_multiple@2x-tiling-4:
- shard-dg2: NOTRUN -> [SKIP][349] ([i915#13958]) +3 other tests skip
[349]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-3/igt@kms_plane_multiple@2x-tiling-4.html
* igt@kms_plane_multiple@2x-tiling-none:
- shard-mtlp: NOTRUN -> [SKIP][350] ([i915#13958]) +2 other tests skip
[350]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-2/igt@kms_plane_multiple@2x-tiling-none.html
* igt@kms_plane_multiple@2x-tiling-y:
- shard-rkl: NOTRUN -> [SKIP][351] ([i915#13958]) +3 other tests skip
[351]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-7/igt@kms_plane_multiple@2x-tiling-y.html
* igt@kms_plane_multiple@2x-tiling-yf:
- shard-dg1: NOTRUN -> [SKIP][352] ([i915#13958]) +1 other test skip
[352]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-18/igt@kms_plane_multiple@2x-tiling-yf.html
- shard-tglu: NOTRUN -> [SKIP][353] ([i915#13958]) +3 other tests skip
[353]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-7/igt@kms_plane_multiple@2x-tiling-yf.html
* igt@kms_plane_scaling@2x-scaler-multi-pipe:
- shard-mtlp: NOTRUN -> [SKIP][354] ([i915#9809]) +6 other tests skip
[354]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-7/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
* igt@kms_plane_scaling@intel-max-src-size:
- shard-dg2: NOTRUN -> [SKIP][355] ([i915#6953] / [i915#9423])
[355]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-3/igt@kms_plane_scaling@intel-max-src-size.html
- shard-dg1: NOTRUN -> [SKIP][356] ([i915#6953])
[356]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-17/igt@kms_plane_scaling@intel-max-src-size.html
* igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25:
- shard-mtlp: NOTRUN -> [SKIP][357] ([i915#15329] / [i915#6953]) +2 other tests skip
[357]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-8/igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5:
- shard-mtlp: NOTRUN -> [SKIP][358] ([i915#15329] / [i915#3555] / [i915#6953])
[358]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-a:
- shard-mtlp: NOTRUN -> [SKIP][359] ([i915#15329]) +15 other tests skip
[359]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-a.html
* igt@kms_pm_backlight@basic-brightness:
- shard-dg1: NOTRUN -> [SKIP][360] ([i915#5354])
[360]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-12/igt@kms_pm_backlight@basic-brightness.html
* igt@kms_pm_backlight@brightness-with-dpms:
- shard-rkl: NOTRUN -> [SKIP][361] ([i915#12343])
[361]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-4/igt@kms_pm_backlight@brightness-with-dpms.html
- shard-dg1: NOTRUN -> [SKIP][362] ([i915#12343])
[362]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-16/igt@kms_pm_backlight@brightness-with-dpms.html
- shard-tglu: NOTRUN -> [SKIP][363] ([i915#12343])
[363]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-9/igt@kms_pm_backlight@brightness-with-dpms.html
* igt@kms_pm_dc@dc5-psr:
- shard-rkl: NOTRUN -> [SKIP][364] ([i915#9685])
[364]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-2/igt@kms_pm_dc@dc5-psr.html
- shard-dg1: NOTRUN -> [SKIP][365] ([i915#9685])
[365]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-18/igt@kms_pm_dc@dc5-psr.html
- shard-tglu: NOTRUN -> [SKIP][366] ([i915#9685])
[366]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-7/igt@kms_pm_dc@dc5-psr.html
- shard-dg2: NOTRUN -> [SKIP][367] ([i915#9685])
[367]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-1/igt@kms_pm_dc@dc5-psr.html
* igt@kms_pm_dc@dc5-retention-flops:
- shard-mtlp: NOTRUN -> [SKIP][368] ([i915#3828])
[368]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-7/igt@kms_pm_dc@dc5-retention-flops.html
* igt@kms_pm_lpsp@kms-lpsp:
- shard-tglu: NOTRUN -> [SKIP][369] ([i915#3828])
[369]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-8/igt@kms_pm_lpsp@kms-lpsp.html
* igt@kms_pm_lpsp@screens-disabled:
- shard-rkl: NOTRUN -> [SKIP][370] ([i915#8430])
[370]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-8/igt@kms_pm_lpsp@screens-disabled.html
- shard-tglu: NOTRUN -> [SKIP][371] ([i915#8430])
[371]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-4/igt@kms_pm_lpsp@screens-disabled.html
* igt@kms_pm_rpm@dpms-mode-unset-lpsp:
- shard-rkl: NOTRUN -> [SKIP][372] ([i915#15073])
[372]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-7/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
- shard-dg1: NOTRUN -> [SKIP][373] ([i915#15073])
[373]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-12/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html
* igt@kms_pm_rpm@modeset-lpsp:
- shard-rkl: [PASS][374] -> [SKIP][375] ([i915#15073]) +1 other test skip
[374]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-5/igt@kms_pm_rpm@modeset-lpsp.html
[375]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-4/igt@kms_pm_rpm@modeset-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp:
- shard-dg2: [PASS][376] -> [SKIP][377] ([i915#15073])
[376]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-dg2-11/igt@kms_pm_rpm@modeset-non-lpsp.html
[377]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-4/igt@kms_pm_rpm@modeset-non-lpsp.html
* igt@kms_pm_rpm@system-suspend-idle:
- shard-tglu: [PASS][378] -> [ABORT][379] ([i915#15317]) +1 other test abort
[378]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-tglu-8/igt@kms_pm_rpm@system-suspend-idle.html
[379]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-7/igt@kms_pm_rpm@system-suspend-idle.html
* igt@kms_prime@basic-crc-hybrid:
- shard-dg2: NOTRUN -> [SKIP][380] ([i915#6524] / [i915#6805]) +1 other test skip
[380]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@kms_prime@basic-crc-hybrid.html
- shard-rkl: NOTRUN -> [SKIP][381] ([i915#14544] / [i915#6524])
[381]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_prime@basic-crc-hybrid.html
- shard-tglu-1: NOTRUN -> [SKIP][382] ([i915#6524])
[382]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@kms_prime@basic-crc-hybrid.html
* igt@kms_prime@d3hot:
- shard-rkl: NOTRUN -> [SKIP][383] ([i915#6524])
[383]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-1/igt@kms_prime@d3hot.html
- shard-tglu: NOTRUN -> [SKIP][384] ([i915#6524])
[384]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-8/igt@kms_prime@d3hot.html
- shard-mtlp: NOTRUN -> [SKIP][385] ([i915#6524]) +1 other test skip
[385]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-2/igt@kms_prime@d3hot.html
* igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-sf:
- shard-glk10: NOTRUN -> [SKIP][386] ([i915#11520]) +1 other test skip
[386]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk10/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf:
- shard-tglu: NOTRUN -> [SKIP][387] ([i915#11520]) +15 other tests skip
[387]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-2/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf@pipe-b-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][388] ([i915#12316]) +14 other tests skip
[388]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-4/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf@pipe-b-edp-1.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf:
- shard-tglu-1: NOTRUN -> [SKIP][389] ([i915#11520])
[389]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf:
- shard-glk: NOTRUN -> [SKIP][390] ([i915#11520]) +8 other tests skip
[390]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk5/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf@pipe-a-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][391] ([i915#9808]) +3 other tests skip
[391]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-2/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf@pipe-a-edp-1.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area:
- shard-rkl: NOTRUN -> [SKIP][392] ([i915#11520]) +9 other tests skip
[392]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-8/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area.html
- shard-snb: NOTRUN -> [SKIP][393] ([i915#11520]) +13 other tests skip
[393]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-snb6/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
- shard-dg1: NOTRUN -> [SKIP][394] ([i915#11520]) +7 other tests skip
[394]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-13/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html
* igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area:
- shard-dg2: NOTRUN -> [SKIP][395] ([i915#11520]) +13 other tests skip
[395]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area.html
- shard-rkl: NOTRUN -> [SKIP][396] ([i915#11520] / [i915#14544]) +1 other test skip
[396]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr2_su@frontbuffer-xrgb8888:
- shard-mtlp: NOTRUN -> [SKIP][397] ([i915#4348])
[397]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@kms_psr2_su@frontbuffer-xrgb8888.html
- shard-dg2: NOTRUN -> [SKIP][398] ([i915#9683])
[398]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-1/igt@kms_psr2_su@frontbuffer-xrgb8888.html
- shard-rkl: NOTRUN -> [SKIP][399] ([i915#9683])
[399]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-2/igt@kms_psr2_su@frontbuffer-xrgb8888.html
- shard-dg1: NOTRUN -> [SKIP][400] ([i915#9683])
[400]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-18/igt@kms_psr2_su@frontbuffer-xrgb8888.html
- shard-tglu: NOTRUN -> [SKIP][401] ([i915#9683])
[401]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-7/igt@kms_psr2_su@frontbuffer-xrgb8888.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-tglu-1: NOTRUN -> [SKIP][402] ([i915#9683])
[402]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr@fbc-psr-primary-page-flip:
- shard-rkl: NOTRUN -> [SKIP][403] ([i915#1072] / [i915#14544] / [i915#9732]) +3 other tests skip
[403]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_psr@fbc-psr-primary-page-flip.html
* igt@kms_psr@fbc-psr2-primary-render:
- shard-mtlp: NOTRUN -> [SKIP][404] ([i915#9688]) +40 other tests skip
[404]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@kms_psr@fbc-psr2-primary-render.html
* igt@kms_psr@fbc-psr2-sprite-mmap-gtt:
- shard-dg1: NOTRUN -> [SKIP][405] ([i915#1072] / [i915#9732]) +29 other tests skip
[405]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-19/igt@kms_psr@fbc-psr2-sprite-mmap-gtt.html
* igt@kms_psr@pr-sprite-mmap-gtt:
- shard-tglu-1: NOTRUN -> [SKIP][406] ([i915#9732]) +3 other tests skip
[406]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@kms_psr@pr-sprite-mmap-gtt.html
* igt@kms_psr@psr-sprite-mmap-gtt@edp-1:
- shard-mtlp: NOTRUN -> [SKIP][407] ([i915#4077] / [i915#9688]) +3 other tests skip
[407]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-7/igt@kms_psr@psr-sprite-mmap-gtt@edp-1.html
* igt@kms_psr@psr2-cursor-plane-onoff:
- shard-tglu: NOTRUN -> [SKIP][408] ([i915#9732]) +30 other tests skip
[408]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-2/igt@kms_psr@psr2-cursor-plane-onoff.html
* igt@kms_psr@psr2-primary-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][409] ([i915#1072] / [i915#9732]) +33 other tests skip
[409]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-11/igt@kms_psr@psr2-primary-mmap-gtt.html
* igt@kms_psr@psr2-suspend:
- shard-rkl: NOTRUN -> [SKIP][410] ([i915#1072] / [i915#9732]) +24 other tests skip
[410]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-3/igt@kms_psr@psr2-suspend.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
- shard-rkl: NOTRUN -> [SKIP][411] ([i915#5289]) +1 other test skip
[411]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-1/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
- shard-tglu: NOTRUN -> [SKIP][412] ([i915#5289]) +1 other test skip
[412]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
- shard-mtlp: NOTRUN -> [SKIP][413] ([i915#5289])
[413]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-2/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
- shard-dg2: NOTRUN -> [SKIP][414] ([i915#12755] / [i915#5190])
[414]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
- shard-dg1: NOTRUN -> [SKIP][415] ([i915#5289])
[415]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-13/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
* igt@kms_rotation_crc@sprite-rotation-90-pos-100-0:
- shard-dg2: NOTRUN -> [SKIP][416] ([i915#12755])
[416]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-8/igt@kms_rotation_crc@sprite-rotation-90-pos-100-0.html
- shard-mtlp: NOTRUN -> [SKIP][417] ([i915#12755])
[417]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-6/igt@kms_rotation_crc@sprite-rotation-90-pos-100-0.html
* igt@kms_scaling_modes@scaling-mode-full:
- shard-rkl: NOTRUN -> [SKIP][418] ([i915#14544] / [i915#3555])
[418]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_scaling_modes@scaling-mode-full.html
* igt@kms_scaling_modes@scaling-mode-full-aspect:
- shard-tglu: NOTRUN -> [SKIP][419] ([i915#3555]) +6 other tests skip
[419]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-2/igt@kms_scaling_modes@scaling-mode-full-aspect.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-tglu: NOTRUN -> [SKIP][420] ([i915#8623])
[420]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-8/igt@kms_tiled_display@basic-test-pattern.html
- shard-glk: NOTRUN -> [FAIL][421] ([i915#10959])
[421]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk5/igt@kms_tiled_display@basic-test-pattern.html
- shard-mtlp: NOTRUN -> [SKIP][422] ([i915#8623])
[422]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-2/igt@kms_tiled_display@basic-test-pattern.html
- shard-dg2: NOTRUN -> [SKIP][423] ([i915#8623])
[423]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-11/igt@kms_tiled_display@basic-test-pattern.html
- shard-rkl: NOTRUN -> [SKIP][424] ([i915#8623])
[424]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-1/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-edp-1:
- shard-mtlp: [PASS][425] -> [ABORT][426] ([i915#15317])
[425]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-mtlp-8/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-edp-1.html
[426]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-edp-1.html
* igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-1:
- shard-glk: NOTRUN -> [INCOMPLETE][427] ([i915#12276]) +1 other test incomplete
[427]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk1/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-a-hdmi-a-1.html
* igt@kms_vblank@ts-continuation-suspend:
- shard-mtlp: NOTRUN -> [ABORT][428] ([i915#15317]) +8 other tests abort
[428]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-6/igt@kms_vblank@ts-continuation-suspend.html
* igt@kms_vrr@flip-dpms:
- shard-mtlp: NOTRUN -> [SKIP][429] ([i915#3555] / [i915#8808])
[429]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@kms_vrr@flip-dpms.html
- shard-dg2: NOTRUN -> [SKIP][430] ([i915#15243] / [i915#3555])
[430]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-1/igt@kms_vrr@flip-dpms.html
- shard-rkl: NOTRUN -> [SKIP][431] ([i915#15243] / [i915#3555])
[431]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-8/igt@kms_vrr@flip-dpms.html
* igt@kms_vrr@seamless-rr-switch-drrs:
- shard-rkl: NOTRUN -> [SKIP][432] ([i915#9906])
[432]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-7/igt@kms_vrr@seamless-rr-switch-drrs.html
- shard-dg1: NOTRUN -> [SKIP][433] ([i915#9906]) +1 other test skip
[433]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-12/igt@kms_vrr@seamless-rr-switch-drrs.html
- shard-tglu: NOTRUN -> [SKIP][434] ([i915#9906])
[434]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-6/igt@kms_vrr@seamless-rr-switch-drrs.html
- shard-mtlp: NOTRUN -> [SKIP][435] ([i915#8808] / [i915#9906]) +1 other test skip
[435]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@kms_vrr@seamless-rr-switch-drrs.html
* igt@kms_vrr@seamless-rr-switch-virtual:
- shard-dg2: NOTRUN -> [SKIP][436] ([i915#9906]) +2 other tests skip
[436]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-3/igt@kms_vrr@seamless-rr-switch-virtual.html
* igt@kms_vrr@seamless-rr-switch-vrr:
- shard-rkl: NOTRUN -> [SKIP][437] ([i915#14544] / [i915#9906])
[437]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_vrr@seamless-rr-switch-vrr.html
- shard-tglu-1: NOTRUN -> [SKIP][438] ([i915#9906])
[438]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@kms_vrr@seamless-rr-switch-vrr.html
* igt@kms_writeback@writeback-check-output-xrgb2101010:
- shard-rkl: NOTRUN -> [SKIP][439] ([i915#2437] / [i915#9412])
[439]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-3/igt@kms_writeback@writeback-check-output-xrgb2101010.html
* igt@kms_writeback@writeback-invalid-parameters:
- shard-dg1: NOTRUN -> [SKIP][440] ([i915#2437])
[440]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-15/igt@kms_writeback@writeback-invalid-parameters.html
- shard-tglu: NOTRUN -> [SKIP][441] ([i915#2437])
[441]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-6/igt@kms_writeback@writeback-invalid-parameters.html
- shard-mtlp: NOTRUN -> [SKIP][442] ([i915#2437])
[442]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-3/igt@kms_writeback@writeback-invalid-parameters.html
- shard-dg2: NOTRUN -> [SKIP][443] ([i915#2437])
[443]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-4/igt@kms_writeback@writeback-invalid-parameters.html
- shard-rkl: NOTRUN -> [SKIP][444] ([i915#2437])
[444]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-4/igt@kms_writeback@writeback-invalid-parameters.html
* igt@perf@gen8-unprivileged-single-ctx-counters:
- shard-dg2: NOTRUN -> [SKIP][445] ([i915#2436])
[445]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-3/igt@perf@gen8-unprivileged-single-ctx-counters.html
- shard-rkl: NOTRUN -> [SKIP][446] ([i915#14544] / [i915#2436])
[446]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@perf@gen8-unprivileged-single-ctx-counters.html
* igt@perf@mi-rpc:
- shard-dg2: NOTRUN -> [SKIP][447] ([i915#2434])
[447]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-1/igt@perf@mi-rpc.html
- shard-dg1: NOTRUN -> [SKIP][448] ([i915#2434])
[448]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg1-18/igt@perf@mi-rpc.html
- shard-mtlp: NOTRUN -> [SKIP][449] ([i915#2434])
[449]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-6/igt@perf@mi-rpc.html
* igt@perf_pmu@busy-double-start@vecs1:
- shard-dg2: [PASS][450] -> [FAIL][451] ([i915#4349]) +4 other tests fail
[450]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-dg2-11/igt@perf_pmu@busy-double-start@vecs1.html
[451]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-8/igt@perf_pmu@busy-double-start@vecs1.html
* igt@perf_pmu@most-busy-idle-check-all@rcs0:
- shard-mtlp: [PASS][452] -> [FAIL][453] ([i915#11943]) +1 other test fail
[452]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-mtlp-4/igt@perf_pmu@most-busy-idle-check-all@rcs0.html
[453]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-4/igt@perf_pmu@most-busy-idle-check-all@rcs0.html
* igt@perf_pmu@rc6-suspend:
- shard-tglu-1: NOTRUN -> [ABORT][454] ([i915#15317])
[454]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-1/igt@perf_pmu@rc6-suspend.html
- shard-glk: NOTRUN -> [INCOMPLETE][455] ([i915#13356])
[455]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk8/igt@perf_pmu@rc6-suspend.html
* igt@prime_vgem@basic-fence-read:
- shard-dg2: NOTRUN -> [SKIP][456] ([i915#3291] / [i915#3708])
[456]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-6/igt@prime_vgem@basic-fence-read.html
- shard-mtlp: NOTRUN -> [SKIP][457] ([i915#3708])
[457]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-4/igt@prime_vgem@basic-fence-read.html
* igt@prime_vgem@fence-flip-hang:
- shard-dg2: NOTRUN -> [SKIP][458] ([i915#3708])
[458]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-11/igt@prime_vgem@fence-flip-hang.html
- shard-rkl: NOTRUN -> [SKIP][459] ([i915#3708])
[459]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-5/igt@prime_vgem@fence-flip-hang.html
* igt@sriov_basic@enable-vfs-bind-unbind-each:
- shard-dg2: NOTRUN -> [SKIP][460] ([i915#9917])
[460]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-5/igt@sriov_basic@enable-vfs-bind-unbind-each.html
#### Possible fixes ####
* igt@kms_atomic_transition@plane-all-modeset-transition:
- shard-dg2: [FAIL][461] ([i915#5956]) -> [PASS][462]
[461]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-dg2-5/igt@kms_atomic_transition@plane-all-modeset-transition.html
[462]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-4/igt@kms_atomic_transition@plane-all-modeset-transition.html
* igt@kms_cursor_crc@cursor-onscreen-64x21@pipe-a-hdmi-a-1:
- shard-tglu: [FAIL][463] ([i915#13566]) -> [PASS][464] +1 other test pass
[463]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-tglu-6/igt@kms_cursor_crc@cursor-onscreen-64x21@pipe-a-hdmi-a-1.html
[464]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-8/igt@kms_cursor_crc@cursor-onscreen-64x21@pipe-a-hdmi-a-1.html
* igt@kms_hdr@invalid-metadata-sizes:
- shard-dg2: [SKIP][465] ([i915#3555] / [i915#8228]) -> [PASS][466]
[465]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-dg2-5/igt@kms_hdr@invalid-metadata-sizes.html
[466]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-11/igt@kms_hdr@invalid-metadata-sizes.html
* igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-2:
- shard-rkl: [ABORT][467] ([i915#15317]) -> [PASS][468]
[467]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-6/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-2.html
[468]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-1/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-2.html
* igt@kms_pm_rpm@modeset-lpsp:
- shard-dg2: [SKIP][469] ([i915#15073]) -> [PASS][470]
[469]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-dg2-1/igt@kms_pm_rpm@modeset-lpsp.html
[470]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-4/igt@kms_pm_rpm@modeset-lpsp.html
* igt@kms_vblank@ts-continuation-dpms-suspend@pipe-c-hdmi-a-1:
- shard-rkl: [INCOMPLETE][471] ([i915#12276]) -> [PASS][472]
[471]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-2/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-c-hdmi-a-1.html
[472]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-8/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-c-hdmi-a-1.html
* igt@kms_vblank@ts-continuation-dpms-suspend@pipe-d-edp-1:
- shard-mtlp: [ABORT][473] ([i915#15317]) -> [PASS][474]
[473]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-mtlp-8/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-d-edp-1.html
[474]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-5/igt@kms_vblank@ts-continuation-dpms-suspend@pipe-d-edp-1.html
* igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-1:
- shard-tglu: [ABORT][475] ([i915#15317]) -> [PASS][476]
[475]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-tglu-2/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-1.html
[476]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-tglu-10/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-1.html
#### Warnings ####
* igt@gem_ccs@large-ctrl-surf-copy:
- shard-rkl: [SKIP][477] ([i915#13008] / [i915#14544]) -> [SKIP][478] ([i915#13008])
[477]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-6/igt@gem_ccs@large-ctrl-surf-copy.html
[478]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-7/igt@gem_ccs@large-ctrl-surf-copy.html
* igt@gem_exec_reloc@basic-wc-active:
- shard-rkl: [SKIP][479] ([i915#3281]) -> [SKIP][480] ([i915#14544] / [i915#3281])
[479]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-2/igt@gem_exec_reloc@basic-wc-active.html
[480]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@gem_exec_reloc@basic-wc-active.html
* igt@gem_lmem_swapping@heavy-verify-multi:
- shard-rkl: [SKIP][481] ([i915#4613]) -> [SKIP][482] ([i915#14544] / [i915#4613])
[481]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-8/igt@gem_lmem_swapping@heavy-verify-multi.html
[482]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@gem_lmem_swapping@heavy-verify-multi.html
* igt@gem_madvise@dontneed-before-pwrite:
- shard-rkl: [SKIP][483] ([i915#3282]) -> [SKIP][484] ([i915#14544] / [i915#3282]) +1 other test skip
[483]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-2/igt@gem_madvise@dontneed-before-pwrite.html
[484]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@gem_madvise@dontneed-before-pwrite.html
* igt@gem_set_tiling_vs_blt@tiled-to-tiled:
- shard-rkl: [SKIP][485] ([i915#8411]) -> [SKIP][486] ([i915#14544] / [i915#8411])
[485]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-2/igt@gem_set_tiling_vs_blt@tiled-to-tiled.html
[486]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@gem_set_tiling_vs_blt@tiled-to-tiled.html
* igt@i915_pm_rc6_residency@media-rc6-accuracy:
- shard-rkl: [SKIP][487] -> [SKIP][488] ([i915#14544])
[487]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-4/igt@i915_pm_rc6_residency@media-rc6-accuracy.html
[488]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@i915_pm_rc6_residency@media-rc6-accuracy.html
* igt@i915_pm_rpm@gem-execbuf-stress-pc8:
- shard-rkl: [SKIP][489] ([i915#14544]) -> [SKIP][490]
[489]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-6/igt@i915_pm_rpm@gem-execbuf-stress-pc8.html
[490]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-2/igt@i915_pm_rpm@gem-execbuf-stress-pc8.html
* igt@kms_ccs@bad-pixel-format-y-tiled-ccs:
- shard-rkl: [SKIP][491] ([i915#14098] / [i915#6095]) -> [SKIP][492] ([i915#14098] / [i915#14544] / [i915#6095]) +3 other tests skip
[491]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-8/igt@kms_ccs@bad-pixel-format-y-tiled-ccs.html
[492]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_ccs@bad-pixel-format-y-tiled-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-2:
- shard-rkl: [SKIP][493] ([i915#6095]) -> [SKIP][494] ([i915#14544] / [i915#6095])
[493]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-7/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-2.html
[494]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-2.html
* igt@kms_colorop@plane-xr30-xr30-srgb_inv_eotf_lut:
- shard-rkl: [SKIP][495] ([i915#15343]) -> [SKIP][496] ([i915#14544] / [i915#15343])
[495]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-7/igt@kms_colorop@plane-xr30-xr30-srgb_inv_eotf_lut.html
[496]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_colorop@plane-xr30-xr30-srgb_inv_eotf_lut.html
* igt@kms_content_protection@mei-interface:
- shard-rkl: [SKIP][497] ([i915#6944] / [i915#9424]) -> [SKIP][498] ([i915#14544] / [i915#6944] / [i915#9424])
[497]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-8/igt@kms_content_protection@mei-interface.html
[498]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_content_protection@mei-interface.html
* igt@kms_cursor_crc@cursor-random-max-size:
- shard-rkl: [SKIP][499] ([i915#3555]) -> [SKIP][500] ([i915#14544] / [i915#3555])
[499]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-2/igt@kms_cursor_crc@cursor-random-max-size.html
[500]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_cursor_crc@cursor-random-max-size.html
* igt@kms_cursor_crc@cursor-suspend:
- shard-rkl: [INCOMPLETE][501] ([i915#12358] / [i915#14152]) -> [ABORT][502] ([i915#15317])
[501]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-6/igt@kms_cursor_crc@cursor-suspend.html
[502]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-2/igt@kms_cursor_crc@cursor-suspend.html
* igt@kms_display_modes@extended-mode-basic:
- shard-rkl: [SKIP][503] ([i915#13691] / [i915#14544]) -> [SKIP][504] ([i915#13691])
[503]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-6/igt@kms_display_modes@extended-mode-basic.html
[504]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-7/igt@kms_display_modes@extended-mode-basic.html
* igt@kms_flip@2x-blocking-wf_vblank:
- shard-rkl: [SKIP][505] ([i915#9934]) -> [SKIP][506] ([i915#14544] / [i915#9934])
[505]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-4/igt@kms_flip@2x-blocking-wf_vblank.html
[506]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_flip@2x-blocking-wf_vblank.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-msflip-blt:
- shard-rkl: [SKIP][507] ([i915#14544] / [i915#1825]) -> [SKIP][508] ([i915#1825]) +4 other tests skip
[507]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-msflip-blt.html
[508]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-pwrite:
- shard-rkl: [SKIP][509] ([i915#14544] / [i915#15102]) -> [SKIP][510] ([i915#15102])
[509]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-pwrite.html
[510]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-2/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-blt:
- shard-rkl: [SKIP][511] ([i915#15102] / [i915#3023]) -> [SKIP][512] ([i915#14544] / [i915#15102] / [i915#3023]) +2 other tests skip
[511]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-blt.html
[512]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-gtt:
- shard-rkl: [SKIP][513] ([i915#1825]) -> [SKIP][514] ([i915#14544] / [i915#1825])
[513]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-gtt.html
[514]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-slowdraw:
- shard-rkl: [SKIP][515] ([i915#14544] / [i915#15102] / [i915#3023]) -> [SKIP][516] ([i915#15102] / [i915#3023])
[515]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-slowdraw.html
[516]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-3/igt@kms_frontbuffer_tracking@psr-slowdraw.html
* igt@kms_joiner@invalid-modeset-force-big-joiner:
- shard-rkl: [SKIP][517] ([i915#10656] / [i915#12388]) -> [SKIP][518] ([i915#10656] / [i915#12388] / [i915#14544])
[517]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-7/igt@kms_joiner@invalid-modeset-force-big-joiner.html
[518]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_joiner@invalid-modeset-force-big-joiner.html
* igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1:
- shard-glk: [INCOMPLETE][519] ([i915#12756] / [i915#13409] / [i915#13476]) -> [ABORT][520] ([i915#15317]) +1 other test abort
[519]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-glk6/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1.html
[520]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-glk5/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation:
- shard-rkl: [SKIP][521] ([i915#14544] / [i915#15329] / [i915#3555]) -> [SKIP][522] ([i915#15329] / [i915#3555])
[521]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-6/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation.html
[522]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-5/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b:
- shard-rkl: [SKIP][523] ([i915#14544] / [i915#15329]) -> [SKIP][524] ([i915#15329]) +2 other tests skip
[523]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-6/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b.html
[524]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-5/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b.html
* igt@kms_pm_rpm@system-suspend-idle:
- shard-dg2: [ABORT][525] ([i915#15317]) -> [INCOMPLETE][526] ([i915#14419])
[525]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-dg2-5/igt@kms_pm_rpm@system-suspend-idle.html
[526]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-dg2-7/igt@kms_pm_rpm@system-suspend-idle.html
- shard-rkl: [INCOMPLETE][527] ([i915#14419]) -> [ABORT][528] ([i915#15317])
[527]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-4/igt@kms_pm_rpm@system-suspend-idle.html
[528]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-5/igt@kms_pm_rpm@system-suspend-idle.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-rkl: [SKIP][529] ([i915#9683]) -> [SKIP][530] ([i915#14544] / [i915#9683])
[529]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-2/igt@kms_psr2_su@page_flip-nv12.html
[530]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr@fbc-pr-primary-blt:
- shard-rkl: [SKIP][531] ([i915#1072] / [i915#9732]) -> [SKIP][532] ([i915#1072] / [i915#14544] / [i915#9732])
[531]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-7/igt@kms_psr@fbc-pr-primary-blt.html
[532]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@kms_psr@fbc-pr-primary-blt.html
* igt@kms_psr@psr-primary-mmap-gtt:
- shard-rkl: [SKIP][533] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][534] ([i915#1072] / [i915#9732]) +2 other tests skip
[533]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-6/igt@kms_psr@psr-primary-mmap-gtt.html
[534]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-5/igt@kms_psr@psr-primary-mmap-gtt.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-rkl: [SKIP][535] ([i915#14544] / [i915#8623]) -> [SKIP][536] ([i915#8623])
[535]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-6/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[536]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-8/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@perf_pmu@rc6-suspend:
- shard-mtlp: [ABORT][537] ([i915#15059] / [i915#15317]) -> [ABORT][538] ([i915#15317])
[537]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-mtlp-8/igt@perf_pmu@rc6-suspend.html
[538]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-mtlp-3/igt@perf_pmu@rc6-suspend.html
- shard-rkl: [ABORT][539] ([i915#15317]) -> [INCOMPLETE][540] ([i915#13520])
[539]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8654/shard-rkl-4/igt@perf_pmu@rc6-suspend.html
[540]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/shard-rkl-6/igt@perf_pmu@rc6-suspend.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
[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#1099]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1099
[i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
[i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
[i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
[i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
[i915#11814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11814
[i915#11815]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11815
[i915#11943]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11943
[i915#12169]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12169
[i915#12177]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12177
[i915#12193]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12193
[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#12358]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12358
[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#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#12756]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12756
[i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805
[i915#13008]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13008
[i915#13026]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13026
[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#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356
[i915#13398]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13398
[i915#13409]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13409
[i915#13476]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13476
[i915#13520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13520
[i915#13522]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13522
[i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
[i915#13691]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13691
[i915#13707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13707
[i915#13749]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13749
[i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958
[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#14152]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14152
[i915#14419]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14419
[i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
[i915#14545]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14545
[i915#14712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14712
[i915#15059]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15059
[i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073
[i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102
[i915#15104]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15104
[i915#15172]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15172
[i915#15243]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15243
[i915#15283]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15283
[i915#15313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15313
[i915#15317]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15317
[i915#15329]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15329
[i915#15343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15343
[i915#15365]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15365
[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#2065]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2065
[i915#2346]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2346
[i915#2434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2434
[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#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#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
[i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
[i915#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116
[i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
[i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
[i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
[i915#3323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3323
[i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
[i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
[i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
[i915#3711]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3711
[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#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#4348]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4348
[i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349
[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#4565]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4565
[i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
[i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
[i915#4816]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4816
[i915#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817
[i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839
[i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
[i915#4854]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4854
[i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860
[i915#4880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4880
[i915#4885]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4885
[i915#5107]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5107
[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#5956]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5956
[i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
[i915#6187]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6187
[i915#6230]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6230
[i915#6245]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6245
[i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335
[i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
[i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
[i915#6645]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6645
[i915#6805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6805
[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#7443]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7443
[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#7882]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7882
[i915#7975]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7975
[i915#8063]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8063
[i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
[i915#8289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8289
[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#8430]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8430
[i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555
[i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
[i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
[i915#8808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8808
[i915#8810]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8810
[i915#8813]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8813
[i915#8814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8814
[i915#9053]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9053
[i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
[i915#9412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9412
[i915#9423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9423
[i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424
[i915#9433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9433
[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#9766]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9766
[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_8654 -> IGTPW_14154
CI-20190529: 20190529
CI_DRM_17632: 2d16d4e1aef3cb501fcd37c8558dafeb579be813 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_14154: 098ea3c08db6e757f07569377531fbadbf3f5288 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8654: 38d9fde0432aa6f2bf6add062f1d4334ad467fbc @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_14154/index.html
[-- Attachment #2: Type: text/html, Size: 187251 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2025-12-05 14:06 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-04 5:10 [PATCH v11 00/10] Madvise feature in SVM for Multi-GPU configs nishit.sharma
2025-12-04 5:10 ` [PATCH v11 01/10] DONT_MERGE: lib/xe: Add instance parameter to xe_vm_madvise nishit.sharma
2025-12-04 5:10 ` [PATCH v11 02/10] lib/xe: Add synchronous helpers for VM bind/unbind operations nishit.sharma
2025-12-04 5:10 ` [PATCH v11 03/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU xGPU memory access test nishit.sharma
2025-12-04 5:10 ` [PATCH v11 04/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU atomic operations nishit.sharma
2025-12-04 5:10 ` [PATCH v11 05/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU coherency test nishit.sharma
2025-12-04 5:10 ` [PATCH v11 06/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU performance test nishit.sharma
2025-12-04 8:42 ` Hellstrom, Thomas
2025-12-04 8:45 ` Sharma, Nishit
2025-12-04 8:48 ` Hellstrom, Thomas
2025-12-04 5:10 ` [PATCH v11 07/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU fault handling test nishit.sharma
2025-12-04 7:16 ` Hellstrom, Thomas
2025-12-04 5:10 ` [PATCH v11 08/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU simultaneous access test nishit.sharma
2025-12-04 5:10 ` [PATCH v11 09/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU conflicting madvise test nishit.sharma
2025-12-04 7:24 ` Hellstrom, Thomas
2025-12-04 5:10 ` [PATCH v11 10/10] tests/intel/xe_multigpu_svm: Add SVM multi-GPU migration test nishit.sharma
2025-12-04 6:18 ` ✓ Xe.CI.BAT: success for Madvise feature in SVM for Multi-GPU configs Patchwork
2025-12-04 6:21 ` ✓ i915.CI.BAT: " Patchwork
2025-12-04 7:27 ` ✗ Xe.CI.Full: failure " Patchwork
2025-12-05 14:06 ` ✓ i915.CI.Full: success " Patchwork
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).