summaryrefslogtreecommitdiff
path: root/benchmarks/wsim
diff options
context:
space:
mode:
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>2018-08-14 12:56:26 +0100
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>2018-09-14 12:53:27 +0100
commit0567f77b6f13e7061c0a447c0770349c08d27c36 (patch)
tree1ca7fb423eb2c656984976f9b24d8cc68a4293f9 /benchmarks/wsim
parent8017074727a0725bf5ce5811acaed4b131f4471b (diff)
gem_wsim: Per context preemption point control
Allow workloads to specify frequency of preemption points per context. New workload command ('X') is added to allow this. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'benchmarks/wsim')
-rw-r--r--benchmarks/wsim/README18
1 files changed, 17 insertions, 1 deletions
diff --git a/benchmarks/wsim/README b/benchmarks/wsim/README
index fd9bff34..205cd6c9 100644
--- a/benchmarks/wsim/README
+++ b/benchmarks/wsim/README
@@ -3,7 +3,7 @@ Workload descriptor format
ctx.engine.duration_us.dependency.wait,...
<uint>.<str>.<uint>[-<uint>].<int <= 0>[/<int <= 0>][...].<0|1>,...
-P.<uint>.<int>
+P|X.<uint>.<int>
d|p|s|t|q|a.<int>,...
f
@@ -24,6 +24,7 @@ Additional workload steps are also supported:
'f' - Create a sync fence.
'a' - Advance the previously created sync fence.
'P' - Context priority.
+ 'X' - Context preemption control.
Engine ids: RCS, BCS, VCS, VCS1, VCS2, VECS
@@ -128,3 +129,18 @@ is submitted against it which depends on the batch from context 1.
Context priority command is executed at workload runtime and is valid until
overriden by another (optional) same context priority change. Actual driver
ioctls are executed only if the priority level has changed for the context.
+
+Context preemption control
+--------------------------
+
+ X.1.0
+ 1.RCS.1000.0.0
+ X.1.500
+ 1.RCS.1000.0.0
+
+Context 1 is marked as non-preemptable batches and a batch is sent against 1.
+The same context is then marked to have batches which can be preempted every
+500us and another batch is submitted.
+
+Same as with context priority, context preemption commands are valid until
+optionally overriden by another preemption control change on the same context.