• Jason Ekstrand's avatar
    drm/i915: Revert "drm/i915/gem: Asynchronous cmdparser" · 93b71330
    Jason Ekstrand authored
    This reverts 686c7c35 ("drm/i915/gem: Asynchronous cmdparser").  The
    justification for this commit in the git history was a vague comment
    about getting it out from under the struct_mutex.  While this may
    improve perf for some workloads on Gen7 platforms where we rely on the
    command parser for features such as indirect rendering, no numbers were
    provided to prove such an improvement.  It claims to closed two
    gitlab/bugzilla issues but with no explanation whatsoever as to why or
    what bug it's fixing.
    
    Meanwhile, by moving command parsing off to an async callback, it leaves
    us with a problem of what to do on error.  When things were synchronous,
    EXECBUFFER2 would fail with an error code if parsing failed.  When
    moving it to async, we needed another way to handle that error and the
    solution employed was to set an error on the dma_fence and then trust
    that said error gets propagated to the client eventually.  Moving back
    to synchronous will help us untangle the fence error propagation mess.
    
    This also reverts most of 0edbb9ba ("drm/i915: Move cmd parser
    pinning to execbuffer") which is a refactor of some of our allocation
    paths for asynchronous parsing.  Now that everything is synchronous, we
    don't need it.
    
    v2 (Daniel Vetter):
     - Add stabel Cc and Fixes tag
    Signed-off-by: default avatarJason Ekstrand <jason@jlekstrand.net>
    Cc: <stable@vger.kernel.org> # v5.6+
    Fixes: 9e31c1fe ("drm/i915: Propagate errors on awaiting already signaled fences")
    Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Reviewed-by: default avatarJon Bloomfield <jon.bloomfield@intel.com>
    Acked-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210714193419.1459723-2-jason@jlekstrand.net
    93b71330
i915_gem_execbuffer.c 87.6 KB