[PATCH v2 2/2] drm/msm: Hangcheck progress detection

Rob Clark robdclark at gmail.com
Thu Nov 3 14:25:07 UTC 2022


On Wed, Nov 2, 2022 at 4:26 PM Dmitry Baryshkov
<dmitry.baryshkov at linaro.org> wrote:
>
> On 02/11/2022 01:33, Rob Clark wrote:
> > From: Rob Clark <robdclark at chromium.org>
> >
> > If the hangcheck timer expires, check if the fw's position in the
> > cmdstream has advanced (changed) since last timer expiration, and
> > allow it up to three additional "extensions" to it's alotted time.
> > The intention is to continue to catch "shader stuck in a loop" type
> > hangs quickly, but allow more time for things that are actually
> > making forward progress.
>
> Just out of curiosity: wouldn't position also change for a 'shader stuck
> in a loop'?

There is some pipelining, in that there can be a couple draws in
flight at the same time, and SQE is running ahead of that, but with a
shader stuck in a loop the associated draw will not complete, and that
will halt forward progress through the cmdstream.  Basically what this
is doing is detecting that forward progress through the cmdstream has
stopped.

BR,
-R

>
> > Because we need to sample the CP state twice to detect if there has
> > not been progress, this also cuts the the timer's duration in half.
> >
> > v2: Fix typo (REG_A6XX_CP_CSQ_IB2_STAT), add comment
> >
> > Signed-off-by: Rob Clark <robdclark at chromium.org>
> > Reviewed-by: Akhil P Oommen <quic_akhilpo at quicinc.com>
>
>
>
> --
> With best wishes
> Dmitry
>


More information about the dri-devel mailing list