lkml.org 
[lkml]   [2022]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.19 025/365] drm/i915/gt: Skip TLB invalidations once wedged
    Date
    From: Chris Wilson <chris.p.wilson@intel.com>

    commit e5a95c83ed1492c0f442b448b20c90c8faaf702b upstream.

    Skip all further TLB invalidations once the device is wedged and
    had been reset, as, on such cases, it can no longer process instructions
    on the GPU and the user no longer has access to the TLB's in each engine.

    So, an attempt to do a TLB cache invalidation will produce a timeout.

    That helps to reduce the performance regression introduced by TLB
    invalidate logic.

    Cc: stable@vger.kernel.org
    Fixes: 7938d61591d3 ("drm/i915: Flush TLBs before releasing backing store")
    Signed-off-by: Chris Wilson <chris.p.wilson@intel.com>
    Cc: Fei Yang <fei.yang@intel.com>
    Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
    Acked-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
    Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/5aa86564b9ec5fe7fe605c1dd7de76855401ed73.1658924372.git.mchehab@kernel.org
    (cherry picked from commit be0366f168033374a93e4c43fdaa1a90ab905184)
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/gpu/drm/i915/gt/intel_gt.c | 3 +++
    1 file changed, 3 insertions(+)

    --- a/drivers/gpu/drm/i915/gt/intel_gt.c
    +++ b/drivers/gpu/drm/i915/gt/intel_gt.c
    @@ -1191,6 +1191,9 @@ void intel_gt_invalidate_tlbs(struct int
    if (I915_SELFTEST_ONLY(gt->awake == -ENODEV))
    return;

    + if (intel_gt_is_wedged(gt))
    + return;
    +
    if (GRAPHICS_VER(i915) == 12) {
    regs = gen12_regs;
    num = ARRAY_SIZE(gen12_regs);

    \
     
     \ /
      Last update: 2022-08-23 10:11    [W:4.141 / U:2.132 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site