summaryrefslogtreecommitdiff
path: root/benchmarks/wsim/README
diff options
context:
space:
mode:
authorMarcin Bernatowicz <marcin.bernatowicz@linux.intel.com>2026-06-30 16:09:33 +0200
committerMarcin Bernatowicz <marcin.bernatowicz@linux.intel.com>2026-08-11 12:17:31 +0200
commit58c126ad89c770dd1448636c9fb4a5e7fe7d4cf8 (patch)
tree0985b828cdf2df8eebb13a80c62426d6b63c52e8 /benchmarks/wsim/README
parent69395509202efd9987315e33a00e8817136db8b4 (diff)
benchmarks/gem_wsim: add explicit VM create/assign steps
Add explicit VM (Virtual Memory) management to workload descriptors so Xe runs can model VM topology directly. Introduce two new descriptor steps: - V.N create VM id N (1-based) - v.N.M assign VM N to context M Implementation details: - Add VM_CREATE and CTX_VM step types and vm_id storage in w_step. - Parse V/v syntax with validation and clear error messages. - Add allocate_vms() pre-scan to size and allocate vm_list from V steps. - Update xe_prepare_contexts() to support explicit VM mode: - create all explicit VMs - default contexts to VM 0 - apply per-context VM assignments from v steps - retain implicit single-VM fallback when no V steps are present - Make get_vm() use per-context VM linkage. Documentation: - Add VM (Virtual Memory) management step documentation into benchmarks/wsim/README. This keeps i915 behavior unchanged while enabling explicit VM topology control for Xe workloads. Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com> Cc: Adam Miszczak <adam.miszczak@linux.intel.com> Cc: Lukasz Laguna <lukasz.laguna@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@igalia.com> Reviewed-by: Adam Miszczak <adam.miszczak@linux.intel.com>
Diffstat (limited to 'benchmarks/wsim/README')
-rw-r--r--benchmarks/wsim/README19
1 files changed, 19 insertions, 0 deletions
diff --git a/benchmarks/wsim/README b/benchmarks/wsim/README
index e43813335..364759da0 100644
--- a/benchmarks/wsim/README
+++ b/benchmarks/wsim/README
@@ -11,6 +11,8 @@ P|S|X.<uint>.<int>
d|p|s|t|q|a|T.<int>,...
b.<uint>.<str>[|<str>].<str>
w|W.<uint>.<str>[/<str>]...
+V.<uint>
+v.<uint>.<uint>
f
For duration a range can be given from which a random value will be picked
@@ -39,6 +41,11 @@ Additional workload steps are also supported:
'W' - Shared working set.
'X' - Context preemption control.
+VM (Virtual Memory) management steps (Xe: active; i915: ignored):
+
+ 'V' - Create VM with id N (V.N, VM ids are 1-based).
+ 'v' - Assign VM N to context/queue M (v.N.M).
+
Engine ids: DEFAULT, RCS, BCS, VCS, VCS1, VCS2, VECS
Example (leading spaces must not be present in the actual file):
@@ -88,6 +95,18 @@ Batch durations can also be specified as infinite by using the '*' in the
duration field. Such batches must be ended by the terminate command ('T')
otherwise they will cause a GPU hang to be reported.
+VM Example:
+
+ V.1
+ M.1.VCS
+ v.1.1
+ B.1
+ 1.VCS.1000.0.0
+
+Creates VM 1, configures context 1 with a VCS engine map, assigns context 1
+to VM 1, enables load balancing for context 1, and runs a single 1ms VCS
+batch.
+
Xe and i915 differences
------------------------