From 0567f77b6f13e7061c0a447c0770349c08d27c36 Mon Sep 17 00:00:00 2001 From: Tvrtko Ursulin Date: Tue, 14 Aug 2018 12:56:26 +0100 Subject: 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 Reviewed-by: Chris Wilson --- benchmarks/wsim/README | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'benchmarks/wsim') 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,... ..[-].[/][...].<0|1>,... -P.. +P|X.. d|p|s|t|q|a.,... 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. -- cgit v1.2.3