Bug 85890 - [BDW]igt/tools_test + igt/drv_missed_irq_hang sporadically causes *ERROR* Unclaimed register detected
Summary: [BDW]igt/tools_test + igt/drv_missed_irq_hang sporadically causes *ERROR* Unc...
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
: 86948 88095 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-11-05 05:35 UTC by lu hua
Modified: 2016-12-12 17:13 UTC (History)
2 users (show)

See Also:
i915 platform: BDW
i915 features: power/Other


Attachments
dmesg (125.07 KB, text/plain)
2014-11-27 06:22 UTC, lu hua
no flags Details
Ignore unclaimed register issues from userspace tools (4.03 KB, patch)
2014-11-27 15:17 UTC, Daniel Vetter
no flags Details | Splinter Review
Ignore unclaimed register issues from userspace tools v2 (4.07 KB, patch)
2014-11-27 15:19 UTC, Daniel Vetter
no flags Details | Splinter Review

Description lu hua 2014-11-05 05:35:43 UTC
==System Environment==
--------------------------
Regression: not sure 
Non-working platforms: BDW

==kernel==
--------------------------
drm-intel-nightly/782bafb46cc12737b16e5007583bd7b534c6202a

==Bug detailed description==
It sporadically causes *ERROR* Unclaimed register detected when run automation testing. Run 20 cycles manually, the error is unable to reproduce. It happens 3 times in recently 10 days automation testing.

Run log:
@test: Intel_gpu_tools/igt_drv_missed_irq_hang
info: @@@Returncode: 0

test case start at: Wed Nov  5 07:43:30 2014
test case end at:   Wed Nov  5 07:43:45 2014

Errors:


Dmesg:
<3>[ 2301.921963] [drm:hsw_unclaimed_reg_detect.isra.6 [i915]] *ERROR* Unclaimed register detected. Please use the i915.mmio_debug=1 to debug this problem.
<6>[ 2305.936790] [drm] Fake missed irq on render ring
<6>[ 2307.937879] [drm] Fake missed irq on video enhancement ring
<6>[ 2311.935929] [drm] Fake missed irq on blitter ring


Output:
             command   pid dev master a   uid      magic
Test Environment check: Succeeded.
[1/1] dmesg-warn: 1 Running Test(s): 0
[1/1] dmesg-warn: 1 Running Test(s): 1


