Bug 103199

Summary: [CI] igt@drv_missed_irq - fail - Failed assertion: missed_rings == expect_rings
Product: DRI Reporter: Marta Löfstedt <marta.lofstedt>
Component: IGTAssignee: Default DRI bug account <dri-devel>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: medium CC: intel-gfx-bugs
Version: DRI git   
Hardware: Other   
OS: All   
Whiteboard: ReadyForDev
i915 platform: BXT i915 features:

Description Marta Löfstedt 2017-10-10 14:22:13 UTC
CI_DRM_3202 APL-shards igt@drv_missed_irq 

Failed:
(drv_missed_irq:1540) CRITICAL: Test assertion failure function __real_main136, file drv_missed_irq.c:192:
(drv_missed_irq:1540) CRITICAL: Failed assertion: missed_rings == expect_rings
(drv_missed_irq:1540) CRITICAL: Last errno: 9, Bad file descriptor
(drv_missed_irq:1540) CRITICAL: error: 0x15 != 0x17
Test drv_missed_irq failed.


https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3202/shard-apl7/igt@drv_missed_irq.html
Comment 1 Chris Wilson 2017-10-12 08:02:17 UTC
Betting on:

commit 3fb7add738bb05b617dfbcb14ee59ded000be969 (HEAD, upstream/master)
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Oct 11 01:13:28 2017 +0100

    igt/drv_hangman: Convert from local recursive batch to igt_spin_t
Comment 3 Martin Peres 2018-08-07 14:28:17 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_93/fi-icl-u/igt@drv_missed_irq.html

(drv_missed_irq:1510) CRITICAL: Test assertion failure function __real_main96, file ../tests/drv_missed_irq.c:159:
(drv_missed_irq:1510) CRITICAL: Failed assertion: missed_rings == expect_rings
(drv_missed_irq:1510) CRITICAL: Last errno: 9, Bad file descriptor
(drv_missed_irq:1510) CRITICAL: error: 0 != 0x57
Test drv_missed_irq failed.
Comment 4 Chris Wilson 2018-08-08 20:55:22 UTC
(In reply to Martin Peres from comment #3)
> https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_93/fi-icl-u/
> igt@drv_missed_irq.html
> 
> (drv_missed_irq:1510) CRITICAL: Test assertion failure function
> __real_main96, file ../tests/drv_missed_irq.c:159:
> (drv_missed_irq:1510) CRITICAL: Failed assertion: missed_rings ==
> expect_rings
> (drv_missed_irq:1510) CRITICAL: Last errno: 9, Bad file descriptor
> (drv_missed_irq:1510) CRITICAL: error: 0 != 0x57
> Test drv_missed_irq failed.

icl is a different class of bug -- icl can't fake missed interrupts at all.
Comment 5 Chris Wilson 2018-09-07 13:46:16 UTC
(In reply to Chris Wilson from comment #4)
> (In reply to Martin Peres from comment #3)
> > https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_93/fi-icl-u/
> > igt@drv_missed_irq.html
> > 
> > (drv_missed_irq:1510) CRITICAL: Test assertion failure function
> > __real_main96, file ../tests/drv_missed_irq.c:159:
> > (drv_missed_irq:1510) CRITICAL: Failed assertion: missed_rings ==
> > expect_rings
> > (drv_missed_irq:1510) CRITICAL: Last errno: 9, Bad file descriptor
> > (drv_missed_irq:1510) CRITICAL: error: 0 != 0x57
> > Test drv_missed_irq failed.
> 
> icl is a different class of bug -- icl can't fake missed interrupts at all.

commit 5f521722a2a2391d693afccdf6e12be2754382d8 (HEAD -> drm-intel-next-queued, drm-intel/drm-intel-next-queued)
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Sep 7 12:28:51 2018 +0100

    drm/i915: Missed interrupt simulation is no more, tell the world
    
    Using the guc, we cannot disable the user interrupt generation as we use
    it for driving submission. And from Icelake, we no longer have the
    ability to individually mask interrupt generation from each engine,
    disabling our ability to fake missed interrupts.
    
    In both cases, report back to userspace that the missed interrupt
    generator is no longer available.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
    Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180907112856.28242-1-chris@chris-wilson.co.uk
Comment 6 Martin Peres 2018-09-07 16:53:10 UTC
(In reply to Chris Wilson from comment #5)
> (In reply to Chris Wilson from comment #4)
> > (In reply to Martin Peres from comment #3)
> > > https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_93/fi-icl-u/
> > > igt@drv_missed_irq.html
> > > 
> > > (drv_missed_irq:1510) CRITICAL: Test assertion failure function
> > > __real_main96, file ../tests/drv_missed_irq.c:159:
> > > (drv_missed_irq:1510) CRITICAL: Failed assertion: missed_rings ==
> > > expect_rings
> > > (drv_missed_irq:1510) CRITICAL: Last errno: 9, Bad file descriptor
> > > (drv_missed_irq:1510) CRITICAL: error: 0 != 0x57
> > > Test drv_missed_irq failed.
> > 
> > icl is a different class of bug -- icl can't fake missed interrupts at all.
> 
> commit 5f521722a2a2391d693afccdf6e12be2754382d8 (HEAD ->
> drm-intel-next-queued, drm-intel/drm-intel-next-queued)
> Author: Chris Wilson <chris@chris-wilson.co.uk>
> Date:   Fri Sep 7 12:28:51 2018 +0100
> 
>     drm/i915: Missed interrupt simulation is no more, tell the world
>     
>     Using the guc, we cannot disable the user interrupt generation as we use
>     it for driving submission. And from Icelake, we no longer have the
>     ability to individually mask interrupt generation from each engine,
>     disabling our ability to fake missed interrupts.
>     
>     In both cases, report back to userspace that the missed interrupt
>     generator is no longer available.
>     
>     Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>     Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
>     Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
>     Link:
> https://patchwork.freedesktop.org/patch/msgid/20180907112856.28242-1-
> chris@chris-wilson.co.uk

Do you think it will also fix the ICL bug or should I file another bug?
Comment 7 Chris Wilson 2018-09-07 16:56:04 UTC
It should do the trick. My memory of the test says that if we can't open the file we say the engine mask is 0. However, I do have an update to the igt pending review in case it doesn't.

We shall see what happens over the w/e and if we need to open a new bug or not.

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.