• Chris Wilson's avatar
    drm/i915: Priority boost for new clients · b16c7651
    Chris Wilson authored
    Taken from an idea used for FQ_CODEL, we give the first request of a
    new request flows a small priority boost. These flows are likely to
    correspond with short, interactive tasks and so be more latency sensitive
    than the longer free running queues. As soon as the client has more than
    one request in the queue, further requests are not boosted and it settles
    down into ordinary steady state behaviour.  Such small kicks dramatically
    help combat the starvation issue, by allowing each client the opportunity
    to run even when the system is under heavy throughput load (within the
    constraints of the user selected priority).
    
    v2: Mark the preempted request as the start of a new flow, to prevent a
    single client being continually gazumped by its peers.
    
    Testcase: igt/benchmarks/rrul
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20181001144755.7978-1-chris@chris-wilson.co.uk
    b16c7651
intel_lrc.c 88.2 KB