Bug 81732

Summary: [BSW Regression]igt/gem_persistent_relocs/forked-interruptible-faulting-reloc causes system hang
Product: DRI Reporter: Guo Jinxian <jinxianx.guo>
Component: DRM/IntelAssignee: Mika Kuoppala <mika.kuoppala>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: critical    
Priority: high CC: intel-gfx-bugs
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg on fixes branch
none
dmesg none

Description Guo Jinxian 2014-07-25 06:16:18 UTC
Created attachment 103425 [details]
dmesg on fixes branch

==System Environment==
--------------------------
Regression: Yes

Good commit on -next-queued: 91565c85b66db820f01894a971d39aaef60c4325

Non-working platforms: BSW

==kernel==
--------------------------
origin/drm-intel-nightly: 089bea2664988de48fccc81407ebe12115156731(fails)
    drm-intel-nightly: 2014y-07m-24d-09h-55m-38s integration manifest
origin/drm-intel-next-queued: 2b8ee5710915a244b807fbe3427299d007d19e89(works)
    drm/i915: Allow overlapping userptr objects  
origin/drm-intel-fixes: eedd10f45bdcb2a5b2afa35f845e080c3bc984f2(CallTrace while running the test, please check attachment)
    drm/i915: Simplify i915_gem_release_all_mmaps()

==Bug detailed description==
-----------------------------
igt/gem_persistent_relocs/forked-interruptible-faulting-reloc causes system hang
Unable get dmesg because system hang.

Output:
[root@x-bsw01 tests]# ./gem_persistent_relocs --run-subtest forked-interruptible-faulting-reloc
IGT-Version: 1.7-g4d4f4b2 (x86_64) (Linux: 3.16.0-rc6_drm-intel-nightly_089bea_20140725_debug+ x86_64)


Dmesg shows on -fixes branch:
[   72.374279] WARNING: CPU: 1 PID: 3800 at drivers/gpu/drm/i915/intel_uncore.c:132 gen6_gt_check_fifodbg.isra.12+0x38/0x47 [i915]()
[   72.380584] GT wake FIFO error 0x1080000
[   72.386839] Modules linked in: dm_mod snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic pcspkr serio_raw snd_hda_intel snd_hda_controller snd_hda_codec snd_hwdep r8169 snd_pcm snd_timer snd soundcore battery ac i915 button video drm_kms_helper drm option usb_wwan usbserial
[   72.400570] CPU: 1 PID: 3800 Comm: gem_persistent_ Tainted: G        W     3.16.0-rc6_drm-intel-fixes_eedd10_20140725_debug+ #798
[   72.407573]  0000000000000009 ffff88007508f9c8 ffffffff8182f9df 0000000000000046
[   72.414614]  ffff88007508fa18 ffff88007508fa08 ffffffff8103fa1c 0000000000000000
[   72.421614]  ffffffffa01213d1 0000000001080000 ffff880002c50078 00000000049980c8
[   72.428590] Call Trace:
[   72.435480]  [<ffffffff8182f9df>] dump_stack+0x46/0x58
[   72.442412]  [<ffffffff8103fa1c>] warn_slowpath_common+0x81/0x9b
[   72.449388]  [<ffffffffa01213d1>] ? gen6_gt_check_fifodbg.isra.12+0x38/0x47 [i915]
[   72.456381]  [<ffffffff8103fad9>] warn_slowpath_fmt+0x46/0x48
[   72.463402]  [<ffffffffa011f597>] ? __gen6_gt_wait_for_thread_c0+0x3a/0x95 [i915]
[   72.470470]  [<ffffffffa01213d1>] gen6_gt_check_fifodbg.isra.12+0x38/0x47 [i915]
[   72.477555]  [<ffffffffa0121480>] __vlv_force_wake_put+0x3c/0x3e [i915]
[   72.484636]  [<ffffffffa0120d2c>] gen6_read32+0x78/0xeb [i915]
[   72.491700]  [<ffffffffa011b29d>] gen6_ring_get_seqno+0x2c/0x3a [i915]
[   72.498760]  [<ffffffffa01053a5>] __wait_seqno+0x252/0x458 [i915]
[   72.505770]  [<ffffffff8107754d>] ? __init_waitqueue_head+0x50/0x50
[   72.512825]  [<ffffffffa0105dd8>] i915_wait_seqno+0x6f/0x78 [i915]
[   72.519867]  [<ffffffffa0105e15>] i915_gem_object_wait_rendering+0x34/0x4f [i915]
[   72.526926]  [<ffffffffa010aff8>] i915_gem_object_set_to_gtt_domain+0x54/0x181 [i915]
[   72.533986]  [<ffffffffa010b6b1>] i915_gem_pwrite_ioctl+0x261/0x7f8 [i915]
[   72.540995]  [<ffffffff811139f4>] ? might_fault+0x43/0x93
[   72.548024]  [<ffffffffa007423f>] drm_ioctl+0x2bd/0x425 [drm]
[   72.555092]  [<ffffffffa010b450>] ? i915_gem_set_domain_ioctl+0xf6/0xf6 [i915]
[   72.562182]  [<ffffffff810bf0b1>] ? __audit_syscall_exit+0x1f4/0x213
[   72.569273]  [<ffffffff8114b525>] do_vfs_ioctl+0x455/0x49f
[   72.576325]  [<ffffffff81097ccf>] ? current_kernel_time+0x64/0xa0
[   72.583408]  [<ffffffff81080d2d>] ? trace_hardirqs_on_caller+0x142/0x19e
[   72.590379]  [<ffffffff81080d96>] ? trace_hardirqs_on+0xd/0xf
[   72.597195]  [<ffffffff8114b5c2>] SyS_ioctl+0x53/0x81
[   72.603734]  [<ffffffff81837112>] system_call_fastpath+0x16/0x1b


Reproduce steps:
-------------------------
1. ./gem_persistent_relocs --run-subtest forked-interruptible-faulting-reloc
Comment 1 Guo Jinxian 2014-08-18 03:09:56 UTC
Created attachment 104783 [details]
dmesg

Test passed on -nightly(2b6e6b9c29dbdaf596cad99877384af8b406d103)

[root@x-bsw01 tests]# ./gem_persistent_relocs --run-subtest forked-interruptible-faulting-reloc
IGT-Version: 1.7-g5c7bcb1 (x86_64) (Linux: 3.16.0_drm-intel-nightly_2b6e6b_20140815+ x86_64)
Subtest forked-interruptible-faulting-reloc: SUCCESS
Comment 2 Chris Wilson 2014-08-18 05:29:08 UTC
Presuming fixed until proven otherwise.
Comment 3 Guo Jinxian 2014-08-18 05:46:35 UTC
(In reply to comment #1)
> Created attachment 104783 [details]
> dmesg
> 
> Test passed on -nightly(2b6e6b9c29dbdaf596cad99877384af8b406d103)
> 
> [root@x-bsw01 tests]# ./gem_persistent_relocs --run-subtest
> forked-interruptible-faulting-reloc
> IGT-Version: 1.7-g5c7bcb1 (x86_64) (Linux:
> 3.16.0_drm-intel-nightly_2b6e6b_20140815+ x86_64)
> Subtest forked-interruptible-faulting-reloc: SUCCESS

Verified.
Comment 4 Elizabeth 2017-10-06 14:36:59 UTC
Closing old verified.

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.