Bug 104967 - [CI] igt@perf_pmu@* - Incomplete
Summary: [CI] igt@perf_pmu@* - Incomplete
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: Other All
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard: ReadyForDev
Keywords:
Depends on:
Blocks:
 
Reported: 2018-02-06 07:32 UTC by Marta Löfstedt
Modified: 2018-04-20 11:03 UTC (History)
1 user (show)

See Also:
i915 platform: BXT, GLK, KBL
i915 features: Perf/OA


Attachments

Description Marta Löfstedt 2018-02-06 07:32:52 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4222/shard-glkb1/igt@perf_pmu@enable-race-vecs0.html
https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4222/shard-kbl1/igt@perf_pmu@enable-race-vcs1.html
https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4222/shard-apl4/igt@perf_pmu@enable-race-rcs0.html

There appear to be a lot more incomplete on various perf_pmu there is a possible connection to recent commits in IGT on the perf_pmu for example:

commit 3fd9b578b3138b04178b4ce8ee4a60e74a16ec91
Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Date:   Mon Feb 5 11:38:10 2018 +0000

    tests/perf_pmu: Use short batches from hotplug test

I therefore put these incompletes in a separate bug.
Comment 2 Chris Wilson 2018-02-06 14:32:51 UTC
I believe these to be
commit b2f78cda260bc6a1a2d382b1d85a29e69b5b3724
Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Date:   Mon Feb 5 09:34:48 2018 +0000

    drm/i915/pmu: Fix PMU enable vs execlists tasklet race
    
    Commit 99e48bf98dd0 ("drm/i915: Lock out execlist tasklet while peeking
    inside for busy-stats") added a tasklet_disable call in busy stats
    enabling, but we failed to understand that the PMU enable callback runs
    as an hard IRQ (IPI).
    
    Consequence of this is that the PMU enable callback can interrupt the
    execlists tasklet, and will then deadlock when it calls
    intel_engine_stats_enable->tasklet_disable.
    
    To fix this, I realized it is possible to move the engine stats enablement
    and disablement to PMU event init and destroy hooks. This allows for much
    simpler implementation since those hooks run in normal context (can
    sleep).
    
    v2: Extract engine_event_destroy. (Chris Wilson)
    
    Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Fixes: 99e48bf98dd0 ("drm/i915: Lock out execlist tasklet while peeking inside for busy-stats")
    Testcase: igt/perf_pmu/enable-race-*
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
    Cc: Jani Nikula <jani.nikula@linux.intel.com>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Cc: intel-gfx@lists.freedesktop.org
    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180205093448.13877-1-tvrtko.ursulin@linux.intel.com
Comment 3 Jani Saarinen 2018-04-20 11:03:38 UTC
Closing, please re-open if still occurs.


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.