• Chris Wilson's avatar
    drm/i915: Optimistically spin for the request completion · 2def4ad9
    Chris Wilson authored
    This provides a nice boost to mesa in swap bound scenarios (as mesa
    throttles itself to the previous frame and given the scenario that will
    complete shortly). It will also provide a good boost to systems running
    with semaphores disabled and so frequently waiting on the GPU as it
    switches rings. In the most favourable of microbenchmarks, this can
    increase performance by around 15% - though in practice improvements
    will be marginal and rarely noticeable.
    
    v2: Account for user timeouts
    v3: Limit the spinning to a single jiffie (~1us) at most. On an
    otherwise idle system, there is no scheduler contention and so without a
    limit we would spin until the GPU is ready.
    v4: Drop forcewake - the lazy coherent access doesn't require it, and we
    have no reason to believe that the forcewake itself improves seqno
    coherency - it only adds delay.
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
    Cc: Eero Tamminen <eero.t.tamminen@intel.com>
    Cc: "Rantala, Valtteri" <valtteri.rantala@intel.com>
    Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    2def4ad9
i915_gem.c 133 KB