Thank you for running Piglit!
Results have been written to /GFX/Test/Piglit/piglit/t
{
    "results_version": 2,
    "uname": "Linux x-bdw05 3.18.0-rc3_drm-intel-nightly_782baf_20141104+ #1162 SMP Tue Nov 4 11:31:45 CST 2014 x86_64 x86_64 x86_64 GNU/Linux\n",
    "time_elapsed": 11.816837072372437,
    "tests": {
        "igt/drv_missed_irq_hang": {
            "dmesg": "[ 2301.921963] [drm:hsw_unclaimed_reg_detect.isra.6 [i915]] *ERROR* Unclaimed register detected. Please use the i915.mmio_debug=1 to debug this problem.",
            "returncode": 0,
            "err": "",
            "environment": "PIGLIT_SOURCE_DIR=\"/GFX/Test/Piglit/piglit\" PIGLIT_PLATFORM=\"mixed_glx_egl\"",
            "command": "/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests/drv_missed_irq_hang",
            "result": "dmesg-warn",
            "time": 11.618579149246216,
            "out": "Interrupts masked\nInterrupts unmasked\nCleared missed interrupts\n"
        }
    },
    "name": "t",
    "lspci": "00:00.0 Host bridge: Intel Corporation Device 1604 (rev 08)\n00:02.0 VGA compatible controller: Intel Corporation Device 1616 (rev 08)\n00:03.0 Audio device: Intel Corporation Device 160c (rev 08)\n00:14.0 USB controller: Intel Corporation Device 9cb1 (rev 03)\n00:16.0 Communication controller: Intel Corporation Device 9cba (rev 03)\n00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (3) I218-LM (rev 03)\n00:1f.0 ISA bridge: Intel Corporation Device 9cc3 (rev 03)\n00:1f.2 SATA controller: Intel Corporation Device 9c83 (rev 03)\n00:1f.3 SMBus: Intel Corporation Device 9ca2 (rev 03)\n00:1f.6 Signal processing controller: Intel Corporation Device 9ca4 (rev 03)\n",
    "options": {
        "profile": [
            "tests/igt.py"
        ],
        "dmesg": false,
        "execute": true,
        "log_level": "quiet",
        "concurrent": "some",
        "valgrind": false,
        "sync": false,
        "filter": [
            "igt/drv_missed_irq_hang$"
        ],
        "platform": "mixed_glx_egl",
        "exclude_tests": [],
        "env": {
            "PIGLIT_SOURCE_DIR": "/GFX/Test/Piglit/piglit",
            "PIGLIT_PLATFORM": "mixed_glx_egl"
        },
        "exclude_filter": []
    }
}
returncode: 0
result: dmesg-warn
summary: Intel_gpu_tools/igt_drv_missed_irq_hang    DMESG_WARN
Comment 1 Daniel Vetter 2014-11-26 15:21:38 UTC
Please check some older kernels with bdw support whether this is a regression or not and then bisect. The kernel/debugfs support for this testcase has already been merged into 3.13, so there's a lot of kernel release that support both bdw and this testcase.
Comment 2 Chris Wilson 2014-11-26 16:12:04 UTC
Oh, also doing as the message suggests and enabling i915.mmio_debug=1 would be useful.
Comment 3 lu hua 2014-11-27 06:01:04 UTC
It's unable to reproduce manually, So I can't provide more detail info now. Maybe some cases impacts it.
Comment 4 lu hua 2014-11-27 06:22:46 UTC
Created attachment 110109 [details]
dmesg

I think I reproduce it. Add i915.mmio_debug=1, run ./tools_test then run ./drv_missed_irq_hang, system reports warning. 

root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./drv_missed_irq_hang
Interrupts masked
Interrupts unmasked
Cleared missed interrupts
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# dmesg -r|egrep "<[1-4]>"|grep drm
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./tools_test
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# dmesg -r|egrep "<[1-4]>"|grep drm
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./drv_missed_irq_hang
Interrupts masked
Interrupts unmasked
Cleared missed interrupts
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# dmesg -r|egrep "<[1-4]>"|grep drm
<4>[   51.940478] WARNING: CPU: 2 PID: 4735 at drivers/gpu/drm/i915/intel_uncore.c:726 hsw_unclaimed_reg_debug.isra.12+0x62/0x72 [i915]()
<4>[   51.940480] Modules linked in: dm_mod iTCO_wdt iTCO_vendor_support ppdev snd_hda_codec_hdmi pcspkr i2c_i801 snd_hda_intel snd_hda_controller snd_hda_codec snd_hwdep snd_pcm snd_timer lpc_ich mfd_core snd soundcore battery parport_pc parport ac acpi_cpufreq i915 button video drm_kms_helper drm cfbfillrect cfbimgblt cfbcopyarea
<4>[   51.940496] CPU: 2 PID: 4735 Comm: gem_exec_blt Not tainted 3.18.0-rc6_drm-intel-nightly_904b85_20141127+ #1990
<4>[   51.940628]  [<ffffffffa0010738>] ? drm_ioctl+0x279/0x3bc [drm]

Call trace: 
[   51.940478] WARNING: CPU: 2 PID: 4735 at drivers/gpu/drm/i915/intel_uncore.c:726 hsw_unclaimed_reg_debug.isra.12+0x62/0x72 [i915]()
[   51.940479] Unclaimed register detected before writing to register 0x101008
[   51.940480] Modules linked in: dm_mod iTCO_wdt iTCO_vendor_support ppdev snd_hda_codec_hdmi pcspkr i2c_i801 snd_hda_intel snd_hda_controller snd_hda_codec snd_hwdep snd_pcm s
nd_timer lpc_ich mfd_core snd soundcore battery parport_pc parport ac acpi_cpufreq i915 button video drm_kms_helper drm cfbfillrect cfbimgblt cfbcopyarea
[   51.940496] CPU: 2 PID: 4735 Comm: gem_exec_blt Not tainted 3.18.0-rc6_drm-intel-nightly_904b85_20141127+ #1990
[   51.940498]  0000000000000000 0000000000000009 ffffffff8178d582 ffff880148a5fa08
[   51.940500]  ffffffff8103a8cc ffff8800a3e954c0 ffffffffa00c0850 ffff8800a7e2de90
[   51.940502]  ffff880002d10060 0000000000101008 0000000000101008 0000000000000001
[   51.940504] Call Trace:
[   51.940510]  [<ffffffff8178d582>] ? dump_stack+0x41/0x51
[   51.940514]  [<ffffffff8103a8cc>] ? warn_slowpath_common+0x78/0x90
[   51.940524]  [<ffffffffa00c0850>] ? hsw_unclaimed_reg_debug.isra.12+0x62/0x72 [i915]
[   51.940527]  [<ffffffff8103a97c>] ? warn_slowpath_fmt+0x45/0x4a
[   51.940536]  [<ffffffffa00c0850>] ? hsw_unclaimed_reg_debug.isra.12+0x62/0x72 [i915]
[   51.940545]  [<ffffffffa00c1239>] ? gen8_write32+0x8e/0x11a [i915]
[   51.940554]  [<ffffffffa009bffd>] ? gen8_ggtt_insert_entries+0xf7/0x116 [i915]
[   51.940562]  [<ffffffffa009b66c>] ? ggtt_bind_vma+0x75/0xc8 [i915]
[   51.940571]  [<ffffffffa00a319a>] ? i915_gem_object_pin+0x4bb/0x6d1 [i915]
[   51.940580]  [<ffffffffa0097e36>] ? i915_switch_context+0x180/0x556 [i915]
[   51.940589]  [<ffffffffa00bc7e0>] ? intel_ring_invalidate_all_caches+0x25/0x7b [i915]
[   51.940597]  [<ffffffffa009a94d>] ? i915_gem_ringbuffer_submission+0x21b/0x7ea [i915]
[   51.940605]  [<ffffffffa009a3bd>] ? i915_gem_do_execbuffer.isra.12+0xaf0/0xbcf [i915]
[   51.940614]  [<ffffffffa009f2da>] ? i915_gem_object_get_pages+0x5d/0x99 [i915]
[   51.940622]  [<ffffffffa009b3df>] ? i915_gem_execbuffer2+0x173/0x208 [i915]
[   51.940628]  [<ffffffffa0010738>] ? drm_ioctl+0x279/0x3bc [drm]
[   51.940635]  [<ffffffffa009b26c>] ? i915_gem_execbuffer+0x350/0x350 [i915]
[   51.940639]  [<ffffffff8111e6e3>] ? do_vfs_ioctl+0x3ec/0x435
[   51.940642]  [<ffffffff8104e839>] ? task_work_run+0x78/0x87
[   51.940644]  [<ffffffff8111e775>] ? SyS_ioctl+0x49/0x78
[   51.940647]  [<ffffffff81792e7f>] ? int_signal+0x12/0x17
[   51.940649]  [<ffffffff81792c12>] ? system_call_fastpath+0x12/0x17
[   51.940651] ---[ end trace fbd493ba277c3c86 ]---
Comment 5 Daniel Vetter 2014-11-27 09:00:26 UTC
Just to double check:

- On a clean boot, running drv_missed_irq_hang results in a clean dmesg.
- And running tools_test + drv_missed_irq_hang reliably results in a WARNING in dmesg?

That's indeed peculiar ...
Comment 6 Daniel Vetter 2014-11-27 09:01:52 UTC
Actually not peculiar at all, tools_test is probably doing reg access all over the place. We might need an interface to clear mmio_debug failures ...
Comment 7 Daniel Vetter 2014-11-27 15:17:35 UTC
Created attachment 110129 [details] [review]
Ignore unclaimed register issues from userspace tools

Please test the attached patch, thanks.
Comment 8 Daniel Vetter 2014-11-27 15:19:35 UTC
Created attachment 110130 [details] [review]
Ignore unclaimed register issues from userspace tools v2

This one actually compiles ...
Comment 9 lu hua 2014-11-28 07:29:07 UTC
(In reply to Daniel Vetter from comment #8)
> Created attachment 110130 [details] [review] [review]
> Ignore unclaimed register issues from userspace tools v2
> 
> This one actually compiles ...

Fixed by this patch.
Comment 10 Guo Jinxian 2014-12-11 05:27:20 UTC
I met similar error on BDW after resume from S4

root@x-bdwh01:/home/testframework# dmesg -r|egrep "<[1-4]>"|grep drm
<3>[ 7633.842933] [drm:hsw_unclaimed_reg_detect.isra.7 [i915]] *ERROR* Unclaimed register detected. Please use the i915.mmio_debug=1 to debug this problem.
<3>[ 7633.853452] [drm:hsw_unclaimed_reg_detect.isra.7 [i915]] *ERROR* Unclaimed register detected. Please use the i915.mmio_debug=1 to debug this problem.
Comment 11 Rodrigo Vivi 2015-01-21 23:40:22 UTC
Is it still happening on latest -nightly? Couldn't see any unclaimed here.
Comment 12 lu hua 2015-01-22 05:31:46 UTC
Test on the latest -nightly kernel.
clean boot system then run ./drv_missed_irq_hang, no error report.
clean boot system, run ./tools_test then run ./drv_missed_irq_hang, dmesg report "WARNING: CPU: 2 PID: 4819 at drivers/gpu/drm/i915/intel_uncore.c:543 hsw_unclaimed_reg_debug.isra.10+0x62/0x72 [i915]()"

output:
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./drv_missed_irq_hang
Interrupts masked
missed interrupts undetected
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# dmesg -r|egrep "<[1-4]>"|grep drm
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./tools_test
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# dmesg -r|egrep "<[1-4]>"|grep drm
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./drv_missed_irq_hang
Interrupts masked
missed interrupts undetected
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# dmesg -r|egrep "<[1-4]>"|grep drm
<4>[   44.049696] WARNING: CPU: 2 PID: 4819 at drivers/gpu/drm/i915/intel_uncore.c:543 hsw_unclaimed_reg_debug.isra.10+0x62/0x72 [i915]()
<4>[   44.049699] Modules linked in: ipv6 iTCO_wdt iTCO_vendor_support ppdev dm_mod snd_hda_codec_hdmi pcspkr i2c_i801 snd_hda_intel snd_hda_controller snd_hda_codec snd_hwdep snd_pcm lpc_ich snd_timer mfd_core snd soundcore battery parport_pc parport ac acpi_cpufreq i915 button video drm_kms_helper drm cfbfillrect cfbimgblt cfbcopyarea
<4>[   44.049715] CPU: 2 PID: 4819 Comm: gem_exec_blt Not tainted 3.19.0-rc5_drm-intel-nightly_98592c_20150122+ #762
<4>[   44.049912]  [<ffffffffa001070a>] ? drm_ioctl+0x279/0x3bc [drm]

dmesg:
[   44.049676] ------------[ cut here ]------------
[   44.049696] WARNING: CPU: 2 PID: 4819 at drivers/gpu/drm/i915/intel_uncore.c:543 hsw_unclaimed_reg_debug.isra.10+0x62/0x72 [i915]()
[   44.049698] Unclaimed register detected before writing to register 0x101008
[   44.049699] Modules linked in: ipv6 iTCO_wdt iTCO_vendor_support ppdev dm_mod snd_hda_codec_hdmi pcspkr i2c_i801 snd_hda_intel snd_hda_controller snd_hda_codec snd_hwdep snd_pcm lpc_ich snd_timer mfd_core snd soundcore battery parport_pc parport ac acpi_cpufreq i915 button video drm_kms_helper drm cfbfillrect cfbimgblt cfbcopyarea
[   44.049715] CPU: 2 PID: 4819 Comm: gem_exec_blt Not tainted 3.19.0-rc5_drm-intel-nightly_98592c_20150122+ #762
[   44.049717]  0000000000000000 0000000000000009 ffffffff817999a8 ffff880002f7f8c8
[   44.049720]  ffffffff8103bdcc 00000000000080d0 ffffffffa00c5679 0000000000000000
[   44.049722]  ffff880144660060 0000000000101008 0000000000101008 ffff880144660060
[   44.049724] Call Trace:
[   44.049730]  [<ffffffff817999a8>] ? dump_stack+0x40/0x50
[   44.049734]  [<ffffffff8103bdcc>] ? warn_slowpath_common+0x98/0xb0
[   44.049745]  [<ffffffffa00c5679>] ? hsw_unclaimed_reg_debug.isra.10+0x62/0x72 [i915]
[   44.049748]  [<ffffffff8103be7c>] ? warn_slowpath_fmt+0x45/0x4a
[   44.049759]  [<ffffffffa00c5679>] ? hsw_unclaimed_reg_debug.isra.10+0x62/0x72 [i915]
[   44.049767]  [<ffffffffa00c6203>] ? gen8_write32+0x90/0x167 [i915]
[   44.049776]  [<ffffffffa009ff93>] ? gen8_ggtt_insert_entries+0xf7/0x116 [i915]
[   44.049785]  [<ffffffffa009f5f7>] ? ggtt_bind_vma+0x72/0xbe [i915]
[   44.049794]  [<ffffffffa00a240e>] ? i915_vma_bind+0x82/0x89 [i915]
[   44.049804]  [<ffffffffa00a7326>] ? i915_gem_object_pin_view+0x459/0x702 [i915]
[   44.049808]  [<ffffffff810e3c9d>] ? shmem_add_to_page_cache+0x8b/0xba
[   44.049818]  [<ffffffffa00b9d8b>] ? intel_lr_context_pin+0x8d/0xcb [i915]
[   44.049828]  [<ffffffffa00bae66>] ? intel_logical_ring_begin+0x12a/0x1ea [i915]
[   44.049831]  [<ffffffff810e46da>] ? shmem_read_mapping_page_gfp+0x42/0x4c
[   44.049840]  [<ffffffffa00bb002>] ? gen8_emit_flush_render+0x3d/0xe1 [i915]
[   44.049849]  [<ffffffffa00ba8df>] ? logical_ring_flush_all_caches+0x1d/0x2a [i915]
[   44.049857]  [<ffffffffa00bb86a>] ? gen8_init_rcs_context+0x156/0x16d [i915]
[   44.049866]  [<ffffffffa00bc012>] ? intel_lr_context_deferred_create+0x6f0/0x799 [i915]
[   44.049875]  [<ffffffffa009daf5>] ? i915_gem_do_execbuffer.isra.12+0x463/0xd88 [i915]
[   44.049885]  [<ffffffffa00a9c9c>] ? i915_gem_pwrite_ioctl+0x720/0x7a7 [i915]
[   44.049888]  [<ffffffff8110d890>] ? __kmalloc+0x66/0x151
[   44.049897]  [<ffffffffa009f36d>] ? i915_gem_execbuffer2+0x172/0x209 [i915]
[   44.049905]  [<ffffffffa009f1fb>] ? i915_gem_execbuffer+0x350/0x350 [i915]
[   44.049912]  [<ffffffffa001070a>] ? drm_ioctl+0x279/0x3bc [drm]
[   44.049920]  [<ffffffffa009f1fb>] ? i915_gem_execbuffer+0x350/0x350 [i915]
[   44.049923]  [<ffffffff81122335>] ? do_vfs_ioctl+0x412/0x459
[   44.049926]  [<ffffffff8104fdc9>] ? task_work_run+0x84/0x93
[   44.049929]  [<ffffffff811223c5>] ? SyS_ioctl+0x49/0x78
[   44.049932]  [<ffffffff8179f5ff>] ? int_signal+0x12/0x17
[   44.049935]  [<ffffffff8179f392>] ? system_call_fastpath+0x12/0x17
[   44.049936] ---[ end trace 969c110dafbfcbde ]---
Comment 13 Rodrigo Vivi 2015-01-22 22:28:19 UTC
*** Bug 88095 has been marked as a duplicate of this bug. ***
Comment 14 Rodrigo Vivi 2015-01-22 22:28:31 UTC
*** Bug 86948 has been marked as a duplicate of this bug. ***
Comment 15 Jani Nikula 2015-02-12 11:56:03 UTC
(In reply to lu hua from comment #9)
> (In reply to Daniel Vetter from comment #8)
> > Created attachment 110130 [details] [review] [review] [review]
> > Ignore unclaimed register issues from userspace tools v2
> > 
> > This one actually compiles ...
> 
> Fixed by this patch.

Daniel, any plans to post the patch upstream?
Comment 16 Elio 2015-10-28 15:54:34 UTC
This bug is not present with the following configuration:

Test Enviroment:


kernel: 4.3.0-rc6-drm-intel-nightly
xorg-server-1.17.2
libdrm-2.4.65
xf86-video-intel-2.99.917
mesa-11.0.4-devel 
libva-1.6.1
intel-driver-1.6.1
cairo-1.14.2


Platform:
Broadwell-U
Hardware
Platform: Lenovo G50
Processor: Intel Core I5-5200 2.20 GHz
Software
Linux distribution: Ubuntu 14.04.03 LTS 64 bits
BIOS:B0CN69WW

Terminal output:
root@gfx-Lenovo-G50-80:/home/gfx/intel-graphics/intel-gpu-tools/tests# ./drv_missed_irq_hang
Interrupts masked
Interrupts unmasked
Cleared missed interrupts
root@gfx-Lenovo-G50-80:/home/gfx/intel-graphics/intel-gpu-tools/tests#
Comment 17 yann 2016-12-12 17:13:12 UTC
(In reply to Elio from comment #16)
> This bug is not present with the following configuration:
> 
> Test Enviroment:
> 
> 
> kernel: 4.3.0-rc6-drm-intel-nightly
> xorg-server-1.17.2
> libdrm-2.4.65
> xf86-video-intel-2.99.917
> mesa-11.0.4-devel 
> libva-1.6.1
> intel-driver-1.6.1
> cairo-1.14.2
> 
> 
> Platform:
> Broadwell-U
> Hardware
> Platform: Lenovo G50
> Processor: Intel Core I5-5200 2.20 GHz
> Software
> Linux distribution: Ubuntu 14.04.03 LTS 64 bits
> BIOS:B0CN69WW
> 
> Terminal output:
> root@gfx-Lenovo-G50-80:/home/gfx/intel-graphics/intel-gpu-tools/tests#
> ./drv_missed_irq_hang
> Interrupts masked
> Interrupts unmasked
> Cleared missed interrupts
> root@gfx-Lenovo-G50-80:/home/gfx/intel-graphics/intel-gpu-tools/tests#

Closing then as resolved fixed.


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.