From: Adam Miszczak <adam.miszczak@linux.intel.com>
To: igt-dev@lists.freedesktop.org
Cc: marcin.bernatowicz@linux.intel.com, kamil.konieczny@linux.intel.com
Subject: [PATCH i-g-t 2/3] tools/vmtb: Provide VF busy migration IGT/gem_wsim workloads
Date: Thu, 16 Apr 2026 10:35:43 +0200 [thread overview]
Message-ID: <20260416083544.2441874-3-adam.miszczak@linux.intel.com> (raw)
In-Reply-To: <20260416083544.2441874-1-adam.miszczak@linux.intel.com>
Define gem_wsim workload descriptor files for BMG and PTL
consumed by the xe busy migration test scenarios (test_migration.py):
- short_preempt.wsim: short preemptable batches (5ms)
- short_nonpreempt.wsim: short non-preemptable batches (5ms)
- long_preempt.wsim: long preemptable batches (100ms)
- long_nonpreempt.wsim: long non-preemptable batches (100ms)
- idle_ctxs.wsim: idle migration with contexts created
Signed-off-by: Adam Miszczak <adam.miszczak@linux.intel.com>
---
tools/vmtb/MANIFEST.in | 1 +
.../resources/wsim/bmg/idle_ctxs.wsim | 22 +++++++++++++++++++
.../resources/wsim/bmg/long_nonpreempt.wsim | 18 +++++++++++++++
.../resources/wsim/bmg/long_preempt.wsim | 17 ++++++++++++++
.../resources/wsim/bmg/short_nonpreempt.wsim | 18 +++++++++++++++
.../resources/wsim/bmg/short_preempt.wsim | 17 ++++++++++++++
.../resources/wsim/ptl/idle_ctxs.wsim | 21 ++++++++++++++++++
.../resources/wsim/ptl/long_nonpreempt.wsim | 17 ++++++++++++++
.../resources/wsim/ptl/long_preempt.wsim | 16 ++++++++++++++
.../resources/wsim/ptl/short_nonpreempt.wsim | 17 ++++++++++++++
.../resources/wsim/ptl/short_preempt.wsim | 16 ++++++++++++++
11 files changed, 180 insertions(+)
create mode 100644 tools/vmtb/vmm_flows/resources/wsim/bmg/idle_ctxs.wsim
create mode 100644 tools/vmtb/vmm_flows/resources/wsim/bmg/long_nonpreempt.wsim
create mode 100644 tools/vmtb/vmm_flows/resources/wsim/bmg/long_preempt.wsim
create mode 100644 tools/vmtb/vmm_flows/resources/wsim/bmg/short_nonpreempt.wsim
create mode 100644 tools/vmtb/vmm_flows/resources/wsim/bmg/short_preempt.wsim
create mode 100644 tools/vmtb/vmm_flows/resources/wsim/ptl/idle_ctxs.wsim
create mode 100644 tools/vmtb/vmm_flows/resources/wsim/ptl/long_nonpreempt.wsim
create mode 100644 tools/vmtb/vmm_flows/resources/wsim/ptl/long_preempt.wsim
create mode 100644 tools/vmtb/vmm_flows/resources/wsim/ptl/short_nonpreempt.wsim
create mode 100644 tools/vmtb/vmm_flows/resources/wsim/ptl/short_preempt.wsim
diff --git a/tools/vmtb/MANIFEST.in b/tools/vmtb/MANIFEST.in
index 7674c199d..954990a63 100644
--- a/tools/vmtb/MANIFEST.in
+++ b/tools/vmtb/MANIFEST.in
@@ -1,3 +1,4 @@
include pytest.ini
include vmtb_config.json
include vmm_flows/resources/vgpu_profiles/*
+recursive-include vmm_flows/resources/wsim *
diff --git a/tools/vmtb/vmm_flows/resources/wsim/bmg/idle_ctxs.wsim b/tools/vmtb/vmm_flows/resources/wsim/bmg/idle_ctxs.wsim
new file mode 100644
index 000000000..1d8c9a2d7
--- /dev/null
+++ b/tools/vmtb/vmm_flows/resources/wsim/bmg/idle_ctxs.wsim
@@ -0,0 +1,22 @@
+###############################################################
+# VF S/R scenario: idle migration with contexts created
+#
+# 1. Run 3ms pre-migration WL on each engine
+# 2. Wait 20s for migration to happen
+# 3. Run the WLs again in post-migration phase to check fixups
+#
+# BMG variant - engines:
+# Root tile: RCS, BCS, CCS
+# Media tile: VCS, VECS
+###############################################################
+1.RCS.3000.0.0
+1.BCS.3000.0.0
+1.CCS.3000.0.1
+1.VCS.3000.0.0
+1.VECS.3000.0.0
+d.20000000
+1.RCS.3000.0.0
+1.BCS.3000.0.0
+1.CCS.3000.0.1
+1.VCS.3000.0.0
+1.VECS.3000.0.0
diff --git a/tools/vmtb/vmm_flows/resources/wsim/bmg/long_nonpreempt.wsim b/tools/vmtb/vmm_flows/resources/wsim/bmg/long_nonpreempt.wsim
new file mode 100644
index 000000000..45add4217
--- /dev/null
+++ b/tools/vmtb/vmm_flows/resources/wsim/bmg/long_nonpreempt.wsim
@@ -0,0 +1,18 @@
+###############################################################
+# VF S/R scenario: long non-preemptable batches
+#
+# 1. Run 100ms non-preempable batches on each engine
+# 2. Emit the workload for 20s (rerun in a loop) - keep executing during the migration.
+# Use 'gem_wsim -r 200' that gives: 0.1s * 10 = 1s * 20 = 20s
+# 3. Finish execution in post-migration phase
+#
+# BMG variant - engines:
+# Root tile: RCS, BCS, CCS
+# Media tile: VCS, VECS
+###############################################################
+X.1.0
+1.RCS.100000.0.0
+1.BCS.100000.0.0
+1.CCS.100000.0.1
+1.VCS.100000.0.0
+1.VECS.100000.0.0
diff --git a/tools/vmtb/vmm_flows/resources/wsim/bmg/long_preempt.wsim b/tools/vmtb/vmm_flows/resources/wsim/bmg/long_preempt.wsim
new file mode 100644
index 000000000..2c3d22d40
--- /dev/null
+++ b/tools/vmtb/vmm_flows/resources/wsim/bmg/long_preempt.wsim
@@ -0,0 +1,17 @@
+###############################################################
+# VF S/R scenario: long preemptable batches
+#
+# 1. Run 100ms preempable batches on each engine
+# 2. Emit the workload for 20s (rerun in a loop) - keep executing during the migration.
+# Use 'gem_wsim -r 200' that gives: 0.1s * 10 = 1s * 20 = 20s
+# 3. Finish execution in post-migration phase
+#
+# BMG variant - engines:
+# Root tile: RCS, BCS, CCS
+# Media tile: VCS, VECS
+###############################################################
+1.RCS.100000.0.0
+1.BCS.100000.0.0
+1.CCS.100000.0.1
+1.VCS.100000.0.0
+1.VECS.100000.0.0
diff --git a/tools/vmtb/vmm_flows/resources/wsim/bmg/short_nonpreempt.wsim b/tools/vmtb/vmm_flows/resources/wsim/bmg/short_nonpreempt.wsim
new file mode 100644
index 000000000..5ff9cc74a
--- /dev/null
+++ b/tools/vmtb/vmm_flows/resources/wsim/bmg/short_nonpreempt.wsim
@@ -0,0 +1,18 @@
+###############################################################
+# VF S/R scenario: short non-preemptable batches
+#
+# 1. Run 5ms non-preempable batches on each engine
+# 2. Emit the workload for 20s (rerun in a loop) - keep executing during the migration.
+# Use 'gem_wsim -r 4000' that gives: 0.005s * 200 = 1s * 20 = 20s
+# 3. Finish execution in post-migration phase
+#
+# BMG variant - engines:
+# Root tile: RCS, BCS, CCS
+# Media tile: VCS, VECS
+###############################################################
+X.1.0
+1.RCS.5000.0.0
+1.BCS.5000.0.0
+1.CCS.5000.0.1
+1.VCS.5000.0.0
+1.VECS.5000.0.0
diff --git a/tools/vmtb/vmm_flows/resources/wsim/bmg/short_preempt.wsim b/tools/vmtb/vmm_flows/resources/wsim/bmg/short_preempt.wsim
new file mode 100644
index 000000000..c09b82cce
--- /dev/null
+++ b/tools/vmtb/vmm_flows/resources/wsim/bmg/short_preempt.wsim
@@ -0,0 +1,17 @@
+###############################################################
+# VF S/R scenario: short preemptable batches
+#
+# 1. Run 5ms preempable batches on each engine
+# 2. Emit the workload for 20s (rerun in a loop) - keep executing during the migration.
+# Use 'gem_wsim -r 4000' that gives: 0.005s * 200 = 1s * 20 = 20s
+# 3. Finish execution in post-migration phase
+#
+# BMG variant - engines:
+# Root tile: RCS, BCS, CCS
+# Media tile: VCS, VECS
+###############################################################
+1.RCS.5000.0.0
+1.BCS.5000.0.0
+1.CCS.5000.0.1
+1.VCS.5000.0.0
+1.VECS.5000.0.0
diff --git a/tools/vmtb/vmm_flows/resources/wsim/ptl/idle_ctxs.wsim b/tools/vmtb/vmm_flows/resources/wsim/ptl/idle_ctxs.wsim
new file mode 100644
index 000000000..1e17b7a53
--- /dev/null
+++ b/tools/vmtb/vmm_flows/resources/wsim/ptl/idle_ctxs.wsim
@@ -0,0 +1,21 @@
+###############################################################
+# VF S/R scenario: idle migration with contexts created
+#
+# 1. Run 3ms pre-migration WL on each engine
+# 2. Wait 20s for migration to happen
+# 3. Run the WLs again in post-migration phase to check fixups
+#
+# PTL variant - engines:
+# RCS, BCS, VCS-1, VECS-1, CCS
+###############################################################
+1.RCS.3000.0.0
+1.BCS.3000.0.0
+1.VCS-1.3000.0.0
+1.VECS-1.3000.0.0
+1.CCS.3000.0.1
+d.20000000
+1.RCS.3000.0.0
+1.BCS.3000.0.0
+1.VCS-1.3000.0.0
+1.VECS-1.3000.0.0
+1.CCS.3000.0.1
diff --git a/tools/vmtb/vmm_flows/resources/wsim/ptl/long_nonpreempt.wsim b/tools/vmtb/vmm_flows/resources/wsim/ptl/long_nonpreempt.wsim
new file mode 100644
index 000000000..2b49426ca
--- /dev/null
+++ b/tools/vmtb/vmm_flows/resources/wsim/ptl/long_nonpreempt.wsim
@@ -0,0 +1,17 @@
+###############################################################
+# VF S/R scenario: long non-preemptable batches
+#
+# 1. Run 100ms non-preempable batches on each engine
+# 2. Emit the workload for 20s (rerun in a loop) - keep executing during the migration.
+# Use 'gem_wsim -r 200' that gives: 0.1s * 10 = 1s * 20 = 20s
+# 3. Finish execution in post-migration phase
+#
+# PTL variant - engines:
+# RCS, BCS, VCS-1, VECS-1, CCS
+###############################################################
+X.1.0
+1.RCS.100000.0.0
+1.BCS.100000.0.0
+1.VCS-1.100000.0.0
+1.VECS-1.100000.0.0
+1.CCS.100000.0.1
diff --git a/tools/vmtb/vmm_flows/resources/wsim/ptl/long_preempt.wsim b/tools/vmtb/vmm_flows/resources/wsim/ptl/long_preempt.wsim
new file mode 100644
index 000000000..e06c2f290
--- /dev/null
+++ b/tools/vmtb/vmm_flows/resources/wsim/ptl/long_preempt.wsim
@@ -0,0 +1,16 @@
+###############################################################
+# VF S/R scenario: long preemptable batches
+#
+# 1. Run 100ms preempable batches on each engine
+# 2. Emit the workload for 20s (rerun in a loop) - keep executing during the migration.
+# Use 'gem_wsim -r 200' that gives: 0.1s * 10 = 1s * 20 = 20s
+# 3. Finish execution in post-migration phase
+#
+# PTL variant - engines:
+# RCS, BCS, VCS-1, VECS-1, CCS
+###############################################################
+1.RCS.100000.0.0
+1.BCS.100000.0.0
+1.VCS-1.100000.0.0
+1.VECS-1.100000.0.0
+1.CCS.100000.0.1
diff --git a/tools/vmtb/vmm_flows/resources/wsim/ptl/short_nonpreempt.wsim b/tools/vmtb/vmm_flows/resources/wsim/ptl/short_nonpreempt.wsim
new file mode 100644
index 000000000..5e8ff1c26
--- /dev/null
+++ b/tools/vmtb/vmm_flows/resources/wsim/ptl/short_nonpreempt.wsim
@@ -0,0 +1,17 @@
+###############################################################
+# VF S/R scenario: short non-preemptable batches
+#
+# 1. Run 5ms non-preempable batches on each engine
+# 2. Emit the workload for 20s (rerun in a loop) - keep executing during the migration.
+# Use 'gem_wsim -r 4000' that gives: 0.005s * 200 = 1s * 20 = 20s
+# 3. Finish execution in post-migration phase
+#
+# PTL variant - engines:
+# RCS, BCS, VCS-1, VECS-1, CCS
+###############################################################
+X.1.0
+1.RCS.5000.0.0
+1.BCS.5000.0.0
+1.VCS-1.5000.0.0
+1.VECS-1.5000.0.0
+1.CCS.5000.0.1
diff --git a/tools/vmtb/vmm_flows/resources/wsim/ptl/short_preempt.wsim b/tools/vmtb/vmm_flows/resources/wsim/ptl/short_preempt.wsim
new file mode 100644
index 000000000..b2316f957
--- /dev/null
+++ b/tools/vmtb/vmm_flows/resources/wsim/ptl/short_preempt.wsim
@@ -0,0 +1,16 @@
+###############################################################
+# VF S/R scenario: short preemptable batches
+#
+# 1. Run 5ms preempable batches on each engine
+# 2. Emit the workload for 20s (rerun in a loop) - keep executing during the migration.
+# Use 'gem_wsim -r 4000' that gives: 0.005s * 200 = 1s * 20 = 20s
+# 3. Finish execution in post-migration phase
+#
+# PTL variant - engines:
+# RCS, BCS, VCS-1, VECS-1, CCS
+###############################################################
+1.RCS.5000.0.0
+1.BCS.5000.0.0
+1.VCS-1.5000.0.0
+1.VECS-1.5000.0.0
+1.CCS.5000.0.1
--
2.39.1
next prev parent reply other threads:[~2026-04-16 9:12 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-16 8:35 [PATCH i-g-t 0/3] vmtb: SR-IOV VF migration test suite Adam Miszczak
2026-04-16 8:35 ` [PATCH i-g-t 1/3] tools/vmtb: Define IGT tests used as VF migration workloads Adam Miszczak
2026-04-20 18:27 ` Kamil Konieczny
2026-05-14 13:18 ` Bernatowicz, Marcin
2026-04-16 8:35 ` Adam Miszczak [this message]
2026-05-14 13:20 ` [PATCH i-g-t 2/3] tools/vmtb: Provide VF busy migration IGT/gem_wsim workloads Bernatowicz, Marcin
2026-04-16 8:35 ` [PATCH i-g-t 3/3] tools/vmtb: Add VF migration tests Adam Miszczak
2026-05-14 13:21 ` Bernatowicz, Marcin
2026-04-16 15:40 ` ✓ i915.CI.BAT: success for vmtb: SR-IOV VF migration test suite Patchwork
2026-04-16 15:50 ` ✓ Xe.CI.BAT: " Patchwork
2026-04-16 17:34 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-04-17 3:47 ` ✗ i915.CI.Full: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260416083544.2441874-3-adam.miszczak@linux.intel.com \
--to=adam.miszczak@linux.intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=kamil.konieczny@linux.intel.com \
--cc=marcin.bernatowicz@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.