* [PATCH i-g-t 0/6] Order SR-IOV scheduling provisioning safely
@ 2026-08-18 12:39 Marcin Bernatowicz
2026-08-18 12:39 ` [PATCH i-g-t 1/6] tests/intel/xe_sriov_scheduling: Disable VFs before resetting sched params Marcin Bernatowicz
` (8 more replies)
0 siblings, 9 replies; 16+ messages in thread
From: Marcin Bernatowicz @ 2026-08-18 12:39 UTC (permalink / raw)
To: igt-dev
Cc: Marcin Bernatowicz, Adam Miszczak, Jakub Kolakowski,
Lukasz Laguna, Michal Wajdeczko
Provisioning execution quantum, preemption timeout and scheduling priority is
not order independent. Zero execution quantum and zero preemption timeout both
mean infinity, and a function left at a priority above LOW with infinite
timeslicing may never be switched away from by GuC. That is a risky state which
can be left via PAUSE/FLR, so the safe sequences are:
setup: exec_quantum, preempt_timeout, sched_priority
cleanup: sched_priority (LOW), exec_quantum (0), preempt_timeout (0)
The restore helpers in lib did the opposite on cleanup, clearing timeslicing
first and dropping priority last. That transits through the risky state
whenever a test raised priority, and is reachable from xe_pmu, which restores
defaults while VFs are still enabled, and from the SR-IOV exit handler on abort
or signal.
Scheduling parameters should also only be reset once VFs are disabled, since
resetting them while VFs are still active can leave cleanup incomplete and make
subsequent VF probing fail.
Patch 1 was posted standalone before and is included here because the rest of
the series builds on it. Patch 2 renames the restore helpers to say scheduling
defaults, since they never touched resource provisioning. Patch 3 is the
ordering fix itself and stands on its own. Patch 4 adds a bulk setter enforcing
the setup order and rejecting infinite timeslicing, so the invalid combination
is unrepresentable rather than merely avoided by convention. Patches 5 and 6
move the tests over, and align xe_pmu cleanup with xe_sriov_scheduling.
Assisted-by: Copilot:Claude-Opus-5
Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Marcin Bernatowicz (6):
tests/intel/xe_sriov_scheduling: Disable VFs before resetting sched
params
lib/xe/xe_sriov_admin: Rename restore defaults helpers
lib/xe/xe_sriov_admin: Lower priority before clearing timeslicing
lib/xe/xe_sriov_admin: Add bulk scheduling params setter
tests/intel/xe_sriov_scheduling: Use safe scheduling params helpers
tests/intel/xe_pmu: Disable VFs before restoring sched params
lib/xe/xe_sriov_admin.c | 111 +++++++++++++++++++++++-------
lib/xe/xe_sriov_admin.h | 32 +++++++--
tests/intel/xe_pmu.c | 4 +-
tests/intel/xe_sriov_admin.c | 4 +-
tests/intel/xe_sriov_scheduling.c | 88 +++++++----------------
5 files changed, 140 insertions(+), 99 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH i-g-t 1/6] tests/intel/xe_sriov_scheduling: Disable VFs before resetting sched params
2026-08-18 12:39 [PATCH i-g-t 0/6] Order SR-IOV scheduling provisioning safely Marcin Bernatowicz
@ 2026-08-18 12:39 ` Marcin Bernatowicz
2026-08-18 14:14 ` Laguna, Lukasz
2026-08-18 12:39 ` [PATCH i-g-t 2/6] lib/xe/xe_sriov_admin: Rename restore defaults helpers Marcin Bernatowicz
` (7 subsequent siblings)
8 siblings, 1 reply; 16+ messages in thread
From: Marcin Bernatowicz @ 2026-08-18 12:39 UTC (permalink / raw)
To: igt-dev
Cc: Marcin Bernatowicz, Adam Miszczak, Jakub Kolakowski,
Lukasz Laguna, Michal Wajdeczko
Disable VFs before clearing scheduling parameters in fixtures and final
cleanup. This avoids resetting scheduling while VFs are still active,
which can leave cleanup incomplete and cause subsequent VF probing to fail.
Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
tests/intel/xe_sriov_scheduling.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/intel/xe_sriov_scheduling.c b/tests/intel/xe_sriov_scheduling.c
index 5d30b961d..a2240e473 100644
--- a/tests/intel/xe_sriov_scheduling.c
+++ b/tests/intel/xe_sriov_scheduling.c
@@ -1565,9 +1565,9 @@ int igt_main_args("", long_opts, help_str, subm_opts_handler, NULL)
}
igt_fixture() {
+ xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
__set_vfs_scheduling_params(pf_fd, igt_sriov_get_total_vfs(pf_fd),
&(struct vf_sched_params){});
- xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
}
}
@@ -1617,18 +1617,18 @@ int igt_main_args("", long_opts, help_str, subm_opts_handler, NULL)
}
igt_fixture() {
+ xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
__set_vfs_scheduling_params(pf_fd, igt_sriov_get_total_vfs(pf_fd),
&(struct vf_sched_params){});
- xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
}
}
igt_fixture() {
int ret;
+ xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
ret = __set_vfs_scheduling_params(pf_fd, igt_sriov_get_total_vfs(pf_fd),
&(struct vf_sched_params){});
- xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
/* abort to avoid execution of next tests with enabled VFs */
igt_abort_on_f(igt_sriov_get_enabled_vfs(pf_fd) > 0,
"Failed to disable VF(s)");
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH i-g-t 2/6] lib/xe/xe_sriov_admin: Rename restore defaults helpers
2026-08-18 12:39 [PATCH i-g-t 0/6] Order SR-IOV scheduling provisioning safely Marcin Bernatowicz
2026-08-18 12:39 ` [PATCH i-g-t 1/6] tests/intel/xe_sriov_scheduling: Disable VFs before resetting sched params Marcin Bernatowicz
@ 2026-08-18 12:39 ` Marcin Bernatowicz
2026-08-18 14:14 ` Laguna, Lukasz
2026-08-18 12:39 ` [PATCH i-g-t 3/6] lib/xe/xe_sriov_admin: Lower priority before clearing timeslicing Marcin Bernatowicz
` (6 subsequent siblings)
8 siblings, 1 reply; 16+ messages in thread
From: Marcin Bernatowicz @ 2026-08-18 12:39 UTC (permalink / raw)
To: igt-dev
Cc: Marcin Bernatowicz, Adam Miszczak, Jakub Kolakowski,
Lukasz Laguna, Michal Wajdeczko
The restore helpers only reset execution quantum, preemption timeout and
scheduling priority. Resource provisioning is restored separately by
xe_sriov_disable_vfs_restore_auto_provisioning(), so the plain "defaults"
naming promises more than the helpers deliver.
Rename them to say scheduling defaults. No functional changes.
Assisted-by: Copilot:Claude-Opus-5
Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
lib/xe/xe_sriov_admin.c | 26 +++++++++++++-------------
lib/xe/xe_sriov_admin.h | 12 ++++++------
tests/intel/xe_pmu.c | 4 ++--
tests/intel/xe_sriov_admin.c | 4 ++--
tests/intel/xe_sriov_scheduling.c | 2 +-
5 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/lib/xe/xe_sriov_admin.c b/lib/xe/xe_sriov_admin.c
index 0e7ffb52d..b03e77b08 100644
--- a/lib/xe/xe_sriov_admin.c
+++ b/lib/xe/xe_sriov_admin.c
@@ -541,7 +541,7 @@ void xe_sriov_admin_vf_stop(int pf_fd, unsigned int vf_num)
}
/**
- * __xe_sriov_admin_restore_defaults - Restore scheduling defaults for a VF
+ * __xe_sriov_admin_restore_sched_defaults - Restore scheduling defaults for a VF
* @pf_fd: PF device file descriptor.
* @vf_num: VF index (0 for PF, >0 for VFs).
*
@@ -549,7 +549,7 @@ void xe_sriov_admin_vf_stop(int pf_fd, unsigned int vf_num)
*
* Returns: 0 on success or negative errno on error.
*/
-int __xe_sriov_admin_restore_defaults(int pf_fd, unsigned int vf_num)
+int __xe_sriov_admin_restore_sched_defaults(int pf_fd, unsigned int vf_num)
{
int ret_eq, ret_pt, ret_prio;
int ret = 0;
@@ -574,24 +574,24 @@ int __xe_sriov_admin_restore_defaults(int pf_fd, unsigned int vf_num)
}
/**
- * xe_sriov_admin_restore_defaults - Assert wrapper restoring VF defaults
+ * xe_sriov_admin_restore_sched_defaults - Assert wrapper restoring VF defaults
* @pf_fd: PF device file descriptor.
* @vf_num: VF index (0 for PF, >0 for VFs).
*/
-void xe_sriov_admin_restore_defaults(int pf_fd, unsigned int vf_num)
+void xe_sriov_admin_restore_sched_defaults(int pf_fd, unsigned int vf_num)
{
- igt_assert_eq(0, __xe_sriov_admin_restore_defaults(pf_fd, vf_num));
+ igt_assert_eq(0, __xe_sriov_admin_restore_sched_defaults(pf_fd, vf_num));
}
/**
- * __xe_sriov_admin_bulk_restore_defaults - Restore scheduling defaults for PF and all VFs
+ * __xe_sriov_admin_bulk_restore_sched_defaults - Restore scheduling defaults for PF and all VFs
* @pf_fd: PF device file descriptor.
*
* Resets PF and all VFs to driver default scheduling parameters.
*
* Returns: 0 on success or negative errno on error.
*/
-int __xe_sriov_admin_bulk_restore_defaults(int pf_fd)
+int __xe_sriov_admin_bulk_restore_sched_defaults(int pf_fd)
{
int ret_eq, ret_pt, ret_prio;
int ret = 0;
@@ -616,16 +616,16 @@ int __xe_sriov_admin_bulk_restore_defaults(int pf_fd)
}
/**
- * xe_sriov_admin_bulk_restore_defaults - Assert wrapper for restoring defaults on PF and all VFs
+ * xe_sriov_admin_bulk_restore_sched_defaults - Assert wrapper restoring defaults on PF and all VFs
* @pf_fd: PF device file descriptor.
*/
-void xe_sriov_admin_bulk_restore_defaults(int pf_fd)
+void xe_sriov_admin_bulk_restore_sched_defaults(int pf_fd)
{
- igt_assert_eq(0, __xe_sriov_admin_bulk_restore_defaults(pf_fd));
+ igt_assert_eq(0, __xe_sriov_admin_bulk_restore_sched_defaults(pf_fd));
}
/**
- * xe_sriov_admin_exit_cleanup_restore_defaults - Best-effort SR-IOV defaults restore callback
+ * xe_sriov_admin_exit_cleanup_restore_sched_defaults - Best-effort SR-IOV defaults restore callback
* @pf_fd: PF device file descriptor
* @sig: Exit signal number, or 0 on normal exit
* @user_data: Unused
@@ -634,7 +634,7 @@ void xe_sriov_admin_bulk_restore_defaults(int pf_fd)
* XE SR-IOV scheduling defaults. Restores PF and VF scheduling attributes to
* driver defaults. Failures are ignored so the callback remains best-effort.
*/
-void xe_sriov_admin_exit_cleanup_restore_defaults(int pf_fd, int sig, void *user_data)
+void xe_sriov_admin_exit_cleanup_restore_sched_defaults(int pf_fd, int sig, void *user_data)
{
(void)sig;
(void)user_data;
@@ -642,5 +642,5 @@ void xe_sriov_admin_exit_cleanup_restore_defaults(int pf_fd, int sig, void *user
if (!xe_sriov_admin_is_present(pf_fd))
return;
- (void)__xe_sriov_admin_bulk_restore_defaults(pf_fd);
+ (void)__xe_sriov_admin_bulk_restore_sched_defaults(pf_fd);
}
diff --git a/lib/xe/xe_sriov_admin.h b/lib/xe/xe_sriov_admin.h
index 3db13c2ac..4eb9c83a6 100644
--- a/lib/xe/xe_sriov_admin.h
+++ b/lib/xe/xe_sriov_admin.h
@@ -52,11 +52,11 @@ void xe_sriov_admin_bulk_set_sched_priority(int pf_fd,
int __xe_sriov_admin_vf_stop(int pf_fd, unsigned int vf_num);
void xe_sriov_admin_vf_stop(int pf_fd, unsigned int vf_num);
-int __xe_sriov_admin_restore_defaults(int pf_fd, unsigned int vf_num);
-void xe_sriov_admin_restore_defaults(int pf_fd, unsigned int vf_num);
-int __xe_sriov_admin_bulk_restore_defaults(int pf_fd);
-void xe_sriov_admin_bulk_restore_defaults(int pf_fd);
-void xe_sriov_admin_exit_cleanup_restore_defaults(int pf_fd, int sig,
- void *user_data);
+int __xe_sriov_admin_restore_sched_defaults(int pf_fd, unsigned int vf_num);
+void xe_sriov_admin_restore_sched_defaults(int pf_fd, unsigned int vf_num);
+int __xe_sriov_admin_bulk_restore_sched_defaults(int pf_fd);
+void xe_sriov_admin_bulk_restore_sched_defaults(int pf_fd);
+void xe_sriov_admin_exit_cleanup_restore_sched_defaults(int pf_fd, int sig,
+ void *user_data);
#endif /* __XE_SRIOV_ADMIN_H__ */
diff --git a/tests/intel/xe_pmu.c b/tests/intel/xe_pmu.c
index f4c03faa2..2d1bc1f61 100644
--- a/tests/intel/xe_pmu.c
+++ b/tests/intel/xe_pmu.c
@@ -991,7 +991,7 @@ static unsigned int enable_and_provision_vfs(int fd)
igt_require(igt_sriov_get_enabled_vfs(fd) == 0);
xe_sriov_require_default_scheduling_attributes(fd);
igt_sriov_install_exit_handler(fd,
- xe_sriov_admin_exit_cleanup_restore_defaults,
+ xe_sriov_admin_exit_cleanup_restore_sched_defaults,
NULL);
autoprobe = igt_sriov_is_driver_autoprobe_enabled(fd);
@@ -1023,7 +1023,7 @@ static void unprovision_and_disable_vfs(int fd)
{
int ret;
- ret = __xe_sriov_admin_bulk_restore_defaults(fd);
+ ret = __xe_sriov_admin_bulk_restore_sched_defaults(fd);
xe_sriov_disable_vfs_restore_auto_provisioning(fd);
/* abort to avoid execution of next tests with enabled VFs */
igt_abort_on_f(igt_sriov_get_enabled_vfs(fd) > 0,
diff --git a/tests/intel/xe_sriov_admin.c b/tests/intel/xe_sriov_admin.c
index 8b400a01f..904c2ed7f 100644
--- a/tests/intel/xe_sriov_admin.c
+++ b/tests/intel/xe_sriov_admin.c
@@ -347,7 +347,7 @@ int igt_main()
igt_require(igt_sriov_get_enabled_vfs(pf_fd) == 0);
igt_require(xe_sriov_admin_is_present(pf_fd));
igt_sriov_install_exit_handler(pf_fd,
- xe_sriov_admin_exit_cleanup_restore_defaults,
+ xe_sriov_admin_exit_cleanup_restore_sched_defaults,
NULL);
total_vfs = igt_sriov_get_total_vfs(pf_fd);
}
@@ -426,7 +426,7 @@ int igt_main()
igt_fixture() {
int ret;
- ret = __xe_sriov_admin_bulk_restore_defaults(pf_fd);
+ ret = __xe_sriov_admin_bulk_restore_sched_defaults(pf_fd);
igt_sriov_disable_vfs(pf_fd);
/* abort to avoid execution of next tests with enabled VFs */
igt_abort_on_f(igt_sriov_get_enabled_vfs(pf_fd) > 0,
diff --git a/tests/intel/xe_sriov_scheduling.c b/tests/intel/xe_sriov_scheduling.c
index a2240e473..5e4001219 100644
--- a/tests/intel/xe_sriov_scheduling.c
+++ b/tests/intel/xe_sriov_scheduling.c
@@ -1470,7 +1470,7 @@ int igt_main_args("", long_opts, help_str, subm_opts_handler, NULL)
igt_require(igt_sriov_get_enabled_vfs(pf_fd) == 0);
igt_require(xe_sriov_admin_is_present(pf_fd));
igt_sriov_install_exit_handler(pf_fd,
- xe_sriov_admin_exit_cleanup_restore_defaults,
+ xe_sriov_admin_exit_cleanup_restore_sched_defaults,
NULL);
autoprobe = igt_sriov_is_driver_autoprobe_enabled(pf_fd);
xe_sriov_require_default_scheduling_attributes(pf_fd);
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH i-g-t 3/6] lib/xe/xe_sriov_admin: Lower priority before clearing timeslicing
2026-08-18 12:39 [PATCH i-g-t 0/6] Order SR-IOV scheduling provisioning safely Marcin Bernatowicz
2026-08-18 12:39 ` [PATCH i-g-t 1/6] tests/intel/xe_sriov_scheduling: Disable VFs before resetting sched params Marcin Bernatowicz
2026-08-18 12:39 ` [PATCH i-g-t 2/6] lib/xe/xe_sriov_admin: Rename restore defaults helpers Marcin Bernatowicz
@ 2026-08-18 12:39 ` Marcin Bernatowicz
2026-08-18 14:15 ` Laguna, Lukasz
2026-08-18 12:39 ` [PATCH i-g-t 4/6] lib/xe/xe_sriov_admin: Add bulk scheduling params setter Marcin Bernatowicz
` (5 subsequent siblings)
8 siblings, 1 reply; 16+ messages in thread
From: Marcin Bernatowicz @ 2026-08-18 12:39 UTC (permalink / raw)
To: igt-dev
Cc: Marcin Bernatowicz, Adam Miszczak, Jakub Kolakowski,
Lukasz Laguna, Michal Wajdeczko
Zero execution quantum and zero preemption timeout both mean infinity.
A function left at a scheduling priority above LOW with infinite
timeslicing may never be switched away from by GuC, which is a risky
state that can be left via PAUSE/FLR.
The restore helpers cleared execution quantum and preemption timeout
first and only then dropped priority to LOW, transiting through exactly
that state whenever a test had raised priority. This is reachable from
xe_pmu, which restores defaults while VFs are still enabled, and from
xe_sriov_admin_exit_cleanup_restore_sched_defaults() on abort or signal.
Lower priority first, then clear execution quantum and preemption timeout.
Assisted-by: Copilot:Claude-Opus-5
Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
lib/xe/xe_sriov_admin.c | 32 ++++++++++++++++++++------------
1 file changed, 20 insertions(+), 12 deletions(-)
diff --git a/lib/xe/xe_sriov_admin.c b/lib/xe/xe_sriov_admin.c
index b03e77b08..0433ddcfc 100644
--- a/lib/xe/xe_sriov_admin.c
+++ b/lib/xe/xe_sriov_admin.c
@@ -547,6 +547,11 @@ void xe_sriov_admin_vf_stop(int pf_fd, unsigned int vf_num)
*
* Resets execution quantum, preemption timeout, and priority to driver defaults.
*
+ * Zero execution quantum and zero preemption timeout both mean infinity, so
+ * priority is lowered first. A function left at a priority above LOW with
+ * infinite timeslicing may never be switched away from by GuC, and can only be
+ * recovered by PAUSE/FLR.
+ *
* Returns: 0 on success or negative errno on error.
*/
int __xe_sriov_admin_restore_sched_defaults(int pf_fd, unsigned int vf_num)
@@ -554,6 +559,12 @@ int __xe_sriov_admin_restore_sched_defaults(int pf_fd, unsigned int vf_num)
int ret_eq, ret_pt, ret_prio;
int ret = 0;
+ ret_prio = __xe_sriov_admin_set_sched_priority(pf_fd, vf_num,
+ XE_SRIOV_SCHED_PRIORITY_LOW);
+ igt_warn_on(ret_prio);
+ if (!ret)
+ ret = ret_prio;
+
ret_eq = __xe_sriov_admin_set_exec_quantum_ms(pf_fd, vf_num, 0);
igt_warn_on(ret_eq);
if (!ret)
@@ -564,12 +575,6 @@ int __xe_sriov_admin_restore_sched_defaults(int pf_fd, unsigned int vf_num)
if (!ret)
ret = ret_pt;
- ret_prio = __xe_sriov_admin_set_sched_priority(pf_fd, vf_num,
- XE_SRIOV_SCHED_PRIORITY_LOW);
- igt_warn_on(ret_prio);
- if (!ret)
- ret = ret_prio;
-
return ret;
}
@@ -589,6 +594,9 @@ void xe_sriov_admin_restore_sched_defaults(int pf_fd, unsigned int vf_num)
*
* Resets PF and all VFs to driver default scheduling parameters.
*
+ * Priority is lowered before clearing timeslicing, see
+ * __xe_sriov_admin_restore_sched_defaults().
+ *
* Returns: 0 on success or negative errno on error.
*/
int __xe_sriov_admin_bulk_restore_sched_defaults(int pf_fd)
@@ -596,6 +604,12 @@ int __xe_sriov_admin_bulk_restore_sched_defaults(int pf_fd)
int ret_eq, ret_pt, ret_prio;
int ret = 0;
+ ret_prio = __xe_sriov_admin_bulk_set_sched_priority(pf_fd,
+ XE_SRIOV_SCHED_PRIORITY_LOW);
+ igt_warn_on(ret_prio);
+ if (!ret)
+ ret = ret_prio;
+
ret_eq = __xe_sriov_admin_bulk_set_exec_quantum_ms(pf_fd, 0);
igt_warn_on(ret_eq);
if (!ret)
@@ -606,12 +620,6 @@ int __xe_sriov_admin_bulk_restore_sched_defaults(int pf_fd)
if (!ret)
ret = ret_pt;
- ret_prio = __xe_sriov_admin_bulk_set_sched_priority(pf_fd,
- XE_SRIOV_SCHED_PRIORITY_LOW);
- igt_warn_on(ret_prio);
- if (!ret)
- ret = ret_prio;
-
return ret;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH i-g-t 4/6] lib/xe/xe_sriov_admin: Add bulk scheduling params setter
2026-08-18 12:39 [PATCH i-g-t 0/6] Order SR-IOV scheduling provisioning safely Marcin Bernatowicz
` (2 preceding siblings ...)
2026-08-18 12:39 ` [PATCH i-g-t 3/6] lib/xe/xe_sriov_admin: Lower priority before clearing timeslicing Marcin Bernatowicz
@ 2026-08-18 12:39 ` Marcin Bernatowicz
2026-08-18 14:15 ` Laguna, Lukasz
2026-08-18 12:39 ` [PATCH i-g-t 5/6] tests/intel/xe_sriov_scheduling: Use safe scheduling params helpers Marcin Bernatowicz
` (4 subsequent siblings)
8 siblings, 1 reply; 16+ messages in thread
From: Marcin Bernatowicz @ 2026-08-18 12:39 UTC (permalink / raw)
To: igt-dev
Cc: Marcin Bernatowicz, Adam Miszczak, Jakub Kolakowski,
Lukasz Laguna, Michal Wajdeczko
Provisioning execution quantum, preemption timeout and priority is not
order independent. Priority above LOW combined with infinite timeslicing
is a risky state, which can be left via PAUSE/FLR, so timeslicing has to
be programmed before priority is raised.
Add struct xe_sriov_sched_params and a bulk setter that enforces that
order, and that rejects infinite execution quantum or preemption timeout.
Together with xe_sriov_admin_bulk_restore_sched_defaults(), which now
lowers priority first, callers get a safe setup and cleanup pair without
having to open code the sequence.
Assisted-by: Copilot:Claude-Opus-5
Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
lib/xe/xe_sriov_admin.c | 53 +++++++++++++++++++++++++++++++++++++++++
lib/xe/xe_sriov_admin.h | 20 ++++++++++++++++
2 files changed, 73 insertions(+)
diff --git a/lib/xe/xe_sriov_admin.c b/lib/xe/xe_sriov_admin.c
index 0433ddcfc..2f47d0965 100644
--- a/lib/xe/xe_sriov_admin.c
+++ b/lib/xe/xe_sriov_admin.c
@@ -505,6 +505,59 @@ void xe_sriov_admin_bulk_set_sched_priority(int pf_fd,
igt_assert_eq(0, __xe_sriov_admin_bulk_set_sched_priority(pf_fd, prio));
}
+/**
+ * __xe_sriov_admin_bulk_set_sched_params - Set scheduling parameters for PF and all VFs
+ * @pf_fd: PF device file descriptor.
+ * @params: Scheduling parameters to apply.
+ *
+ * Applies execution quantum and preemption timeout before priority, so that a
+ * priority above LOW is never active while timeslicing is still infinite.
+ *
+ * Both &xe_sriov_sched_params.exec_quantum_ms and
+ * &xe_sriov_sched_params.preempt_timeout_us must be non-zero. Use
+ * __xe_sriov_admin_bulk_restore_sched_defaults() to restore infinite timeslicing.
+ *
+ * Returns: 0 on success or negative errno on error.
+ */
+int __xe_sriov_admin_bulk_set_sched_params(int pf_fd,
+ const struct xe_sriov_sched_params *params)
+{
+ int ret;
+
+ if (igt_warn_on_f(!params->exec_quantum_ms || !params->preempt_timeout_us,
+ "Infinite timeslicing requires restoring defaults: eq=%u pt=%u\n",
+ params->exec_quantum_ms, params->preempt_timeout_us))
+ return -EINVAL;
+
+ ret = __xe_sriov_admin_bulk_set_exec_quantum_ms(pf_fd, params->exec_quantum_ms);
+ if (igt_warn_on_f(ret, "Failed to bulk set exec quantum=%u: %d\n",
+ params->exec_quantum_ms, ret))
+ return ret;
+
+ ret = __xe_sriov_admin_bulk_set_preempt_timeout_us(pf_fd, params->preempt_timeout_us);
+ if (igt_warn_on_f(ret, "Failed to bulk set preempt timeout=%u: %d\n",
+ params->preempt_timeout_us, ret))
+ return ret;
+
+ ret = __xe_sriov_admin_bulk_set_sched_priority(pf_fd, params->priority);
+ if (igt_warn_on_f(ret, "Failed to bulk set sched priority=%d: %d\n",
+ params->priority, ret))
+ return ret;
+
+ return 0;
+}
+
+/**
+ * xe_sriov_admin_bulk_set_sched_params - Assert wrapper for bulk scheduling params update
+ * @pf_fd: PF device file descriptor.
+ * @params: Scheduling parameters to apply.
+ */
+void xe_sriov_admin_bulk_set_sched_params(int pf_fd,
+ const struct xe_sriov_sched_params *params)
+{
+ igt_assert_eq(0, __xe_sriov_admin_bulk_set_sched_params(pf_fd, params));
+}
+
/**
* __xe_sriov_admin_vf_stop - Issue stop command for a VF
* @pf_fd: PF device file descriptor.
diff --git a/lib/xe/xe_sriov_admin.h b/lib/xe/xe_sriov_admin.h
index 4eb9c83a6..6d482f8bf 100644
--- a/lib/xe/xe_sriov_admin.h
+++ b/lib/xe/xe_sriov_admin.h
@@ -13,6 +13,22 @@
struct igt_sysfs_choice;
+/**
+ * struct xe_sriov_sched_params - Scheduling parameters for a function
+ * @exec_quantum_ms: Execution quantum in milliseconds
+ * @preempt_timeout_us: Preemption timeout in microseconds
+ * @priority: Scheduling priority
+ *
+ * Zero @exec_quantum_ms or zero @preempt_timeout_us means infinity, which is
+ * only valid together with %XE_SRIOV_SCHED_PRIORITY_LOW. Use
+ * xe_sriov_admin_bulk_restore_sched_defaults() to return to that state.
+ */
+struct xe_sriov_sched_params {
+ uint32_t exec_quantum_ms;
+ uint32_t preempt_timeout_us;
+ enum xe_sriov_sched_priority priority;
+};
+
bool xe_sriov_admin_is_present(int pf_fd);
int __xe_sriov_admin_set_exec_quantum_ms(int pf_fd, unsigned int vf_num, uint32_t eq_ms);
@@ -48,6 +64,10 @@ int __xe_sriov_admin_bulk_set_sched_priority(int pf_fd,
enum xe_sriov_sched_priority prio);
void xe_sriov_admin_bulk_set_sched_priority(int pf_fd,
enum xe_sriov_sched_priority prio);
+int __xe_sriov_admin_bulk_set_sched_params(int pf_fd,
+ const struct xe_sriov_sched_params *params);
+void xe_sriov_admin_bulk_set_sched_params(int pf_fd,
+ const struct xe_sriov_sched_params *params);
int __xe_sriov_admin_vf_stop(int pf_fd, unsigned int vf_num);
void xe_sriov_admin_vf_stop(int pf_fd, unsigned int vf_num);
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH i-g-t 5/6] tests/intel/xe_sriov_scheduling: Use safe scheduling params helpers
2026-08-18 12:39 [PATCH i-g-t 0/6] Order SR-IOV scheduling provisioning safely Marcin Bernatowicz
` (3 preceding siblings ...)
2026-08-18 12:39 ` [PATCH i-g-t 4/6] lib/xe/xe_sriov_admin: Add bulk scheduling params setter Marcin Bernatowicz
@ 2026-08-18 12:39 ` Marcin Bernatowicz
2026-08-18 14:15 ` Laguna, Lukasz
2026-08-18 12:39 ` [PATCH i-g-t 6/6] tests/intel/xe_pmu: Disable VFs before restoring sched params Marcin Bernatowicz
` (3 subsequent siblings)
8 siblings, 1 reply; 16+ messages in thread
From: Marcin Bernatowicz @ 2026-08-18 12:39 UTC (permalink / raw)
To: igt-dev
Cc: Marcin Bernatowicz, Adam Miszczak, Jakub Kolakowski,
Lukasz Laguna, Michal Wajdeczko
The test open coded provisioning as execution quantum, preemption timeout
and then priority, and reused the same helper for cleanup by passing an
all zero params struct. On the cleanup path that raised priority handling
last, so a function could be left with priority above LOW while
timeslicing was already infinite.
Drop the local helpers and use xe_sriov_admin_bulk_set_sched_params() for
provisioning and __xe_sriov_admin_bulk_restore_sched_defaults() for
cleanup, which apply the safe order for each direction. The invalid
combination of infinite timeslicing with priority above LOW is no longer
representable.
Assisted-by: Copilot:Claude-Opus-5
Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
tests/intel/xe_sriov_scheduling.c | 86 +++++++++----------------------
1 file changed, 23 insertions(+), 63 deletions(-)
diff --git a/tests/intel/xe_sriov_scheduling.c b/tests/intel/xe_sriov_scheduling.c
index 5e4001219..75f1b2322 100644
--- a/tests/intel/xe_sriov_scheduling.c
+++ b/tests/intel/xe_sriov_scheduling.c
@@ -369,44 +369,6 @@ static void init_vf_ids(uint8_t *array, size_t n,
}
}
-struct vf_sched_params {
- uint32_t exec_quantum_ms;
- uint32_t preempt_timeout_us;
- enum xe_sriov_sched_priority priority;
-};
-
-static int __set_vfs_scheduling_params(int pf_fd, int num_vfs,
- const struct vf_sched_params *p)
-{
- int ret = 0;
-
- ret = __xe_sriov_admin_bulk_set_exec_quantum_ms(pf_fd, p->exec_quantum_ms);
- if (igt_warn_on_f(ret,
- "Failed to bulk set exec quantum=%u: %d\n",
- p->exec_quantum_ms, ret))
- return ret;
-
- ret = __xe_sriov_admin_bulk_set_preempt_timeout_us(pf_fd, p->preempt_timeout_us);
- if (igt_warn_on_f(ret,
- "Failed to bulk set preempt timeout=%u: %d\n",
- p->preempt_timeout_us, ret))
- return ret;
-
- ret = __xe_sriov_admin_bulk_set_sched_priority(pf_fd, p->priority);
- if (igt_warn_on_f(ret,
- "Failed to bulk set sched priority=%d: %d\n",
- p->priority, ret))
- return ret;
-
- return ret;
-}
-
-static void set_vfs_scheduling_params(int pf_fd, int num_vfs,
- const struct vf_sched_params *p)
-{
- igt_assert_eq(0, __set_vfs_scheduling_params(pf_fd, num_vfs, p));
-}
-
static bool check_within_epsilon(const double x, const double ref, const double tol)
{
return x <= (1.0 + tol) * ref && x >= (1.0 - tol) * ref;
@@ -483,7 +445,7 @@ static void compute_common_time_frame_stats(struct subm_set *set)
struct job_sched_params {
int duration_ms;
int num_repeats;
- struct vf_sched_params sched_params;
+ struct xe_sriov_sched_params sched_params;
};
static uint32_t sysfs_get_job_timeout_ms(int fd, const struct drm_xe_engine_class_instance *eci)
@@ -566,15 +528,17 @@ static unsigned int select_inflight_k(unsigned int duration_ms,
return 2;
}
-static struct vf_sched_params prepare_vf_sched_params(int num_threads,
- int min_num_repeats,
- int job_timeout_ms,
- const struct subm_opts *opts,
- enum xe_sriov_sched_priority priority)
+static struct xe_sriov_sched_params prepare_vf_sched_params(int num_threads,
+ int min_num_repeats,
+ int job_timeout_ms,
+ const struct subm_opts *opts,
+ enum xe_sriov_sched_priority priority)
{
- struct vf_sched_params params = { MIN_EXEC_QUANTUM_MS,
- derive_preempt_timeout_us(MIN_EXEC_QUANTUM_MS),
- priority };
+ struct xe_sriov_sched_params params = {
+ .exec_quantum_ms = MIN_EXEC_QUANTUM_MS,
+ .preempt_timeout_us = derive_preempt_timeout_us(MIN_EXEC_QUANTUM_MS),
+ .priority = priority,
+ };
if (opts->exec_quantum_ms || opts->preempt_timeout_us) {
if (opts->exec_quantum_ms)
@@ -617,7 +581,7 @@ prepare_job_sched_params(int num_threads, int job_timeout_ms, const struct subm_
struct vf_config {
unsigned int vf_id;
- struct vf_sched_params sched_params;
+ struct xe_sriov_sched_params sched_params;
bool run_workload;
};
@@ -1154,8 +1118,8 @@ static void throughput_ratio(int pf_fd, int num_vfs, const struct subm_opts *opt
job_timeout_ms,
opts, priority);
xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
- set_vfs_scheduling_params(pf_fd, num_vfs,
- &job_sched_params->sched_params);
+ xe_sriov_admin_bulk_set_sched_params(pf_fd,
+ &job_sched_params->sched_params);
igt_sriov_enable_driver_autoprobe(pf_fd);
igt_sriov_enable_vfs(pf_fd, num_vfs);
}
@@ -1196,10 +1160,9 @@ static void nonpreempt_engine_resets(int pf_fd, int num_vfs,
igt_assert(job_sched_params);
if (!job_sched_params->num_repeats) {
- struct vf_sched_params vf_sched_params = prepare_vf_sched_params(num_vfs, 1,
- job_timeout_ms,
- opts,
- priority);
+ struct xe_sriov_sched_params vf_sched_params =
+ prepare_vf_sched_params(num_vfs, 1, job_timeout_ms,
+ opts, priority);
*job_sched_params = (struct job_sched_params) {
.sched_params = vf_sched_params,
@@ -1208,8 +1171,8 @@ static void nonpreempt_engine_resets(int pf_fd, int num_vfs,
.num_repeats = 1,
};
xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
- set_vfs_scheduling_params(pf_fd, num_vfs,
- &job_sched_params->sched_params);
+ xe_sriov_admin_bulk_set_sched_params(pf_fd,
+ &job_sched_params->sched_params);
igt_sriov_enable_driver_autoprobe(pf_fd);
igt_sriov_enable_vfs(pf_fd, num_vfs);
}
@@ -1280,7 +1243,7 @@ prepare_default_enabled_job_sched_params(int pf_fd,
struct job_sched_params params = { };
uint32_t min_exec_quantum_ms = UINT32_MAX;
- params.sched_params = (struct vf_sched_params) {
+ params.sched_params = (struct xe_sriov_sched_params) {
.exec_quantum_ms = xe_sriov_admin_get_exec_quantum_ms(pf_fd, vf_ids[0]),
.preempt_timeout_us = xe_sriov_admin_get_preempt_timeout_us(pf_fd, vf_ids[0]),
.priority = xe_sriov_admin_get_sched_priority(pf_fd, vf_ids[0], NULL),
@@ -1566,8 +1529,7 @@ int igt_main_args("", long_opts, help_str, subm_opts_handler, NULL)
igt_fixture() {
xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
- __set_vfs_scheduling_params(pf_fd, igt_sriov_get_total_vfs(pf_fd),
- &(struct vf_sched_params){});
+ __xe_sriov_admin_bulk_restore_sched_defaults(pf_fd);
}
}
@@ -1618,8 +1580,7 @@ int igt_main_args("", long_opts, help_str, subm_opts_handler, NULL)
igt_fixture() {
xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
- __set_vfs_scheduling_params(pf_fd, igt_sriov_get_total_vfs(pf_fd),
- &(struct vf_sched_params){});
+ __xe_sriov_admin_bulk_restore_sched_defaults(pf_fd);
}
}
@@ -1627,8 +1588,7 @@ int igt_main_args("", long_opts, help_str, subm_opts_handler, NULL)
int ret;
xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
- ret = __set_vfs_scheduling_params(pf_fd, igt_sriov_get_total_vfs(pf_fd),
- &(struct vf_sched_params){});
+ ret = __xe_sriov_admin_bulk_restore_sched_defaults(pf_fd);
/* abort to avoid execution of next tests with enabled VFs */
igt_abort_on_f(igt_sriov_get_enabled_vfs(pf_fd) > 0,
"Failed to disable VF(s)");
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH i-g-t 6/6] tests/intel/xe_pmu: Disable VFs before restoring sched params
2026-08-18 12:39 [PATCH i-g-t 0/6] Order SR-IOV scheduling provisioning safely Marcin Bernatowicz
` (4 preceding siblings ...)
2026-08-18 12:39 ` [PATCH i-g-t 5/6] tests/intel/xe_sriov_scheduling: Use safe scheduling params helpers Marcin Bernatowicz
@ 2026-08-18 12:39 ` Marcin Bernatowicz
2026-08-18 14:16 ` Laguna, Lukasz
2026-08-18 14:11 ` ✓ Xe.CI.BAT: success for Order SR-IOV scheduling provisioning safely Patchwork
` (2 subsequent siblings)
8 siblings, 1 reply; 16+ messages in thread
From: Marcin Bernatowicz @ 2026-08-18 12:39 UTC (permalink / raw)
To: igt-dev
Cc: Marcin Bernatowicz, Adam Miszczak, Jakub Kolakowski,
Lukasz Laguna, Michal Wajdeczko
Restore scheduling defaults after VFs are disabled rather than while they
are still active, matching the cleanup order already used by
xe_sriov_scheduling. Resetting scheduling parameters of active VFs can
leave cleanup incomplete and cause subsequent VF probing to fail.
Assisted-by: Copilot:Claude-Opus-5
Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
tests/intel/xe_pmu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/intel/xe_pmu.c b/tests/intel/xe_pmu.c
index 2d1bc1f61..a8ceac46c 100644
--- a/tests/intel/xe_pmu.c
+++ b/tests/intel/xe_pmu.c
@@ -1023,8 +1023,8 @@ static void unprovision_and_disable_vfs(int fd)
{
int ret;
- ret = __xe_sriov_admin_bulk_restore_sched_defaults(fd);
xe_sriov_disable_vfs_restore_auto_provisioning(fd);
+ ret = __xe_sriov_admin_bulk_restore_sched_defaults(fd);
/* abort to avoid execution of next tests with enabled VFs */
igt_abort_on_f(igt_sriov_get_enabled_vfs(fd) > 0,
"Failed to disable VF(s)");
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* ✓ Xe.CI.BAT: success for Order SR-IOV scheduling provisioning safely
2026-08-18 12:39 [PATCH i-g-t 0/6] Order SR-IOV scheduling provisioning safely Marcin Bernatowicz
` (5 preceding siblings ...)
2026-08-18 12:39 ` [PATCH i-g-t 6/6] tests/intel/xe_pmu: Disable VFs before restoring sched params Marcin Bernatowicz
@ 2026-08-18 14:11 ` Patchwork
2026-08-18 14:20 ` ✓ i915.CI.BAT: " Patchwork
2026-08-18 16:39 ` ✓ Xe.CI.FULL: " Patchwork
8 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2026-08-18 14:11 UTC (permalink / raw)
To: Bernatowicz, Marcin; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 1164 bytes --]
== Series Details ==
Series: Order SR-IOV scheduling provisioning safely
URL : https://patchwork.freedesktop.org/series/172390/
State : success
== Summary ==
CI Bug Log - changes from XEIGT_9059_BAT -> XEIGTPW_15698_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (12 -> 10)
------------------------------
Missing (2): bat-nvls-2 bat-nvls-1
Changes
-------
No changes found
Build changes
-------------
* IGT: IGT_9059 -> IGTPW_15698
* Linux: xe-5607-24a2127c5f2bce93dbb33cbbee84666272a5e716 -> xe-5610-275df33dcf4c5d018717867a0b29ed1d3b62c1ef
IGTPW_15698: f006191dbda63bfddb4cd2d81e36f7783765981f @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_9059: f5a4ff79434df36db1d6b13deb37c90a6602565e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-5607-24a2127c5f2bce93dbb33cbbee84666272a5e716: 24a2127c5f2bce93dbb33cbbee84666272a5e716
xe-5610-275df33dcf4c5d018717867a0b29ed1d3b62c1ef: 275df33dcf4c5d018717867a0b29ed1d3b62c1ef
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/index.html
[-- Attachment #2: Type: text/html, Size: 1723 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH i-g-t 1/6] tests/intel/xe_sriov_scheduling: Disable VFs before resetting sched params
2026-08-18 12:39 ` [PATCH i-g-t 1/6] tests/intel/xe_sriov_scheduling: Disable VFs before resetting sched params Marcin Bernatowicz
@ 2026-08-18 14:14 ` Laguna, Lukasz
0 siblings, 0 replies; 16+ messages in thread
From: Laguna, Lukasz @ 2026-08-18 14:14 UTC (permalink / raw)
To: Marcin Bernatowicz, igt-dev
Cc: Adam Miszczak, Jakub Kolakowski, Michal Wajdeczko
On 8/18/2026 14:39, Marcin Bernatowicz wrote:
> Disable VFs before clearing scheduling parameters in fixtures and final
> cleanup. This avoids resetting scheduling while VFs are still active,
> which can leave cleanup incomplete and cause subsequent VF probing to fail.
>
> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
> Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
> Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Reviewed-by: Lukasz Laguna <lukasz.laguna@intel.com>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> ---
> tests/intel/xe_sriov_scheduling.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/tests/intel/xe_sriov_scheduling.c b/tests/intel/xe_sriov_scheduling.c
> index 5d30b961d..a2240e473 100644
> --- a/tests/intel/xe_sriov_scheduling.c
> +++ b/tests/intel/xe_sriov_scheduling.c
> @@ -1565,9 +1565,9 @@ int igt_main_args("", long_opts, help_str, subm_opts_handler, NULL)
> }
>
> igt_fixture() {
> + xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
> __set_vfs_scheduling_params(pf_fd, igt_sriov_get_total_vfs(pf_fd),
> &(struct vf_sched_params){});
> - xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
> }
> }
>
> @@ -1617,18 +1617,18 @@ int igt_main_args("", long_opts, help_str, subm_opts_handler, NULL)
> }
>
> igt_fixture() {
> + xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
> __set_vfs_scheduling_params(pf_fd, igt_sriov_get_total_vfs(pf_fd),
> &(struct vf_sched_params){});
> - xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
> }
> }
>
> igt_fixture() {
> int ret;
>
> + xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
> ret = __set_vfs_scheduling_params(pf_fd, igt_sriov_get_total_vfs(pf_fd),
> &(struct vf_sched_params){});
> - xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
> /* abort to avoid execution of next tests with enabled VFs */
> igt_abort_on_f(igt_sriov_get_enabled_vfs(pf_fd) > 0,
> "Failed to disable VF(s)");
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH i-g-t 2/6] lib/xe/xe_sriov_admin: Rename restore defaults helpers
2026-08-18 12:39 ` [PATCH i-g-t 2/6] lib/xe/xe_sriov_admin: Rename restore defaults helpers Marcin Bernatowicz
@ 2026-08-18 14:14 ` Laguna, Lukasz
0 siblings, 0 replies; 16+ messages in thread
From: Laguna, Lukasz @ 2026-08-18 14:14 UTC (permalink / raw)
To: Marcin Bernatowicz, igt-dev
Cc: Adam Miszczak, Jakub Kolakowski, Michal Wajdeczko
On 8/18/2026 14:39, Marcin Bernatowicz wrote:
> The restore helpers only reset execution quantum, preemption timeout and
> scheduling priority. Resource provisioning is restored separately by
> xe_sriov_disable_vfs_restore_auto_provisioning(), so the plain "defaults"
> naming promises more than the helpers deliver.
>
> Rename them to say scheduling defaults. No functional changes.
>
> Assisted-by: Copilot:Claude-Opus-5
> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
> Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
> Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Reviewed-by: Lukasz Laguna <lukasz.laguna@intel.com>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> ---
> lib/xe/xe_sriov_admin.c | 26 +++++++++++++-------------
> lib/xe/xe_sriov_admin.h | 12 ++++++------
> tests/intel/xe_pmu.c | 4 ++--
> tests/intel/xe_sriov_admin.c | 4 ++--
> tests/intel/xe_sriov_scheduling.c | 2 +-
> 5 files changed, 24 insertions(+), 24 deletions(-)
>
> diff --git a/lib/xe/xe_sriov_admin.c b/lib/xe/xe_sriov_admin.c
> index 0e7ffb52d..b03e77b08 100644
> --- a/lib/xe/xe_sriov_admin.c
> +++ b/lib/xe/xe_sriov_admin.c
> @@ -541,7 +541,7 @@ void xe_sriov_admin_vf_stop(int pf_fd, unsigned int vf_num)
> }
>
> /**
> - * __xe_sriov_admin_restore_defaults - Restore scheduling defaults for a VF
> + * __xe_sriov_admin_restore_sched_defaults - Restore scheduling defaults for a VF
> * @pf_fd: PF device file descriptor.
> * @vf_num: VF index (0 for PF, >0 for VFs).
> *
> @@ -549,7 +549,7 @@ void xe_sriov_admin_vf_stop(int pf_fd, unsigned int vf_num)
> *
> * Returns: 0 on success or negative errno on error.
> */
> -int __xe_sriov_admin_restore_defaults(int pf_fd, unsigned int vf_num)
> +int __xe_sriov_admin_restore_sched_defaults(int pf_fd, unsigned int vf_num)
> {
> int ret_eq, ret_pt, ret_prio;
> int ret = 0;
> @@ -574,24 +574,24 @@ int __xe_sriov_admin_restore_defaults(int pf_fd, unsigned int vf_num)
> }
>
> /**
> - * xe_sriov_admin_restore_defaults - Assert wrapper restoring VF defaults
> + * xe_sriov_admin_restore_sched_defaults - Assert wrapper restoring VF defaults
> * @pf_fd: PF device file descriptor.
> * @vf_num: VF index (0 for PF, >0 for VFs).
> */
> -void xe_sriov_admin_restore_defaults(int pf_fd, unsigned int vf_num)
> +void xe_sriov_admin_restore_sched_defaults(int pf_fd, unsigned int vf_num)
> {
> - igt_assert_eq(0, __xe_sriov_admin_restore_defaults(pf_fd, vf_num));
> + igt_assert_eq(0, __xe_sriov_admin_restore_sched_defaults(pf_fd, vf_num));
> }
>
> /**
> - * __xe_sriov_admin_bulk_restore_defaults - Restore scheduling defaults for PF and all VFs
> + * __xe_sriov_admin_bulk_restore_sched_defaults - Restore scheduling defaults for PF and all VFs
> * @pf_fd: PF device file descriptor.
> *
> * Resets PF and all VFs to driver default scheduling parameters.
> *
> * Returns: 0 on success or negative errno on error.
> */
> -int __xe_sriov_admin_bulk_restore_defaults(int pf_fd)
> +int __xe_sriov_admin_bulk_restore_sched_defaults(int pf_fd)
> {
> int ret_eq, ret_pt, ret_prio;
> int ret = 0;
> @@ -616,16 +616,16 @@ int __xe_sriov_admin_bulk_restore_defaults(int pf_fd)
> }
>
> /**
> - * xe_sriov_admin_bulk_restore_defaults - Assert wrapper for restoring defaults on PF and all VFs
> + * xe_sriov_admin_bulk_restore_sched_defaults - Assert wrapper restoring defaults on PF and all VFs
> * @pf_fd: PF device file descriptor.
> */
> -void xe_sriov_admin_bulk_restore_defaults(int pf_fd)
> +void xe_sriov_admin_bulk_restore_sched_defaults(int pf_fd)
> {
> - igt_assert_eq(0, __xe_sriov_admin_bulk_restore_defaults(pf_fd));
> + igt_assert_eq(0, __xe_sriov_admin_bulk_restore_sched_defaults(pf_fd));
> }
>
> /**
> - * xe_sriov_admin_exit_cleanup_restore_defaults - Best-effort SR-IOV defaults restore callback
> + * xe_sriov_admin_exit_cleanup_restore_sched_defaults - Best-effort SR-IOV defaults restore callback
> * @pf_fd: PF device file descriptor
> * @sig: Exit signal number, or 0 on normal exit
> * @user_data: Unused
> @@ -634,7 +634,7 @@ void xe_sriov_admin_bulk_restore_defaults(int pf_fd)
> * XE SR-IOV scheduling defaults. Restores PF and VF scheduling attributes to
> * driver defaults. Failures are ignored so the callback remains best-effort.
> */
> -void xe_sriov_admin_exit_cleanup_restore_defaults(int pf_fd, int sig, void *user_data)
> +void xe_sriov_admin_exit_cleanup_restore_sched_defaults(int pf_fd, int sig, void *user_data)
> {
> (void)sig;
> (void)user_data;
> @@ -642,5 +642,5 @@ void xe_sriov_admin_exit_cleanup_restore_defaults(int pf_fd, int sig, void *user
> if (!xe_sriov_admin_is_present(pf_fd))
> return;
>
> - (void)__xe_sriov_admin_bulk_restore_defaults(pf_fd);
> + (void)__xe_sriov_admin_bulk_restore_sched_defaults(pf_fd);
> }
> diff --git a/lib/xe/xe_sriov_admin.h b/lib/xe/xe_sriov_admin.h
> index 3db13c2ac..4eb9c83a6 100644
> --- a/lib/xe/xe_sriov_admin.h
> +++ b/lib/xe/xe_sriov_admin.h
> @@ -52,11 +52,11 @@ void xe_sriov_admin_bulk_set_sched_priority(int pf_fd,
> int __xe_sriov_admin_vf_stop(int pf_fd, unsigned int vf_num);
> void xe_sriov_admin_vf_stop(int pf_fd, unsigned int vf_num);
>
> -int __xe_sriov_admin_restore_defaults(int pf_fd, unsigned int vf_num);
> -void xe_sriov_admin_restore_defaults(int pf_fd, unsigned int vf_num);
> -int __xe_sriov_admin_bulk_restore_defaults(int pf_fd);
> -void xe_sriov_admin_bulk_restore_defaults(int pf_fd);
> -void xe_sriov_admin_exit_cleanup_restore_defaults(int pf_fd, int sig,
> - void *user_data);
> +int __xe_sriov_admin_restore_sched_defaults(int pf_fd, unsigned int vf_num);
> +void xe_sriov_admin_restore_sched_defaults(int pf_fd, unsigned int vf_num);
> +int __xe_sriov_admin_bulk_restore_sched_defaults(int pf_fd);
> +void xe_sriov_admin_bulk_restore_sched_defaults(int pf_fd);
> +void xe_sriov_admin_exit_cleanup_restore_sched_defaults(int pf_fd, int sig,
> + void *user_data);
>
> #endif /* __XE_SRIOV_ADMIN_H__ */
> diff --git a/tests/intel/xe_pmu.c b/tests/intel/xe_pmu.c
> index f4c03faa2..2d1bc1f61 100644
> --- a/tests/intel/xe_pmu.c
> +++ b/tests/intel/xe_pmu.c
> @@ -991,7 +991,7 @@ static unsigned int enable_and_provision_vfs(int fd)
> igt_require(igt_sriov_get_enabled_vfs(fd) == 0);
> xe_sriov_require_default_scheduling_attributes(fd);
> igt_sriov_install_exit_handler(fd,
> - xe_sriov_admin_exit_cleanup_restore_defaults,
> + xe_sriov_admin_exit_cleanup_restore_sched_defaults,
> NULL);
> autoprobe = igt_sriov_is_driver_autoprobe_enabled(fd);
>
> @@ -1023,7 +1023,7 @@ static void unprovision_and_disable_vfs(int fd)
> {
> int ret;
>
> - ret = __xe_sriov_admin_bulk_restore_defaults(fd);
> + ret = __xe_sriov_admin_bulk_restore_sched_defaults(fd);
> xe_sriov_disable_vfs_restore_auto_provisioning(fd);
> /* abort to avoid execution of next tests with enabled VFs */
> igt_abort_on_f(igt_sriov_get_enabled_vfs(fd) > 0,
> diff --git a/tests/intel/xe_sriov_admin.c b/tests/intel/xe_sriov_admin.c
> index 8b400a01f..904c2ed7f 100644
> --- a/tests/intel/xe_sriov_admin.c
> +++ b/tests/intel/xe_sriov_admin.c
> @@ -347,7 +347,7 @@ int igt_main()
> igt_require(igt_sriov_get_enabled_vfs(pf_fd) == 0);
> igt_require(xe_sriov_admin_is_present(pf_fd));
> igt_sriov_install_exit_handler(pf_fd,
> - xe_sriov_admin_exit_cleanup_restore_defaults,
> + xe_sriov_admin_exit_cleanup_restore_sched_defaults,
> NULL);
> total_vfs = igt_sriov_get_total_vfs(pf_fd);
> }
> @@ -426,7 +426,7 @@ int igt_main()
> igt_fixture() {
> int ret;
>
> - ret = __xe_sriov_admin_bulk_restore_defaults(pf_fd);
> + ret = __xe_sriov_admin_bulk_restore_sched_defaults(pf_fd);
> igt_sriov_disable_vfs(pf_fd);
> /* abort to avoid execution of next tests with enabled VFs */
> igt_abort_on_f(igt_sriov_get_enabled_vfs(pf_fd) > 0,
> diff --git a/tests/intel/xe_sriov_scheduling.c b/tests/intel/xe_sriov_scheduling.c
> index a2240e473..5e4001219 100644
> --- a/tests/intel/xe_sriov_scheduling.c
> +++ b/tests/intel/xe_sriov_scheduling.c
> @@ -1470,7 +1470,7 @@ int igt_main_args("", long_opts, help_str, subm_opts_handler, NULL)
> igt_require(igt_sriov_get_enabled_vfs(pf_fd) == 0);
> igt_require(xe_sriov_admin_is_present(pf_fd));
> igt_sriov_install_exit_handler(pf_fd,
> - xe_sriov_admin_exit_cleanup_restore_defaults,
> + xe_sriov_admin_exit_cleanup_restore_sched_defaults,
> NULL);
> autoprobe = igt_sriov_is_driver_autoprobe_enabled(pf_fd);
> xe_sriov_require_default_scheduling_attributes(pf_fd);
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH i-g-t 3/6] lib/xe/xe_sriov_admin: Lower priority before clearing timeslicing
2026-08-18 12:39 ` [PATCH i-g-t 3/6] lib/xe/xe_sriov_admin: Lower priority before clearing timeslicing Marcin Bernatowicz
@ 2026-08-18 14:15 ` Laguna, Lukasz
0 siblings, 0 replies; 16+ messages in thread
From: Laguna, Lukasz @ 2026-08-18 14:15 UTC (permalink / raw)
To: Marcin Bernatowicz, igt-dev
Cc: Adam Miszczak, Jakub Kolakowski, Michal Wajdeczko
On 8/18/2026 14:39, Marcin Bernatowicz wrote:
> Zero execution quantum and zero preemption timeout both mean infinity.
> A function left at a scheduling priority above LOW with infinite
> timeslicing may never be switched away from by GuC, which is a risky
> state that can be left via PAUSE/FLR.
>
> The restore helpers cleared execution quantum and preemption timeout
> first and only then dropped priority to LOW, transiting through exactly
> that state whenever a test had raised priority. This is reachable from
> xe_pmu, which restores defaults while VFs are still enabled, and from
> xe_sriov_admin_exit_cleanup_restore_sched_defaults() on abort or signal.
>
> Lower priority first, then clear execution quantum and preemption timeout.
>
> Assisted-by: Copilot:Claude-Opus-5
> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
> Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
> Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Reviewed-by: Lukasz Laguna <lukasz.laguna@intel.com>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> ---
> lib/xe/xe_sriov_admin.c | 32 ++++++++++++++++++++------------
> 1 file changed, 20 insertions(+), 12 deletions(-)
>
> diff --git a/lib/xe/xe_sriov_admin.c b/lib/xe/xe_sriov_admin.c
> index b03e77b08..0433ddcfc 100644
> --- a/lib/xe/xe_sriov_admin.c
> +++ b/lib/xe/xe_sriov_admin.c
> @@ -547,6 +547,11 @@ void xe_sriov_admin_vf_stop(int pf_fd, unsigned int vf_num)
> *
> * Resets execution quantum, preemption timeout, and priority to driver defaults.
> *
> + * Zero execution quantum and zero preemption timeout both mean infinity, so
> + * priority is lowered first. A function left at a priority above LOW with
> + * infinite timeslicing may never be switched away from by GuC, and can only be
> + * recovered by PAUSE/FLR.
> + *
> * Returns: 0 on success or negative errno on error.
> */
> int __xe_sriov_admin_restore_sched_defaults(int pf_fd, unsigned int vf_num)
> @@ -554,6 +559,12 @@ int __xe_sriov_admin_restore_sched_defaults(int pf_fd, unsigned int vf_num)
> int ret_eq, ret_pt, ret_prio;
> int ret = 0;
>
> + ret_prio = __xe_sriov_admin_set_sched_priority(pf_fd, vf_num,
> + XE_SRIOV_SCHED_PRIORITY_LOW);
> + igt_warn_on(ret_prio);
> + if (!ret)
> + ret = ret_prio;
> +
> ret_eq = __xe_sriov_admin_set_exec_quantum_ms(pf_fd, vf_num, 0);
> igt_warn_on(ret_eq);
> if (!ret)
> @@ -564,12 +575,6 @@ int __xe_sriov_admin_restore_sched_defaults(int pf_fd, unsigned int vf_num)
> if (!ret)
> ret = ret_pt;
>
> - ret_prio = __xe_sriov_admin_set_sched_priority(pf_fd, vf_num,
> - XE_SRIOV_SCHED_PRIORITY_LOW);
> - igt_warn_on(ret_prio);
> - if (!ret)
> - ret = ret_prio;
> -
> return ret;
> }
>
> @@ -589,6 +594,9 @@ void xe_sriov_admin_restore_sched_defaults(int pf_fd, unsigned int vf_num)
> *
> * Resets PF and all VFs to driver default scheduling parameters.
> *
> + * Priority is lowered before clearing timeslicing, see
> + * __xe_sriov_admin_restore_sched_defaults().
> + *
> * Returns: 0 on success or negative errno on error.
> */
> int __xe_sriov_admin_bulk_restore_sched_defaults(int pf_fd)
> @@ -596,6 +604,12 @@ int __xe_sriov_admin_bulk_restore_sched_defaults(int pf_fd)
> int ret_eq, ret_pt, ret_prio;
> int ret = 0;
>
> + ret_prio = __xe_sriov_admin_bulk_set_sched_priority(pf_fd,
> + XE_SRIOV_SCHED_PRIORITY_LOW);
> + igt_warn_on(ret_prio);
> + if (!ret)
> + ret = ret_prio;
> +
> ret_eq = __xe_sriov_admin_bulk_set_exec_quantum_ms(pf_fd, 0);
> igt_warn_on(ret_eq);
> if (!ret)
> @@ -606,12 +620,6 @@ int __xe_sriov_admin_bulk_restore_sched_defaults(int pf_fd)
> if (!ret)
> ret = ret_pt;
>
> - ret_prio = __xe_sriov_admin_bulk_set_sched_priority(pf_fd,
> - XE_SRIOV_SCHED_PRIORITY_LOW);
> - igt_warn_on(ret_prio);
> - if (!ret)
> - ret = ret_prio;
> -
> return ret;
> }
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH i-g-t 4/6] lib/xe/xe_sriov_admin: Add bulk scheduling params setter
2026-08-18 12:39 ` [PATCH i-g-t 4/6] lib/xe/xe_sriov_admin: Add bulk scheduling params setter Marcin Bernatowicz
@ 2026-08-18 14:15 ` Laguna, Lukasz
0 siblings, 0 replies; 16+ messages in thread
From: Laguna, Lukasz @ 2026-08-18 14:15 UTC (permalink / raw)
To: Marcin Bernatowicz, igt-dev
Cc: Adam Miszczak, Jakub Kolakowski, Michal Wajdeczko
On 8/18/2026 14:39, Marcin Bernatowicz wrote:
> Provisioning execution quantum, preemption timeout and priority is not
> order independent. Priority above LOW combined with infinite timeslicing
> is a risky state, which can be left via PAUSE/FLR, so timeslicing has to
> be programmed before priority is raised.
>
> Add struct xe_sriov_sched_params and a bulk setter that enforces that
> order, and that rejects infinite execution quantum or preemption timeout.
> Together with xe_sriov_admin_bulk_restore_sched_defaults(), which now
> lowers priority first, callers get a safe setup and cleanup pair without
> having to open code the sequence.
>
> Assisted-by: Copilot:Claude-Opus-5
> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
> Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
> Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Reviewed-by: Lukasz Laguna <lukasz.laguna@intel.com>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> ---
> lib/xe/xe_sriov_admin.c | 53 +++++++++++++++++++++++++++++++++++++++++
> lib/xe/xe_sriov_admin.h | 20 ++++++++++++++++
> 2 files changed, 73 insertions(+)
>
> diff --git a/lib/xe/xe_sriov_admin.c b/lib/xe/xe_sriov_admin.c
> index 0433ddcfc..2f47d0965 100644
> --- a/lib/xe/xe_sriov_admin.c
> +++ b/lib/xe/xe_sriov_admin.c
> @@ -505,6 +505,59 @@ void xe_sriov_admin_bulk_set_sched_priority(int pf_fd,
> igt_assert_eq(0, __xe_sriov_admin_bulk_set_sched_priority(pf_fd, prio));
> }
>
> +/**
> + * __xe_sriov_admin_bulk_set_sched_params - Set scheduling parameters for PF and all VFs
> + * @pf_fd: PF device file descriptor.
> + * @params: Scheduling parameters to apply.
> + *
> + * Applies execution quantum and preemption timeout before priority, so that a
> + * priority above LOW is never active while timeslicing is still infinite.
> + *
> + * Both &xe_sriov_sched_params.exec_quantum_ms and
> + * &xe_sriov_sched_params.preempt_timeout_us must be non-zero. Use
> + * __xe_sriov_admin_bulk_restore_sched_defaults() to restore infinite timeslicing.
> + *
> + * Returns: 0 on success or negative errno on error.
> + */
> +int __xe_sriov_admin_bulk_set_sched_params(int pf_fd,
> + const struct xe_sriov_sched_params *params)
> +{
> + int ret;
> +
> + if (igt_warn_on_f(!params->exec_quantum_ms || !params->preempt_timeout_us,
> + "Infinite timeslicing requires restoring defaults: eq=%u pt=%u\n",
> + params->exec_quantum_ms, params->preempt_timeout_us))
> + return -EINVAL;
> +
> + ret = __xe_sriov_admin_bulk_set_exec_quantum_ms(pf_fd, params->exec_quantum_ms);
> + if (igt_warn_on_f(ret, "Failed to bulk set exec quantum=%u: %d\n",
> + params->exec_quantum_ms, ret))
> + return ret;
> +
> + ret = __xe_sriov_admin_bulk_set_preempt_timeout_us(pf_fd, params->preempt_timeout_us);
> + if (igt_warn_on_f(ret, "Failed to bulk set preempt timeout=%u: %d\n",
> + params->preempt_timeout_us, ret))
> + return ret;
> +
> + ret = __xe_sriov_admin_bulk_set_sched_priority(pf_fd, params->priority);
> + if (igt_warn_on_f(ret, "Failed to bulk set sched priority=%d: %d\n",
> + params->priority, ret))
> + return ret;
> +
> + return 0;
> +}
> +
> +/**
> + * xe_sriov_admin_bulk_set_sched_params - Assert wrapper for bulk scheduling params update
> + * @pf_fd: PF device file descriptor.
> + * @params: Scheduling parameters to apply.
> + */
> +void xe_sriov_admin_bulk_set_sched_params(int pf_fd,
> + const struct xe_sriov_sched_params *params)
> +{
> + igt_assert_eq(0, __xe_sriov_admin_bulk_set_sched_params(pf_fd, params));
> +}
> +
> /**
> * __xe_sriov_admin_vf_stop - Issue stop command for a VF
> * @pf_fd: PF device file descriptor.
> diff --git a/lib/xe/xe_sriov_admin.h b/lib/xe/xe_sriov_admin.h
> index 4eb9c83a6..6d482f8bf 100644
> --- a/lib/xe/xe_sriov_admin.h
> +++ b/lib/xe/xe_sriov_admin.h
> @@ -13,6 +13,22 @@
>
> struct igt_sysfs_choice;
>
> +/**
> + * struct xe_sriov_sched_params - Scheduling parameters for a function
> + * @exec_quantum_ms: Execution quantum in milliseconds
> + * @preempt_timeout_us: Preemption timeout in microseconds
> + * @priority: Scheduling priority
> + *
> + * Zero @exec_quantum_ms or zero @preempt_timeout_us means infinity, which is
> + * only valid together with %XE_SRIOV_SCHED_PRIORITY_LOW. Use
> + * xe_sriov_admin_bulk_restore_sched_defaults() to return to that state.
> + */
> +struct xe_sriov_sched_params {
> + uint32_t exec_quantum_ms;
> + uint32_t preempt_timeout_us;
> + enum xe_sriov_sched_priority priority;
> +};
> +
> bool xe_sriov_admin_is_present(int pf_fd);
>
> int __xe_sriov_admin_set_exec_quantum_ms(int pf_fd, unsigned int vf_num, uint32_t eq_ms);
> @@ -48,6 +64,10 @@ int __xe_sriov_admin_bulk_set_sched_priority(int pf_fd,
> enum xe_sriov_sched_priority prio);
> void xe_sriov_admin_bulk_set_sched_priority(int pf_fd,
> enum xe_sriov_sched_priority prio);
> +int __xe_sriov_admin_bulk_set_sched_params(int pf_fd,
> + const struct xe_sriov_sched_params *params);
> +void xe_sriov_admin_bulk_set_sched_params(int pf_fd,
> + const struct xe_sriov_sched_params *params);
>
> int __xe_sriov_admin_vf_stop(int pf_fd, unsigned int vf_num);
> void xe_sriov_admin_vf_stop(int pf_fd, unsigned int vf_num);
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH i-g-t 5/6] tests/intel/xe_sriov_scheduling: Use safe scheduling params helpers
2026-08-18 12:39 ` [PATCH i-g-t 5/6] tests/intel/xe_sriov_scheduling: Use safe scheduling params helpers Marcin Bernatowicz
@ 2026-08-18 14:15 ` Laguna, Lukasz
0 siblings, 0 replies; 16+ messages in thread
From: Laguna, Lukasz @ 2026-08-18 14:15 UTC (permalink / raw)
To: Marcin Bernatowicz, igt-dev
Cc: Adam Miszczak, Jakub Kolakowski, Michal Wajdeczko
On 8/18/2026 14:39, Marcin Bernatowicz wrote:
> The test open coded provisioning as execution quantum, preemption timeout
> and then priority, and reused the same helper for cleanup by passing an
> all zero params struct. On the cleanup path that raised priority handling
> last, so a function could be left with priority above LOW while
> timeslicing was already infinite.
>
> Drop the local helpers and use xe_sriov_admin_bulk_set_sched_params() for
> provisioning and __xe_sriov_admin_bulk_restore_sched_defaults() for
> cleanup, which apply the safe order for each direction. The invalid
> combination of infinite timeslicing with priority above LOW is no longer
> representable.
>
> Assisted-by: Copilot:Claude-Opus-5
> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
> Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
> Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Reviewed-by: Lukasz Laguna <lukasz.laguna@intel.com>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> ---
> tests/intel/xe_sriov_scheduling.c | 86 +++++++++----------------------
> 1 file changed, 23 insertions(+), 63 deletions(-)
>
> diff --git a/tests/intel/xe_sriov_scheduling.c b/tests/intel/xe_sriov_scheduling.c
> index 5e4001219..75f1b2322 100644
> --- a/tests/intel/xe_sriov_scheduling.c
> +++ b/tests/intel/xe_sriov_scheduling.c
> @@ -369,44 +369,6 @@ static void init_vf_ids(uint8_t *array, size_t n,
> }
> }
>
> -struct vf_sched_params {
> - uint32_t exec_quantum_ms;
> - uint32_t preempt_timeout_us;
> - enum xe_sriov_sched_priority priority;
> -};
> -
> -static int __set_vfs_scheduling_params(int pf_fd, int num_vfs,
> - const struct vf_sched_params *p)
> -{
> - int ret = 0;
> -
> - ret = __xe_sriov_admin_bulk_set_exec_quantum_ms(pf_fd, p->exec_quantum_ms);
> - if (igt_warn_on_f(ret,
> - "Failed to bulk set exec quantum=%u: %d\n",
> - p->exec_quantum_ms, ret))
> - return ret;
> -
> - ret = __xe_sriov_admin_bulk_set_preempt_timeout_us(pf_fd, p->preempt_timeout_us);
> - if (igt_warn_on_f(ret,
> - "Failed to bulk set preempt timeout=%u: %d\n",
> - p->preempt_timeout_us, ret))
> - return ret;
> -
> - ret = __xe_sriov_admin_bulk_set_sched_priority(pf_fd, p->priority);
> - if (igt_warn_on_f(ret,
> - "Failed to bulk set sched priority=%d: %d\n",
> - p->priority, ret))
> - return ret;
> -
> - return ret;
> -}
> -
> -static void set_vfs_scheduling_params(int pf_fd, int num_vfs,
> - const struct vf_sched_params *p)
> -{
> - igt_assert_eq(0, __set_vfs_scheduling_params(pf_fd, num_vfs, p));
> -}
> -
> static bool check_within_epsilon(const double x, const double ref, const double tol)
> {
> return x <= (1.0 + tol) * ref && x >= (1.0 - tol) * ref;
> @@ -483,7 +445,7 @@ static void compute_common_time_frame_stats(struct subm_set *set)
> struct job_sched_params {
> int duration_ms;
> int num_repeats;
> - struct vf_sched_params sched_params;
> + struct xe_sriov_sched_params sched_params;
> };
>
> static uint32_t sysfs_get_job_timeout_ms(int fd, const struct drm_xe_engine_class_instance *eci)
> @@ -566,15 +528,17 @@ static unsigned int select_inflight_k(unsigned int duration_ms,
> return 2;
> }
>
> -static struct vf_sched_params prepare_vf_sched_params(int num_threads,
> - int min_num_repeats,
> - int job_timeout_ms,
> - const struct subm_opts *opts,
> - enum xe_sriov_sched_priority priority)
> +static struct xe_sriov_sched_params prepare_vf_sched_params(int num_threads,
> + int min_num_repeats,
> + int job_timeout_ms,
> + const struct subm_opts *opts,
> + enum xe_sriov_sched_priority priority)
> {
> - struct vf_sched_params params = { MIN_EXEC_QUANTUM_MS,
> - derive_preempt_timeout_us(MIN_EXEC_QUANTUM_MS),
> - priority };
> + struct xe_sriov_sched_params params = {
> + .exec_quantum_ms = MIN_EXEC_QUANTUM_MS,
> + .preempt_timeout_us = derive_preempt_timeout_us(MIN_EXEC_QUANTUM_MS),
> + .priority = priority,
> + };
>
> if (opts->exec_quantum_ms || opts->preempt_timeout_us) {
> if (opts->exec_quantum_ms)
> @@ -617,7 +581,7 @@ prepare_job_sched_params(int num_threads, int job_timeout_ms, const struct subm_
>
> struct vf_config {
> unsigned int vf_id;
> - struct vf_sched_params sched_params;
> + struct xe_sriov_sched_params sched_params;
> bool run_workload;
> };
>
> @@ -1154,8 +1118,8 @@ static void throughput_ratio(int pf_fd, int num_vfs, const struct subm_opts *opt
> job_timeout_ms,
> opts, priority);
> xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
> - set_vfs_scheduling_params(pf_fd, num_vfs,
> - &job_sched_params->sched_params);
> + xe_sriov_admin_bulk_set_sched_params(pf_fd,
> + &job_sched_params->sched_params);
> igt_sriov_enable_driver_autoprobe(pf_fd);
> igt_sriov_enable_vfs(pf_fd, num_vfs);
> }
> @@ -1196,10 +1160,9 @@ static void nonpreempt_engine_resets(int pf_fd, int num_vfs,
> igt_assert(job_sched_params);
>
> if (!job_sched_params->num_repeats) {
> - struct vf_sched_params vf_sched_params = prepare_vf_sched_params(num_vfs, 1,
> - job_timeout_ms,
> - opts,
> - priority);
> + struct xe_sriov_sched_params vf_sched_params =
> + prepare_vf_sched_params(num_vfs, 1, job_timeout_ms,
> + opts, priority);
>
> *job_sched_params = (struct job_sched_params) {
> .sched_params = vf_sched_params,
> @@ -1208,8 +1171,8 @@ static void nonpreempt_engine_resets(int pf_fd, int num_vfs,
> .num_repeats = 1,
> };
> xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
> - set_vfs_scheduling_params(pf_fd, num_vfs,
> - &job_sched_params->sched_params);
> + xe_sriov_admin_bulk_set_sched_params(pf_fd,
> + &job_sched_params->sched_params);
> igt_sriov_enable_driver_autoprobe(pf_fd);
> igt_sriov_enable_vfs(pf_fd, num_vfs);
> }
> @@ -1280,7 +1243,7 @@ prepare_default_enabled_job_sched_params(int pf_fd,
> struct job_sched_params params = { };
> uint32_t min_exec_quantum_ms = UINT32_MAX;
>
> - params.sched_params = (struct vf_sched_params) {
> + params.sched_params = (struct xe_sriov_sched_params) {
> .exec_quantum_ms = xe_sriov_admin_get_exec_quantum_ms(pf_fd, vf_ids[0]),
> .preempt_timeout_us = xe_sriov_admin_get_preempt_timeout_us(pf_fd, vf_ids[0]),
> .priority = xe_sriov_admin_get_sched_priority(pf_fd, vf_ids[0], NULL),
> @@ -1566,8 +1529,7 @@ int igt_main_args("", long_opts, help_str, subm_opts_handler, NULL)
>
> igt_fixture() {
> xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
> - __set_vfs_scheduling_params(pf_fd, igt_sriov_get_total_vfs(pf_fd),
> - &(struct vf_sched_params){});
> + __xe_sriov_admin_bulk_restore_sched_defaults(pf_fd);
> }
> }
>
> @@ -1618,8 +1580,7 @@ int igt_main_args("", long_opts, help_str, subm_opts_handler, NULL)
>
> igt_fixture() {
> xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
> - __set_vfs_scheduling_params(pf_fd, igt_sriov_get_total_vfs(pf_fd),
> - &(struct vf_sched_params){});
> + __xe_sriov_admin_bulk_restore_sched_defaults(pf_fd);
> }
> }
>
> @@ -1627,8 +1588,7 @@ int igt_main_args("", long_opts, help_str, subm_opts_handler, NULL)
> int ret;
>
> xe_sriov_disable_vfs_restore_auto_provisioning(pf_fd);
> - ret = __set_vfs_scheduling_params(pf_fd, igt_sriov_get_total_vfs(pf_fd),
> - &(struct vf_sched_params){});
> + ret = __xe_sriov_admin_bulk_restore_sched_defaults(pf_fd);
> /* abort to avoid execution of next tests with enabled VFs */
> igt_abort_on_f(igt_sriov_get_enabled_vfs(pf_fd) > 0,
> "Failed to disable VF(s)");
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH i-g-t 6/6] tests/intel/xe_pmu: Disable VFs before restoring sched params
2026-08-18 12:39 ` [PATCH i-g-t 6/6] tests/intel/xe_pmu: Disable VFs before restoring sched params Marcin Bernatowicz
@ 2026-08-18 14:16 ` Laguna, Lukasz
0 siblings, 0 replies; 16+ messages in thread
From: Laguna, Lukasz @ 2026-08-18 14:16 UTC (permalink / raw)
To: Marcin Bernatowicz, igt-dev
Cc: Adam Miszczak, Jakub Kolakowski, Michal Wajdeczko
On 8/18/2026 14:39, Marcin Bernatowicz wrote:
> Restore scheduling defaults after VFs are disabled rather than while they
> are still active, matching the cleanup order already used by
> xe_sriov_scheduling. Resetting scheduling parameters of active VFs can
> leave cleanup incomplete and cause subsequent VF probing to fail.
>
> Assisted-by: Copilot:Claude-Opus-5
> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
> Cc: Adam Miszczak <adam.miszczak@linux.intel.com>
> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com>
> Cc: Lukasz Laguna <lukasz.laguna@intel.com>
Reviewed-by: Lukasz Laguna <lukasz.laguna@intel.com>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> ---
> tests/intel/xe_pmu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tests/intel/xe_pmu.c b/tests/intel/xe_pmu.c
> index 2d1bc1f61..a8ceac46c 100644
> --- a/tests/intel/xe_pmu.c
> +++ b/tests/intel/xe_pmu.c
> @@ -1023,8 +1023,8 @@ static void unprovision_and_disable_vfs(int fd)
> {
> int ret;
>
> - ret = __xe_sriov_admin_bulk_restore_sched_defaults(fd);
> xe_sriov_disable_vfs_restore_auto_provisioning(fd);
> + ret = __xe_sriov_admin_bulk_restore_sched_defaults(fd);
> /* abort to avoid execution of next tests with enabled VFs */
> igt_abort_on_f(igt_sriov_get_enabled_vfs(fd) > 0,
> "Failed to disable VF(s)");
^ permalink raw reply [flat|nested] 16+ messages in thread
* ✓ i915.CI.BAT: success for Order SR-IOV scheduling provisioning safely
2026-08-18 12:39 [PATCH i-g-t 0/6] Order SR-IOV scheduling provisioning safely Marcin Bernatowicz
` (6 preceding siblings ...)
2026-08-18 14:11 ` ✓ Xe.CI.BAT: success for Order SR-IOV scheduling provisioning safely Patchwork
@ 2026-08-18 14:20 ` Patchwork
2026-08-18 16:39 ` ✓ Xe.CI.FULL: " Patchwork
8 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2026-08-18 14:20 UTC (permalink / raw)
To: Bernatowicz, Marcin; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 1722 bytes --]
== Series Details ==
Series: Order SR-IOV scheduling provisioning safely
URL : https://patchwork.freedesktop.org/series/172390/
State : success
== Summary ==
CI Bug Log - changes from IGT_9059 -> IGTPW_15698
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15698/index.html
Participating hosts (40 -> 38)
------------------------------
Missing (2): bat-dg2-13 fi-snb-2520m
Known issues
------------
Here are the changes found in IGTPW_15698 that come from known issues:
### IGT changes ###
#### Possible fixes ####
* igt@kms_pm_rpm@basic-rte:
- bat-rpls-4: [DMESG-WARN][1] ([i915#13400]) -> [PASS][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_9059/bat-rpls-4/igt@kms_pm_rpm@basic-rte.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15698/bat-rpls-4/igt@kms_pm_rpm@basic-rte.html
[i915#13400]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13400
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_9059 -> IGTPW_15698
* Linux: CI_DRM_19006 -> CI_DRM_19010
CI-20190529: 20190529
CI_DRM_19006: b801f94c49ffdb0f65e37baf31d68570356d4983 @ git://anongit.freedesktop.org/gfx-ci/linux
CI_DRM_19010: 275df33dcf4c5d018717867a0b29ed1d3b62c1ef @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_15698: f006191dbda63bfddb4cd2d81e36f7783765981f @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_9059: f5a4ff79434df36db1d6b13deb37c90a6602565e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_15698/index.html
[-- Attachment #2: Type: text/html, Size: 2322 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* ✓ Xe.CI.FULL: success for Order SR-IOV scheduling provisioning safely
2026-08-18 12:39 [PATCH i-g-t 0/6] Order SR-IOV scheduling provisioning safely Marcin Bernatowicz
` (7 preceding siblings ...)
2026-08-18 14:20 ` ✓ i915.CI.BAT: " Patchwork
@ 2026-08-18 16:39 ` Patchwork
8 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2026-08-18 16:39 UTC (permalink / raw)
To: Bernatowicz, Marcin; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 53577 bytes --]
== Series Details ==
Series: Order SR-IOV scheduling provisioning safely
URL : https://patchwork.freedesktop.org/series/172390/
State : success
== Summary ==
CI Bug Log - changes from XEIGT_9059_FULL -> XEIGTPW_15698_FULL
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (2 -> 2)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in XEIGTPW_15698_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
- shard-lnl: NOTRUN -> [SKIP][1] ([Intel XE#3157])
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-7/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
* igt@kms_async_flips@async-flip-with-page-flip-events-tiled-atomic:
- shard-lnl: [PASS][2] -> [DMESG-FAIL][3] ([Intel XE#1727]) +1 other test dmesg-fail
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-lnl-6/igt@kms_async_flips@async-flip-with-page-flip-events-tiled-atomic.html
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-2/igt@kms_async_flips@async-flip-with-page-flip-events-tiled-atomic.html
* igt@kms_async_flips@async-flip-with-page-flip-events-tiled-atomic@pipe-a-edp-1-4:
- shard-lnl: [PASS][4] -> [DMESG-WARN][5] ([Intel XE#1727])
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-lnl-6/igt@kms_async_flips@async-flip-with-page-flip-events-tiled-atomic@pipe-a-edp-1-4.html
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-2/igt@kms_async_flips@async-flip-with-page-flip-events-tiled-atomic@pipe-a-edp-1-4.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-90:
- shard-bmg: NOTRUN -> [SKIP][6] ([Intel XE#2327]) +5 other tests skip
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-6/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html
- shard-lnl: NOTRUN -> [SKIP][7] ([Intel XE#1407]) +1 other test skip
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-3/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-addfb:
- shard-bmg: NOTRUN -> [SKIP][8] ([Intel XE#2328] / [Intel XE#7367])
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-1/igt@kms_big_fb@yf-tiled-addfb.html
* igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow:
- shard-bmg: NOTRUN -> [SKIP][9] ([Intel XE#607] / [Intel XE#7361]) +1 other test skip
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-9/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-bmg: NOTRUN -> [SKIP][10] ([Intel XE#1124]) +6 other tests skip
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-4/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
- shard-lnl: NOTRUN -> [SKIP][11] ([Intel XE#1124]) +2 other tests skip
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-1/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_bw@connected-linear-tiling-4-displays-target-1920x1080p:
- shard-bmg: NOTRUN -> [SKIP][12] ([Intel XE#7679]) +1 other test skip
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-5/igt@kms_bw@connected-linear-tiling-4-displays-target-1920x1080p.html
- shard-lnl: NOTRUN -> [SKIP][13] ([Intel XE#8365])
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-3/igt@kms_bw@connected-linear-tiling-4-displays-target-1920x1080p.html
* igt@kms_bw@linear-tiling-2-displays-target-1920x1080p:
- shard-bmg: NOTRUN -> [SKIP][14] ([Intel XE#367]) +1 other test skip
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-4/igt@kms_bw@linear-tiling-2-displays-target-1920x1080p.html
* igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs-cc:
- shard-bmg: NOTRUN -> [SKIP][15] ([Intel XE#2887]) +12 other tests skip
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-1/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-rc-ccs-cc.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1:
- shard-lnl: NOTRUN -> [SKIP][16] ([Intel XE#2669] / [Intel XE#3433] / [Intel XE#7389]) +3 other tests skip
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-1/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs@pipe-a-edp-1.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs:
- shard-bmg: NOTRUN -> [SKIP][17] ([Intel XE#3432])
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-1/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs.html
* igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-mc-ccs:
- shard-lnl: NOTRUN -> [SKIP][18] ([Intel XE#2887]) +4 other tests skip
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-8/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-mc-ccs.html
* igt@kms_cdclk@plane-scaling:
- shard-bmg: NOTRUN -> [SKIP][19] ([Intel XE#2724] / [Intel XE#7449])
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-4/igt@kms_cdclk@plane-scaling.html
* igt@kms_chamelium_color@ctm-0-50:
- shard-bmg: NOTRUN -> [SKIP][20] ([Intel XE#2325] / [Intel XE#7358])
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-9/igt@kms_chamelium_color@ctm-0-50.html
* igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4:
- shard-lnl: NOTRUN -> [SKIP][21] ([Intel XE#7358])
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-5/igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4.html
* igt@kms_chamelium_color_pipeline@plane-lut1d-lut1d:
- shard-bmg: NOTRUN -> [SKIP][22] ([Intel XE#7358]) +2 other tests skip
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-10/igt@kms_chamelium_color_pipeline@plane-lut1d-lut1d.html
* igt@kms_chamelium_edid@hdmi-edid-change-during-hibernate:
- shard-bmg: NOTRUN -> [SKIP][23] ([Intel XE#2252]) +2 other tests skip
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-1/igt@kms_chamelium_edid@hdmi-edid-change-during-hibernate.html
* igt@kms_chamelium_hpd@dp-hpd-storm:
- shard-lnl: NOTRUN -> [SKIP][24] ([Intel XE#373]) +1 other test skip
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-5/igt@kms_chamelium_hpd@dp-hpd-storm.html
* igt@kms_content_protection@atomic-dpms-hdcp14@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][25] ([Intel XE#3304] / [Intel XE#7374]) +1 other test fail
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-7/igt@kms_content_protection@atomic-dpms-hdcp14@pipe-a-dp-2.html
* igt@kms_content_protection@dp-mst-lic-type-0-hdcp14:
- shard-bmg: NOTRUN -> [SKIP][26] ([Intel XE#6974])
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-5/igt@kms_content_protection@dp-mst-lic-type-0-hdcp14.html
* igt@kms_content_protection@legacy:
- shard-bmg: NOTRUN -> [FAIL][27] ([Intel XE#1178] / [Intel XE#3304] / [Intel XE#7374]) +3 other tests fail
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-3/igt@kms_content_protection@legacy.html
* igt@kms_content_protection@uevent:
- shard-lnl: NOTRUN -> [SKIP][28] ([Intel XE#7642]) +1 other test skip
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-2/igt@kms_content_protection@uevent.html
* igt@kms_content_protection@uevent-hdcp14:
- shard-bmg: NOTRUN -> [FAIL][29] ([Intel XE#6707] / [Intel XE#7439]) +3 other tests fail
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-7/igt@kms_content_protection@uevent-hdcp14.html
* igt@kms_cursor_crc@cursor-onscreen-512x170:
- shard-bmg: NOTRUN -> [SKIP][30] ([Intel XE#2321] / [Intel XE#7355]) +1 other test skip
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-1/igt@kms_cursor_crc@cursor-onscreen-512x170.html
* igt@kms_cursor_crc@cursor-sliding-32x10:
- shard-lnl: NOTRUN -> [SKIP][31] ([Intel XE#1424])
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-5/igt@kms_cursor_crc@cursor-sliding-32x10.html
* igt@kms_cursor_crc@cursor-sliding-max-size:
- shard-bmg: NOTRUN -> [SKIP][32] ([Intel XE#2320]) +1 other test skip
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-1/igt@kms_cursor_crc@cursor-sliding-max-size.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
- shard-lnl: NOTRUN -> [SKIP][33] ([Intel XE#309] / [Intel XE#7343]) +1 other test skip
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-5/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html
* igt@kms_dirtyfb@psr-dirtyfb-ioctl:
- shard-bmg: NOTRUN -> [SKIP][34] ([Intel XE#1508])
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-2/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html
* igt@kms_dp_linktrain_fallback@dp-fallback:
- shard-lnl: NOTRUN -> [SKIP][35] ([Intel XE#4294] / [Intel XE#7477])
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-4/igt@kms_dp_linktrain_fallback@dp-fallback.html
* igt@kms_dsc@dsc-with-bpc-formats-bigjoiner:
- shard-bmg: NOTRUN -> [SKIP][36] ([Intel XE#8265]) +1 other test skip
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-8/igt@kms_dsc@dsc-with-bpc-formats-bigjoiner.html
* igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-out-visible-area:
- shard-lnl: NOTRUN -> [SKIP][37] ([Intel XE#4422] / [Intel XE#7442])
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-3/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-out-visible-area.html
* igt@kms_feature_discovery@display-3x:
- shard-lnl: NOTRUN -> [SKIP][38] ([Intel XE#703] / [Intel XE#7448])
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-8/igt@kms_feature_discovery@display-3x.html
- shard-bmg: NOTRUN -> [SKIP][39] ([Intel XE#2373] / [Intel XE#7448])
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-8/igt@kms_feature_discovery@display-3x.html
* igt@kms_flip@flip-vs-expired-vblank@c-edp1:
- shard-lnl: [PASS][40] -> [FAIL][41] ([Intel XE#301] / [Intel XE#3149]) +1 other test fail
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-lnl-6/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-4/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling:
- shard-bmg: NOTRUN -> [SKIP][42] ([Intel XE#7178] / [Intel XE#7351]) +3 other tests skip
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-7/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
- shard-bmg: NOTRUN -> [SKIP][43] ([Intel XE#7178] / [Intel XE#7349])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-2/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
- shard-lnl: NOTRUN -> [SKIP][44] ([Intel XE#7178] / [Intel XE#7349])
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-8/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling:
- shard-lnl: NOTRUN -> [SKIP][45] ([Intel XE#7178] / [Intel XE#7351])
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-7/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling.html
* igt@kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-fullscreen:
- shard-lnl: NOTRUN -> [SKIP][46] ([Intel XE#6312] / [Intel XE#651]) +1 other test skip
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-3/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-fullscreen.html
* igt@kms_frontbuffer_tracking@drrs-abgr161616f-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][47] ([Intel XE#7061] / [Intel XE#7356]) +2 other tests skip
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-8/igt@kms_frontbuffer_tracking@drrs-abgr161616f-draw-blt.html
* igt@kms_frontbuffer_tracking@drrshdr-abgr161616f-draw-mmap-wc:
- shard-lnl: NOTRUN -> [SKIP][48] ([Intel XE#7061])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-8/igt@kms_frontbuffer_tracking@drrshdr-abgr161616f-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-indfb-draw-render:
- shard-bmg: NOTRUN -> [SKIP][49] ([Intel XE#4141]) +14 other tests skip
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-primscrn-spr-indfb-onoff:
- shard-lnl: NOTRUN -> [SKIP][50] ([Intel XE#6312]) +5 other tests skip
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-primscrn-spr-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbcdrrshdr-rgb565-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][51] ([Intel XE#2311]) +46 other tests skip
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcdrrshdr-rgb565-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrshdr-tiling-y:
- shard-bmg: NOTRUN -> [SKIP][52] ([Intel XE#7399])
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcdrrshdr-tiling-y.html
* igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-cur-indfb-move:
- shard-lnl: NOTRUN -> [SKIP][53] ([Intel XE#7865]) +9 other tests skip
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-8/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-lnl: NOTRUN -> [SKIP][54] ([Intel XE#656] / [Intel XE#7905]) +12 other tests skip
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@hdr-abgr161616f-draw-mmap-wc:
- shard-bmg: NOTRUN -> [SKIP][55] ([Intel XE#7061]) +2 other tests skip
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-1/igt@kms_frontbuffer_tracking@hdr-abgr161616f-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt:
- shard-bmg: NOTRUN -> [SKIP][56] ([Intel XE#2313]) +47 other tests skip
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-10/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-shrfb-plflip-blt:
- shard-lnl: NOTRUN -> [SKIP][57] ([Intel XE#7905]) +8 other tests skip
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-2/igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-shrfb-plflip-blt.html
* igt@kms_hdr@brightness-with-hdr:
- shard-bmg: NOTRUN -> [SKIP][58] ([Intel XE#3544])
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-5/igt@kms_hdr@brightness-with-hdr.html
* igt@kms_hdr@invalid-hdr:
- shard-bmg: NOTRUN -> [SKIP][59] ([Intel XE#1503])
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-9/igt@kms_hdr@invalid-hdr.html
* igt@kms_hdr@static-toggle:
- shard-lnl: NOTRUN -> [SKIP][60] ([Intel XE#1503])
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-8/igt@kms_hdr@static-toggle.html
* igt@kms_joiner@invalid-modeset-big-joiner:
- shard-bmg: NOTRUN -> [SKIP][61] ([Intel XE#6901])
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-9/igt@kms_joiner@invalid-modeset-big-joiner.html
* igt@kms_mst@mst-suspend-read-crc:
- shard-lnl: NOTRUN -> [SKIP][62] ([Intel XE#8348])
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-1/igt@kms_mst@mst-suspend-read-crc.html
- shard-bmg: NOTRUN -> [SKIP][63] ([Intel XE#8348])
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-10/igt@kms_mst@mst-suspend-read-crc.html
* igt@kms_panel_fitting@legacy:
- shard-bmg: NOTRUN -> [SKIP][64] ([Intel XE#2486])
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-5/igt@kms_panel_fitting@legacy.html
* igt@kms_pipe_stress@stress-xrgb8888-yftiled:
- shard-bmg: NOTRUN -> [SKIP][65] ([Intel XE#6912] / [Intel XE#7375])
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-1/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html
* igt@kms_plane@pixel-format-y-tiled-modifier:
- shard-bmg: NOTRUN -> [SKIP][66] ([Intel XE#7283]) +2 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-10/igt@kms_plane@pixel-format-y-tiled-modifier.html
- shard-lnl: NOTRUN -> [SKIP][67] ([Intel XE#7283])
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-3/igt@kms_plane@pixel-format-y-tiled-modifier.html
* igt@kms_plane_multiple@2x-tiling-y:
- shard-bmg: NOTRUN -> [SKIP][68] ([Intel XE#5021] / [Intel XE#7377])
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-9/igt@kms_plane_multiple@2x-tiling-y.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5:
- shard-bmg: NOTRUN -> [SKIP][69] ([Intel XE#2763] / [Intel XE#6886]) +9 other tests skip
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-2/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-c:
- shard-lnl: NOTRUN -> [SKIP][70] ([Intel XE#2763] / [Intel XE#6886]) +3 other tests skip
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-5/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-c.html
* igt@kms_pm_backlight@bad-brightness:
- shard-bmg: NOTRUN -> [SKIP][71] ([Intel XE#7376] / [Intel XE#7760] / [Intel XE#870])
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-8/igt@kms_pm_backlight@bad-brightness.html
* igt@kms_pm_dc@dc3co-framedrop-check@pr-xrgb8888:
- shard-bmg: NOTRUN -> [SKIP][72] ([Intel XE#8395] / [Intel XE#8396]) +1 other test skip
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-4/igt@kms_pm_dc@dc3co-framedrop-check@pr-xrgb8888.html
* igt@kms_pm_dc@dc3co-framedrop-check@psr2-xrgb8888:
- shard-bmg: NOTRUN -> [SKIP][73] ([Intel XE#8396]) +1 other test skip
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-4/igt@kms_pm_dc@dc3co-framedrop-check@psr2-xrgb8888.html
* igt@kms_pm_dc@deep-pkgc:
- shard-bmg: NOTRUN -> [SKIP][74] ([Intel XE#2505] / [Intel XE#7447])
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-8/igt@kms_pm_dc@deep-pkgc.html
- shard-lnl: [PASS][75] -> [FAIL][76] ([Intel XE#2029] / [Intel XE#7395])
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-lnl-3/igt@kms_pm_dc@deep-pkgc.html
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-6/igt@kms_pm_dc@deep-pkgc.html
* igt@kms_pm_rpm@modeset-lpsp-stress:
- shard-bmg: NOTRUN -> [SKIP][77] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#7383] / [Intel XE#836])
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-1/igt@kms_pm_rpm@modeset-lpsp-stress.html
* igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area:
- shard-lnl: NOTRUN -> [SKIP][78] ([Intel XE#2893] / [Intel XE#7304])
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-1/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area:
- shard-bmg: NOTRUN -> [SKIP][79] ([Intel XE#1489]) +6 other tests skip
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-5/igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf:
- shard-lnl: NOTRUN -> [SKIP][80] ([Intel XE#2893] / [Intel XE#4608] / [Intel XE#7304])
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-4/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf@pipe-a-edp-1:
- shard-lnl: NOTRUN -> [SKIP][81] ([Intel XE#4608])
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-4/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf@pipe-a-edp-1.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf@pipe-b-edp-1:
- shard-lnl: NOTRUN -> [SKIP][82] ([Intel XE#4608] / [Intel XE#7304])
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-4/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-fully-sf@pipe-b-edp-1.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-bmg: NOTRUN -> [SKIP][83] ([Intel XE#2387] / [Intel XE#7429])
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-6/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr@fbc-psr2-sprite-plane-onoff:
- shard-lnl: NOTRUN -> [SKIP][84] ([Intel XE#1406] / [Intel XE#7345])
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-6/igt@kms_psr@fbc-psr2-sprite-plane-onoff.html
* igt@kms_psr@fbc-psr2-sprite-plane-onoff@edp-1:
- shard-lnl: NOTRUN -> [SKIP][85] ([Intel XE#1406] / [Intel XE#4609] / [Intel XE#7345])
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-6/igt@kms_psr@fbc-psr2-sprite-plane-onoff@edp-1.html
* igt@kms_psr@pr-dpms:
- shard-lnl: NOTRUN -> [SKIP][86] ([Intel XE#1406]) +1 other test skip
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-3/igt@kms_psr@pr-dpms.html
* igt@kms_psr@psr2-sprite-blt:
- shard-bmg: NOTRUN -> [SKIP][87] ([Intel XE#2234] / [Intel XE#2850]) +10 other tests skip
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-9/igt@kms_psr@psr2-sprite-blt.html
* igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
- shard-bmg: NOTRUN -> [SKIP][88] ([Intel XE#7795])
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-2/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
* igt@kms_rotation_crc@primary-rotation-270:
- shard-bmg: NOTRUN -> [SKIP][89] ([Intel XE#3904] / [Intel XE#7342]) +1 other test skip
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-2/igt@kms_rotation_crc@primary-rotation-270.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-180:
- shard-bmg: NOTRUN -> [SKIP][90] ([Intel XE#2330] / [Intel XE#5813])
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-10/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html
* igt@kms_scaling_modes@scaling-mode-full:
- shard-bmg: NOTRUN -> [SKIP][91] ([Intel XE#2413])
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-10/igt@kms_scaling_modes@scaling-mode-full.html
* igt@kms_sharpness_filter@invalid-plane-with-filter:
- shard-bmg: NOTRUN -> [SKIP][92] ([Intel XE#6503])
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-5/igt@kms_sharpness_filter@invalid-plane-with-filter.html
* igt@xe_evict@evict-large-external:
- shard-lnl: NOTRUN -> [SKIP][93] ([Intel XE#6540] / [Intel XE#688]) +1 other test skip
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-8/igt@xe_evict@evict-large-external.html
* igt@xe_evict@evict-small-multi-queue-cm:
- shard-bmg: NOTRUN -> [SKIP][94] ([Intel XE#8370]) +1 other test skip
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-4/igt@xe_evict@evict-small-multi-queue-cm.html
* igt@xe_exec_balancer@virtual-all-active:
- shard-lnl: NOTRUN -> [SKIP][95] ([Intel XE#7482]) +4 other tests skip
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-2/igt@xe_exec_balancer@virtual-all-active.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-null-defer-bind:
- shard-bmg: NOTRUN -> [SKIP][96] ([Intel XE#2322] / [Intel XE#7372]) +2 other tests skip
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-10/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-null-defer-bind.html
* igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate:
- shard-lnl: NOTRUN -> [SKIP][97] ([Intel XE#1392]) +2 other tests skip
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-7/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate.html
* igt@xe_exec_fault_mode@many-execqueues-multi-queue-invalid-fault:
- shard-bmg: NOTRUN -> [SKIP][98] ([Intel XE#8374]) +9 other tests skip
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-2/igt@xe_exec_fault_mode@many-execqueues-multi-queue-invalid-fault.html
* igt@xe_exec_fault_mode@twice-multi-queue-userptr-invalidate-race:
- shard-lnl: NOTRUN -> [SKIP][99] ([Intel XE#8374]) +3 other tests skip
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-4/igt@xe_exec_fault_mode@twice-multi-queue-userptr-invalidate-race.html
* igt@xe_exec_multi_queue@many-queues-preempt-mode-close-fd-smem:
- shard-lnl: NOTRUN -> [SKIP][100] ([Intel XE#8364]) +5 other tests skip
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-2/igt@xe_exec_multi_queue@many-queues-preempt-mode-close-fd-smem.html
* igt@xe_exec_multi_queue@one-queue-preempt-mode-close-fd-smem:
- shard-bmg: NOTRUN -> [SKIP][101] ([Intel XE#8364]) +23 other tests skip
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-6/igt@xe_exec_multi_queue@one-queue-preempt-mode-close-fd-smem.html
* igt@xe_exec_reset@multi-queue-cat-error-on-secondary:
- shard-bmg: NOTRUN -> [SKIP][102] ([Intel XE#8369]) +1 other test skip
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-5/igt@xe_exec_reset@multi-queue-cat-error-on-secondary.html
* igt@xe_exec_reset@multi-queue-long-spin-reuse-many-queue-switch:
- shard-lnl: NOTRUN -> [SKIP][103] ([Intel XE#8369])
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-1/igt@xe_exec_reset@multi-queue-long-spin-reuse-many-queue-switch.html
* igt@xe_exec_system_allocator@many-stride-new-prefetch:
- shard-bmg: NOTRUN -> [INCOMPLETE][104] ([Intel XE#7098] / [Intel XE#8159])
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-10/igt@xe_exec_system_allocator@many-stride-new-prefetch.html
* igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-wt-single-vma:
- shard-lnl: NOTRUN -> [SKIP][105] ([Intel XE#6196])
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-8/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-wt-single-vma.html
* igt@xe_exec_threads@threads-multi-queue-mixed-shared-vm-userptr-invalidate:
- shard-bmg: NOTRUN -> [SKIP][106] ([Intel XE#8378]) +6 other tests skip
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-10/igt@xe_exec_threads@threads-multi-queue-mixed-shared-vm-userptr-invalidate.html
* igt@xe_exec_threads@threads-multi-queue-shared-vm-userptr:
- shard-lnl: NOTRUN -> [SKIP][107] ([Intel XE#8378]) +2 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-5/igt@xe_exec_threads@threads-multi-queue-shared-vm-userptr.html
* igt@xe_madvise@atomic-device:
- shard-lnl: NOTRUN -> [SKIP][108] ([Intel XE#7980])
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-1/igt@xe_madvise@atomic-device.html
* igt@xe_mmap@vram:
- shard-lnl: NOTRUN -> [SKIP][109] ([Intel XE#1416])
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-7/igt@xe_mmap@vram.html
* igt@xe_module_load@load:
- shard-bmg: ([PASS][110], [PASS][111], [PASS][112], [PASS][113], [PASS][114], [PASS][115], [PASS][116], [PASS][117], [PASS][118], [PASS][119], [PASS][120], [PASS][121], [PASS][122], [PASS][123], [PASS][124], [PASS][125], [PASS][126], [PASS][127], [PASS][128], [PASS][129], [PASS][130], [PASS][131], [PASS][132], [PASS][133], [PASS][134]) -> ([PASS][135], [PASS][136], [SKIP][137], [PASS][138], [PASS][139], [PASS][140], [PASS][141], [PASS][142], [PASS][143], [PASS][144], [PASS][145], [PASS][146], [PASS][147], [PASS][148], [PASS][149], [PASS][150], [PASS][151], [PASS][152], [PASS][153], [PASS][154], [PASS][155], [PASS][156], [PASS][157], [PASS][158], [PASS][159], [PASS][160]) ([Intel XE#2457] / [Intel XE#7405])
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-2/igt@xe_module_load@load.html
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-8/igt@xe_module_load@load.html
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-8/igt@xe_module_load@load.html
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-2/igt@xe_module_load@load.html
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-1/igt@xe_module_load@load.html
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-1/igt@xe_module_load@load.html
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-10/igt@xe_module_load@load.html
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-10/igt@xe_module_load@load.html
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-10/igt@xe_module_load@load.html
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-9/igt@xe_module_load@load.html
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-9/igt@xe_module_load@load.html
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-7/igt@xe_module_load@load.html
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-5/igt@xe_module_load@load.html
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-7/igt@xe_module_load@load.html
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-5/igt@xe_module_load@load.html
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-4/igt@xe_module_load@load.html
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-7/igt@xe_module_load@load.html
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-9/igt@xe_module_load@load.html
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-6/igt@xe_module_load@load.html
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-6/igt@xe_module_load@load.html
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-6/igt@xe_module_load@load.html
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-3/igt@xe_module_load@load.html
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-4/igt@xe_module_load@load.html
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-3/igt@xe_module_load@load.html
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-3/igt@xe_module_load@load.html
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-1/igt@xe_module_load@load.html
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-8/igt@xe_module_load@load.html
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-8/igt@xe_module_load@load.html
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-5/igt@xe_module_load@load.html
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-7/igt@xe_module_load@load.html
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-7/igt@xe_module_load@load.html
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-1/igt@xe_module_load@load.html
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-1/igt@xe_module_load@load.html
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-4/igt@xe_module_load@load.html
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-2/igt@xe_module_load@load.html
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-2/igt@xe_module_load@load.html
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-4/igt@xe_module_load@load.html
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-6/igt@xe_module_load@load.html
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-6/igt@xe_module_load@load.html
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-9/igt@xe_module_load@load.html
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-9/igt@xe_module_load@load.html
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-9/igt@xe_module_load@load.html
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-10/igt@xe_module_load@load.html
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-10/igt@xe_module_load@load.html
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-10/igt@xe_module_load@load.html
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-8/igt@xe_module_load@load.html
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-8/igt@xe_module_load@load.html
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-5/igt@xe_module_load@load.html
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-3/igt@xe_module_load@load.html
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-3/igt@xe_module_load@load.html
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-5/igt@xe_module_load@load.html
* igt@xe_multigpu_svm@mgpu-concurrent-access-basic:
- shard-bmg: NOTRUN -> [SKIP][161] ([Intel XE#6964]) +1 other test skip
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-1/igt@xe_multigpu_svm@mgpu-concurrent-access-basic.html
* igt@xe_page_reclaim@binds-null-vma:
- shard-bmg: NOTRUN -> [SKIP][162] ([Intel XE#7793])
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-1/igt@xe_page_reclaim@binds-null-vma.html
* igt@xe_pm@d3hot-mmap-vram:
- shard-lnl: NOTRUN -> [SKIP][163] ([Intel XE#1948])
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-8/igt@xe_pm@d3hot-mmap-vram.html
* igt@xe_pm@s2idle-d3cold-basic-exec:
- shard-bmg: NOTRUN -> [SKIP][164] ([Intel XE#2284] / [Intel XE#7370])
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-7/igt@xe_pm@s2idle-d3cold-basic-exec.html
* igt@xe_pm@s3-basic-exec:
- shard-lnl: NOTRUN -> [SKIP][165] ([Intel XE#584] / [Intel XE#7369])
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-2/igt@xe_pm@s3-basic-exec.html
* igt@xe_pxp@pxp-stale-queue-post-termination-irq:
- shard-bmg: NOTRUN -> [SKIP][166] ([Intel XE#4733] / [Intel XE#7417]) +1 other test skip
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-6/igt@xe_pxp@pxp-stale-queue-post-termination-irq.html
* igt@xe_query@multigpu-query-invalid-extension:
- shard-bmg: NOTRUN -> [SKIP][167] ([Intel XE#944]) +2 other tests skip
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-9/igt@xe_query@multigpu-query-invalid-extension.html
* igt@xe_survivability@runtime-survivability:
- shard-bmg: NOTRUN -> [DMESG-WARN][168] ([Intel XE#8966])
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-10/igt@xe_survivability@runtime-survivability.html
- shard-lnl: NOTRUN -> [SKIP][169] ([Intel XE#8415])
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-lnl-4/igt@xe_survivability@runtime-survivability.html
#### Possible fixes ####
* igt@kms_async_flips@alternate-sync-async-flip-atomic:
- shard-bmg: [FAIL][170] ([Intel XE#3718] / [Intel XE#6078]) -> [PASS][171]
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-2/igt@kms_async_flips@alternate-sync-async-flip-atomic.html
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-7/igt@kms_async_flips@alternate-sync-async-flip-atomic.html
* igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-c-dp-2:
- shard-bmg: [FAIL][172] ([Intel XE#6078]) -> [PASS][173]
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-2/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-c-dp-2.html
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-7/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-c-dp-2.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
- shard-bmg: [INCOMPLETE][174] ([Intel XE#7084] / [Intel XE#8150]) -> [PASS][175] +1 other test pass
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-7/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-4/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic:
- shard-bmg: [FAIL][176] ([Intel XE#7571]) -> [PASS][177]
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-3/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-3/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
* igt@kms_hdmi_inject@inject-audio:
- shard-bmg: [SKIP][178] ([Intel XE#7308]) -> [PASS][179]
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-7/igt@kms_hdmi_inject@inject-audio.html
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-6/igt@kms_hdmi_inject@inject-audio.html
* igt@kms_setmode@basic:
- shard-bmg: [FAIL][180] ([Intel XE#8618]) -> [PASS][181]
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-8/igt@kms_setmode@basic.html
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-10/igt@kms_setmode@basic.html
* igt@kms_setmode@basic@pipe-c-dp-2-pipe-a-hdmi-a-3:
- shard-bmg: [FAIL][182] -> [PASS][183]
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-8/igt@kms_setmode@basic@pipe-c-dp-2-pipe-a-hdmi-a-3.html
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-10/igt@kms_setmode@basic@pipe-c-dp-2-pipe-a-hdmi-a-3.html
* igt@xe_module_load@reload-no-display:
- shard-bmg: [ABORT][184] ([Intel XE#8007]) -> [PASS][185]
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-5/igt@xe_module_load@reload-no-display.html
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-7/igt@xe_module_load@reload-no-display.html
* igt@xe_pmu@engine-activity-accuracy-50:
- shard-bmg: [FAIL][186] ([Intel XE#8555]) -> [PASS][187] +3 other tests pass
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-1/igt@xe_pmu@engine-activity-accuracy-50.html
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-4/igt@xe_pmu@engine-activity-accuracy-50.html
#### Warnings ####
* igt@kms_tiled_display@basic-test-pattern:
- shard-bmg: [SKIP][188] ([Intel XE#2426] / [Intel XE#5848]) -> [FAIL][189] ([Intel XE#1729] / [Intel XE#7424])
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-2/igt@kms_tiled_display@basic-test-pattern.html
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-3/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-bmg: [SKIP][190] ([Intel XE#2509] / [Intel XE#7437]) -> [SKIP][191] ([Intel XE#2426] / [Intel XE#5848])
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_9059/shard-bmg-10/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/shard-bmg-6/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[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#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
[Intel XE#1416]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1416
[Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
[Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
[Intel XE#1508]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1508
[Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
[Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
[Intel XE#1948]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1948
[Intel XE#2029]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2029
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[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#2328]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2328
[Intel XE#2330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2330
[Intel XE#2373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2373
[Intel XE#2387]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2387
[Intel XE#2413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2413
[Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
[Intel XE#2457]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2457
[Intel XE#2486]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2486
[Intel XE#2505]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2505
[Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
[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#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[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#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
[Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
[Intel XE#3157]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3157
[Intel XE#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[Intel XE#3433]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3433
[Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#3718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3718
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
[Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
[Intel XE#4294]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4294
[Intel XE#4422]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4422
[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#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
[Intel XE#5021]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5021
[Intel XE#5813]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5813
[Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
[Intel XE#5848]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5848
[Intel XE#607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/607
[Intel XE#6078]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6078
[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#6503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6503
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#6540]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6540
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#6707]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6707
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#6886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6886
[Intel XE#6901]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6901
[Intel XE#6912]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6912
[Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
[Intel XE#6974]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6974
[Intel XE#703]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/703
[Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
[Intel XE#7084]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7084
[Intel XE#7098]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7098
[Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
[Intel XE#7283]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7283
[Intel XE#7304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7304
[Intel XE#7308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7308
[Intel XE#7342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7342
[Intel XE#7343]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7343
[Intel XE#7345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7345
[Intel XE#7349]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7349
[Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351
[Intel XE#7355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7355
[Intel XE#7356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7356
[Intel XE#7358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7358
[Intel XE#7361]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7361
[Intel XE#7367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7367
[Intel XE#7369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7369
[Intel XE#7370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7370
[Intel XE#7372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7372
[Intel XE#7374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7374
[Intel XE#7375]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7375
[Intel XE#7376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7376
[Intel XE#7377]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7377
[Intel XE#7383]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7383
[Intel XE#7389]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7389
[Intel XE#7395]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7395
[Intel XE#7399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7399
[Intel XE#7405]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7405
[Intel XE#7417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7417
[Intel XE#7424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7424
[Intel XE#7429]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7429
[Intel XE#7437]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7437
[Intel XE#7439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7439
[Intel XE#7442]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7442
[Intel XE#7447]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7447
[Intel XE#7448]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7448
[Intel XE#7449]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7449
[Intel XE#7477]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7477
[Intel XE#7482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7482
[Intel XE#7571]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7571
[Intel XE#7642]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7642
[Intel XE#7679]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7679
[Intel XE#7760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7760
[Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
[Intel XE#7795]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7795
[Intel XE#7865]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7865
[Intel XE#7905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7905
[Intel XE#7980]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7980
[Intel XE#8007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8007
[Intel XE#8150]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8150
[Intel XE#8159]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8159
[Intel XE#8265]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8265
[Intel XE#8348]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8348
[Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
[Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
[Intel XE#8365]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8365
[Intel XE#8369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8369
[Intel XE#8370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8370
[Intel XE#8374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8374
[Intel XE#8378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8378
[Intel XE#8395]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8395
[Intel XE#8396]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8396
[Intel XE#8415]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8415
[Intel XE#8555]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8555
[Intel XE#8618]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8618
[Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
[Intel XE#8966]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8966
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
Build changes
-------------
* IGT: IGT_9059 -> IGTPW_15698
* Linux: xe-5607-24a2127c5f2bce93dbb33cbbee84666272a5e716 -> xe-5610-275df33dcf4c5d018717867a0b29ed1d3b62c1ef
IGTPW_15698: f006191dbda63bfddb4cd2d81e36f7783765981f @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_9059: f5a4ff79434df36db1d6b13deb37c90a6602565e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-5607-24a2127c5f2bce93dbb33cbbee84666272a5e716: 24a2127c5f2bce93dbb33cbbee84666272a5e716
xe-5610-275df33dcf4c5d018717867a0b29ed1d3b62c1ef: 275df33dcf4c5d018717867a0b29ed1d3b62c1ef
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_15698/index.html
[-- Attachment #2: Type: text/html, Size: 59713 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2026-08-18 16:39 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-18 12:39 [PATCH i-g-t 0/6] Order SR-IOV scheduling provisioning safely Marcin Bernatowicz
2026-08-18 12:39 ` [PATCH i-g-t 1/6] tests/intel/xe_sriov_scheduling: Disable VFs before resetting sched params Marcin Bernatowicz
2026-08-18 14:14 ` Laguna, Lukasz
2026-08-18 12:39 ` [PATCH i-g-t 2/6] lib/xe/xe_sriov_admin: Rename restore defaults helpers Marcin Bernatowicz
2026-08-18 14:14 ` Laguna, Lukasz
2026-08-18 12:39 ` [PATCH i-g-t 3/6] lib/xe/xe_sriov_admin: Lower priority before clearing timeslicing Marcin Bernatowicz
2026-08-18 14:15 ` Laguna, Lukasz
2026-08-18 12:39 ` [PATCH i-g-t 4/6] lib/xe/xe_sriov_admin: Add bulk scheduling params setter Marcin Bernatowicz
2026-08-18 14:15 ` Laguna, Lukasz
2026-08-18 12:39 ` [PATCH i-g-t 5/6] tests/intel/xe_sriov_scheduling: Use safe scheduling params helpers Marcin Bernatowicz
2026-08-18 14:15 ` Laguna, Lukasz
2026-08-18 12:39 ` [PATCH i-g-t 6/6] tests/intel/xe_pmu: Disable VFs before restoring sched params Marcin Bernatowicz
2026-08-18 14:16 ` Laguna, Lukasz
2026-08-18 14:11 ` ✓ Xe.CI.BAT: success for Order SR-IOV scheduling provisioning safely Patchwork
2026-08-18 14:20 ` ✓ i915.CI.BAT: " Patchwork
2026-08-18 16:39 ` ✓ Xe.CI.FULL: " Patchwork
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.