diff options
| author | Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com> | 2026-06-30 16:09:33 +0200 |
|---|---|---|
| committer | Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com> | 2026-08-11 12:17:31 +0200 |
| commit | 58c126ad89c770dd1448636c9fb4a5e7fe7d4cf8 (patch) | |
| tree | 0985b828cdf2df8eebb13a80c62426d6b63c52e8 /benchmarks/wsim/README | |
| parent | 69395509202efd9987315e33a00e8817136db8b4 (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/README | 19 |
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 ------------------------ |
