summaryrefslogtreecommitdiff
path: root/benchmarks/gem_wsim.c
AgeCommit message (Collapse)Author
2017-05-09gem_wsim: Seed random numbers per clientTvrtko Ursulin
It makes more sense for the sequence of random batch durations to be different between different clients. Also add a new command line option (-S) to enable forcing the same sequence if so can be useful for testing. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Suggested-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-05-09gem_wsim: Enable initial per-workload round-robin VCS engine assignmentTvrtko Ursulin
New command option -R enables the initial VCS engine assignment to be round-robinned across all clients. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-05-09gem_wsim: Add RTR balancerTvrtko Ursulin
This one flips a coin when it fails to decide where to schedule. It works well with the hd12 workload, either for one or multiple clients, on which other balancers fail at the moment. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-05-08gem_wsim: Fix implicit sync on last workload stepTvrtko Ursulin
Last step has to be a batch for the implicit sync to make sense. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-05-08gem_wsim: Support VCS2 remappingTvrtko Ursulin
This enables media balancing workloads to be ran on GT2 SKUs. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-05-08gem_wsim: Support multiple dependenciesTvrtko Ursulin
Multiple dependencies separated by forward slashes are now supported. Some media workloads also updated to use this for better efficiency. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-05-05gem_wsim: Simplify batch creationTvrtko Ursulin
Put the batch in exec object array last instead of moving it after checking have there been any dependencies requested. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-04-25benchmarks/gem_wsim: Fix no reloc handlingTvrtko Ursulin
One copy and paste error sneaked in the no reloc changes. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reported-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-04-25benchmarks/gem_wsim: Command submission workload simulatorTvrtko Ursulin
Tool which emits batch buffers to engines with configurable sequences, durations, contexts, dependencies and userspace waits. Unfinished but shows promise so sending out for early feedback. v2: * Load workload descriptors from files. (also -w) * Help text. * Calibration control if needed. (-t) * NORELOC | LUT to eb flags. * Added sample workload to wsim/workload1. v3: * Multiple parallel different workloads (-w -w ...). * Multi-context workloads. * Variable (random) batch length. * Load balancing (round robin and queue depth estimation). * Workloads delays and explicit sync steps. * Workload frequency (period) control. v4: * Fixed queue-depth estimation by creating separate batches per engine when qd load balancing is on. * Dropped separate -s cmd line option. It can turn itself on automatically when needed. * Keep a single status page and lie about the write hazard as suggested by Chris. * Use batch_start_offset for controlling the batch duration. (Chris) * Set status page object cache level. (Chris) * Moved workload description to a README. * Tidied example workloads. * Some other cleanups and refactorings. v5: * Master and background workloads (-W / -w). * Single batch per step is enough even when balancing. (Chris) * Use hars_petruska_f54_1_random IGT functions and see to zero at start. (Chris) * Use WC cache domain when WC mapping. (Chris) * Keep seqnos 64-bytes apart in the status page. (Chris) * Add workload throttling and queue-depth throttling commands. (Chris) v6: * Added two more workloads. * Merged RT balancer from Chris. v7: * Merged NO_RELOC patch from Chris. * Added missing RT balancer to help text. TODO list: * Fence support. * Batch buffer caching (re-use pool). * Better error handling. * Less 1980's workload parsing. * More workloads. * Threads? * ... ? Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: "Rogozhkin, Dmitry V" <dmitry.v.rogozhkin@intel.com>