[PATCH v1] drm/ci: enable lockdep detection
Vignesh Raman
vignesh.raman at collabora.com
Tue Aug 13 05:26:48 UTC 2024
Hi Helen,
On 13/08/24 01:47, Helen Mae Koike Fornazier wrote:
>
> Hi Vignesh,
>
> Thanks for your patch.
>
>
> ---- On Mon, 12 Aug 2024 08:20:28 -0300 Vignesh Raman wrote ---
>
> > We have enabled PROVE_LOCKING (which enables LOCKDEP) in drm-ci.
> > This will output warnings when kernel locking errors are encountered
> > and will continue executing tests. To detect if lockdep has been
> > triggered, check the debug_locks value in /proc/lockdep_stats after
> > the tests have run. When debug_locks is 0, it indicates that lockdep
> > has detected issues and turned itself off. So check this value and
> > exit with an error if lockdep is detected.
>
> Should we exit with an error? Or with a warning? (GitLab-CI supports that).
> Well, I guess it is serious enough.
I think we can exit with an error since we check the status at the end
of the tests.
>
> Should we also track on the xfail folder? So we can annotate those errors as well?
Do you mean reporting this error in expectation files?
> Did you have an entire pipeline with this? To see if everything is still green?
Yes. https://gitlab.freedesktop.org/vigneshraman/linux/-/jobs/62177711
This is a test branch in which I reverted a fix for the lockdep issue.
We see 'WARNING: bad unlock balance detected!' in logs and pipeline is
still green.
Regards,
Vignesh
>
> Helen
>
> >
> > Signed-off-by: Vignesh Raman vignesh.raman at collabora.com>
> > ---
> >
> > v1:
> > - Pipeline link to show lockdep_stats before and after tests,
> > https://gitlab.freedesktop.org/vigneshraman/linux/-/pipelines/1246721
> >
> > ---
> > drivers/gpu/drm/ci/igt_runner.sh | 11 +++++++++++
> > 1 file changed, 11 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/ci/igt_runner.sh b/drivers/gpu/drm/ci/igt_runner.sh
> > index f38836ec837c..d2c043cd8c6a 100755
> > --- a/drivers/gpu/drm/ci/igt_runner.sh
> > +++ b/drivers/gpu/drm/ci/igt_runner.sh
> > @@ -85,6 +85,17 @@ deqp-runner junit \
> > --limit 50 \
> > --template "See https://$CI_PROJECT_ROOT_NAMESPACE.pages.freedesktop.org/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/results/{{testcase}}.xml"
> >
> > +# Check if /proc/lockdep_stats exists
> > +if [ -f /proc/lockdep_stats ]; then
> > + # If debug_locks is 0, it indicates lockdep is detected and it turns itself off.
> > + debug_locks=$(grep 'debug_locks:' /proc/lockdep_stats | awk '{print $2}')
> > + if [ "$debug_locks" -eq 0 ]; then
> > + echo "LOCKDEP issue detected. Please check dmesg logs for more information."
> > + cat /proc/lockdep_stats
> > + ret=1
> > + fi
> > +fi
> > +
> > # Store the results also in the simpler format used by the runner in ChromeOS CI
> > #sed -r 's/(dmesg-warn|pass)/success/g' /results/results.txt > /results/results_simple.txt
> >
> > --
> > 2.43.0
> >
> >
More information about the dri-devel
mailing list