Summary: | [CI][SHARDS] igt@perf_pmu@* - dmesg-warn - WARNING: inconsistent lock state | ||
---|---|---|---|
Product: | DRI | Reporter: | Lakshmi <lakshminarayana.vudum> |
Component: | DRM/Intel | Assignee: | Intel GFX Bugs mailing list <intel-gfx-bugs> |
Status: | RESOLVED FIXED | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> |
Severity: | normal | ||
Priority: | high | CC: | intel-gfx-bugs |
Version: | DRI git | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | ReadyForDev | ||
i915 platform: | BXT, BYT, GLK, HSW, ICL, SKL | i915 features: | Perf/PMU |
Description
Lakshmi
2019-08-05 06:30:30 UTC
The CI Bug Log issue associated to this bug has been updated. ### New filters associated * HSW APL: igt@perf_pmu@* - dmesg-warn - WARNING: inconsistent lock state - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6614/shard-apl1/igt@perf_pmu@busy-idle-no-semaphores-bcs0.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6623/shard-hsw6/igt@perf_pmu@frequency.html The CI Bug Log issue associated to this bug has been updated. ### New filters associated * HSW APL: igt@runner@aborted - fail - perf_pmu ((busy-idle-no-semaphores-bcs0)|(frequency)) - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6614/shard-apl1/igt@runner@aborted.html - https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6623/shard-hsw6/igt@runner@aborted.html A CI Bug Log filter associated to this bug has been updated: {- HSW APL: igt@perf_pmu@* - dmesg-warn - WARNING: inconsistent lock state -} {+ HSW APL: igt@perf_pmu@* - dmesg-warn - WARNING: inconsistent lock state +} New failures caught by the filter: * https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6625/shard-apl1/igt@perf_pmu@busy-idle-no-semaphores-vcs0.html A CI Bug Log filter associated to this bug has been updated: {- HSW APL: igt@runner@aborted - fail - perf_pmu ((busy-idle-no-semaphores-bcs0)|(frequency)) -} {+ HSW APL: igt@runner@aborted - fail - perf_pmu ((busy-idle-no-semaphores-bcs0)|(frequency)) +} New failures caught by the filter: * https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6625/shard-apl1/igt@runner@aborted.html A CI Bug Log filter associated to this bug has been updated: {- HSW APL: igt@perf_pmu@* - dmesg-warn - WARNING: inconsistent lock state -} {+ HSW APL: igt@perf_pmu@* - dmesg-warn - WARNING: inconsistent lock state +} New failures caught by the filter: * https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6633/shard-skl7/igt@perf_pmu@busy-no-semaphores-bcs0.html * https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6636/shard-glk5/igt@perf_pmu@busy-no-semaphores-vecs0.html A CI Bug Log filter associated to this bug has been updated: {- HSW APL: igt@perf_pmu@* - dmesg-warn - WARNING: inconsistent lock state -} {+ HSW APL SKL GLK: igt@perf_pmu@* - dmesg-warn - WARNING: inconsistent lock state +} No new failures caught with the new filter A CI Bug Log filter associated to this bug has been updated: {- HSW APL SKL GLK: igt@perf_pmu@* - dmesg-warn - WARNING: inconsistent lock state -} {+ HSW APL SKL GLK ICL: igt@perf_pmu@* - dmesg-warn - WARNING: inconsistent lock state +} New failures caught by the filter: * https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6640/shard-iclb4/igt@perf_pmu@busy-idle-no-semaphores-vcs0.html (In reply to CI Bug Log from comment #8) > A CI Bug Log filter associated to this bug has been updated: > > {- HSW APL SKL GLK: igt@perf_pmu@* - dmesg-warn - WARNING: inconsistent lock > state -} > {+ HSW APL SKL GLK ICL: igt@perf_pmu@* - dmesg-warn - WARNING: inconsistent > lock state +} > > New failures caught by the filter: > > * > https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6640/shard-iclb4/ > igt@perf_pmu@busy-idle-no-semaphores-vcs0.html Also seen on ICL. commit c7302f204490f3eb4ef839bec228315bcd3ba43f (drm-intel/for-linux-next, drm-intel/drm-intel-next-queued) Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Thu Aug 8 21:27:58 2019 +0100 drm/i915: Defer final intel_wakeref_put to process context As we need to acquire a mutex to serialise the final intel_wakeref_put, we need to ensure that we are in process context at that time. However, we want to allow operation on the intel_wakeref from inside timer and other hardirq context, which means that need to defer that final put to a workqueue. Inside the final wakeref puts, we are safe to operate in any context, as we are simply marking up the HW and state tracking for the potential sleep. It's only the serialisation with the potential sleeping getting that requires careful wait avoidance. This allows us to retain the immediate processing as before (we only need to sleep over the same races as the current mutex_lock). v2: Add a selftest to ensure we exercise the code while lockdep watches. v3: That test was extremely loud and complained about many things! v4: Not a whale! Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111295 References: https://bugs.freedesktop.org/show_bug.cgi?id=111245 References: https://bugs.freedesktop.org/show_bug.cgi?id=111256 Fixes: 18398904ca9e ("drm/i915: Only recover active engines") Fixes: 51fbd8de87dc ("drm/i915/pmu: Atomically acquire the gt_pm wakeref") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190808202758.10453-1-chris@chris-wilson.co.uk A CI Bug Log filter associated to this bug has been updated: {- HSW APL SKL GLK ICL: igt@perf_pmu@* - dmesg-warn - WARNING: inconsistent lock state -} {+ HSW BYT APL SKL GLK ICL: igt@perf_pmu@* - dmesg-warn - WARNING: inconsistent lock state +} New failures caught by the filter: * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_346/fi-byt-n2820/igt@perf_pmu@busy-hang-bcs0.html (In reply to Chris Wilson from comment #10) > commit c7302f204490f3eb4ef839bec228315bcd3ba43f (drm-intel/for-linux-next, > drm-intel/drm-intel-next-queued) > Author: Chris Wilson <chris@chris-wilson.co.uk> > Date: Thu Aug 8 21:27:58 2019 +0100 > > drm/i915: Defer final intel_wakeref_put to process context > > As we need to acquire a mutex to serialise the final > intel_wakeref_put, we need to ensure that we are in process context at > that time. However, we want to allow operation on the intel_wakeref from > inside timer and other hardirq context, which means that need to defer > that final put to a workqueue. > > Inside the final wakeref puts, we are safe to operate in any context, as > we are simply marking up the HW and state tracking for the potential > sleep. It's only the serialisation with the potential sleeping getting > that requires careful wait avoidance. This allows us to retain the > immediate processing as before (we only need to sleep over the same > races as the current mutex_lock). > > v2: Add a selftest to ensure we exercise the code while lockdep watches. > v3: That test was extremely loud and complained about many things! > v4: Not a whale! > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111295 > References: https://bugs.freedesktop.org/show_bug.cgi?id=111245 > References: https://bugs.freedesktop.org/show_bug.cgi?id=111256 > Fixes: 18398904ca9e ("drm/i915: Only recover active engines") > Fixes: 51fbd8de87dc ("drm/i915/pmu: Atomically acquire the gt_pm > wakeref") > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> > Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> > Link: > https://patchwork.freedesktop.org/patch/msgid/20190808202758.10453-1- > chris@chris-wilson.co.uk (In reply to CI Bug Log from comment #11) > A CI Bug Log filter associated to this bug has been updated: > > {- HSW APL SKL GLK ICL: igt@perf_pmu@* - dmesg-warn - WARNING: inconsistent > lock state -} > {+ HSW BYT APL SKL GLK ICL: igt@perf_pmu@* - dmesg-warn - WARNING: > inconsistent lock state +} > > New failures caught by the filter: > > * > https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_346/fi-byt-n2820/ > igt@perf_pmu@busy-hang-bcs0.html Seen on BYT. A CI Bug Log filter associated to this bug has been updated: {- HSW BYT APL SKL GLK ICL: igt@perf_pmu@* - dmesg-warn - WARNING: inconsistent lock state -} {+ HSW BYT APL SKL GLK ICL: igt@perf_pmu@* - dmesg-warn - WARNING: inconsistent lock state +} New failures caught by the filter: * https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_347/fi-byt-n2820/igt@perf_pmu@most-busy-idle-check-all-vcs0.html commit 6dcb85a0ad990455ae7c596e3fc966ad9c1ba9c5 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Aug 23 14:26:46 2019 +0100 drm/i915: Hold irq-off for the entire fake lock period Sadly lockdep records when the irqs are re-enabled and then marks up the fake lock as being irq-unsafe. Our hand is forced and so we must mark up the entire fake lock critical section as irq-off. Hopefully this is the last tweak required! v2: Not quite, we need to mark the timeline spinlock as irqsafe. That was a genuine bug being hidden by the earlier lockdep splat. Fixes: d67739268cf0 ("drm/i915/gt: Mark up the nested engine-pm timeline lock as irqsafe") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190823132700.25286-2-chris@chris-wilson.co.uk |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.