• Tvrtko Ursulin's avatar
    benchmarks/gem_wsim: Command submission workload simulator · 054eb1ab
    Tvrtko Ursulin authored
    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.
     * 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.
     * 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.
     * 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.
     * Set status page object cache level. (Chris)
     * Moved workload description to a README.
     * Tidied example workloads.
     * Some other cleanups and refactorings.
     * 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.
     * Added two more workloads.
     * Merged RT balancer from Chris.
     * 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's avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: "Rogozhkin, Dmitry V" <dmitry.v.rogozhkin@intel.com>
igt_core.c 53.7 KB