Re: [Linux v4.10.0-rc1] call-traces after suspend-resume (pm? i915? cpu/hotplug?)

From: Daniel Vetter
Date: Tue Dec 27 2016 - 10:10:18 EST


On Tue, Dec 27, 2016 at 10:24:42AM +0000, Chris Wilson wrote:
> On Tue, Dec 27, 2016 at 12:09:22AM +0100, Sedat Dilek wrote:
> > [ Add some pm | i915 | x86 folks ]
> >
> > Hi,
> >
> > I have built Linux v4.10-rc1 today on my Ubuntu/precise AMD64 system
> > and I see some call-traces.
> > It is reproducible on suspend and resume.
> >
> > I cannot say which area touches the problem or if these are several
> > independent problems.
> >
> > For a full dmesg-log see attachments (my linux-config is attached, too).
> >
> > Here some hunks...
> >
> > [ 29.003601] BUG: sleeping function called from invalid context at
> > drivers/base/power/runtime.c:1032
> > [ 29.003608] in_atomic(): 1, irqs_disabled(): 0, pid: 1469, name: Xorg
> > [ 29.003610] 1 lock held by Xorg/1469:
> > [ 29.003611] #0: (&dev->struct_mutex){+.+.+.}, at:
> > [<ffffffffa0623c13>] i915_mutex_lock_interruptible+0x43/0x140 [i915]
> > [ 29.003653] CPU: 0 PID: 1469 Comm: Xorg Not tainted
> > 4.10.0-rc1-1-iniza-small #1
> > [ 29.003655] Hardware name: SAMSUNG ELECTRONICS CO., LTD.
> > 530U3BI/530U4BI/530U4BH/530U3BI/530U4BI/530U4BH, BIOS 13XK 03/28/2013
> > [ 29.003656] Call Trace:
> > [ 29.003663] dump_stack+0x85/0xc2
> > [ 29.003666] ___might_sleep+0x196/0x260
> > [ 29.003668] __might_sleep+0x53/0xb0
> > [ 29.003671] __pm_runtime_resume+0x7a/0x90
> > [ 29.003691] intel_runtime_pm_get+0x25/0x90 [i915]
> > [ 29.003711] aliasing_gtt_bind_vma+0xaa/0xf0 [i915]
> > [ 29.003733] i915_vma_bind+0xaf/0x1e0 [i915]
> > [ 29.003752] i915_gem_execbuffer_relocate_entry+0x513/0x6f0 [i915]
> > [ 29.003755] ? find_get_entry+0x5/0x240
> > [ 29.003774] i915_gem_execbuffer_relocate_vma.isra.34+0x188/0x250 [i915]
> > [ 29.003796] ? __i915_vma_do_pin+0x334/0x590 [i915]
> > [ 29.003815] ? i915_gem_execbuffer_reserve_vma.isra.31+0x152/0x1f0 [i915]
> > [ 29.003833] ? i915_gem_execbuffer_reserve.isra.32+0x372/0x3a0 [i915]
> > [ 29.003851] i915_gem_do_execbuffer.isra.38+0xa70/0x1a40 [i915]
> > [ 29.003854] ? __might_fault+0x4e/0xb0
> > [ 29.003872] i915_gem_execbuffer2+0xc5/0x260 [i915]
> > [ 29.003873] ? __might_fault+0x4e/0xb0
> > [ 29.003888] drm_ioctl+0x206/0x450 [drm]
> > [ 29.003913] ? i915_gem_execbuffer+0x340/0x340 [i915]
> > [ 29.003918] ? __fget+0x5/0x200
> > [ 29.003922] do_vfs_ioctl+0x91/0x6f0
> > [ 29.003925] ? __fget+0x111/0x200
> > [ 29.003926] ? __fget+0x5/0x200
> > [ 29.003929] SyS_ioctl+0x79/0x90
> > [ 29.003934] entry_SYSCALL_64_fastpath+0x23/0xc6
> > [ 29.003936] RIP: 0033:0x7fb9e09e7bb7
> > [ 29.003938] RSP: 002b:00007ffe2dba2ea8 EFLAGS: 00003202 ORIG_RAX:
> > 0000000000000010
> > [ 29.003941] RAX: ffffffffffffffda RBX: 0000000000000012 RCX: 00007fb9e09e7bb7
> > [ 29.003942] RDX: 00007ffe2dba2fa8 RSI: 0000000040406469 RDI: 0000000000000009
> > [ 29.003944] RBP: 00007ffe2dba2dc0 R08: 0000000000000040 R09: 0101010101010101
> > [ 29.003945] R10: 0000000000000000 R11: 0000000000003202 R12: 0000000000000008
> > [ 29.003947] R13: 00000000000000f5 R14: 0000000000000000 R15: 0000000000000000
>
> This should be independent of suspend/resume and should be fixed with
> https://patchwork.freedesktop.org/patch/116373/
>
> commit ebc0808fa2da0548a78e715858024cb81cd732bc
> Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> Date: Tue Oct 18 13:02:51 2016 +0100
>
> drm/i915: Restrict pagefault disabling to just around copy_from_user()
>
> It is in drm-intel-next-fixes, so should be picked up 4.10 in due
> course.

Also note that our CI is unhappy with -rc1, and it was not due to i915
patches. So very likely something else is also broken.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch