Bug 22366

Summary: [915] Freeze one minute after resuming from hibernation with KMS and UXA
Product: xorg Reporter: Milan Bouchet-Valat <nalimilan>
Component: Driver/intelAssignee: ykzhao <yakui.zhao>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: high Keywords: regression
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Batch buffer dump and logs
none
restore the modeset for every activated crtc none

Description Milan Bouchet-Valat 2009-06-19 05:51:20 UTC
[This bug can be considered as the hibernation side of bug 20520, as requested to be opened).

I'm using driver 2.7.99.901+git20090611.6d062e9e with kernel 2.6.30 on Ubuntu Jaunty. My card is a 915GM/GMS/910GML Express Graphics Controller [8086:2592] (rev 03).

This freeze has appeared recently, about a week or two ago. When I return from hibernation, I get the freeze in about one minute, without any other symptoms. I also get freezes on fresh boot, but they take much longer to appear - I'll debug and report them separately with a link here, in case they can be related.


Attached are the logs and batch buffer dumps. An interesting error shown next the end of dmesg is:
[ 2201.329557] cp: page allocation failure. order:8, mode:0x40d0
[ 2201.329566] Pid: 7847, comm: cp Tainted: G        W  2.6.30-020630-generic #020630
[ 2201.329569] Call Trace:
[ 2201.329586]  [<c019bf73>] __alloc_pages_internal+0x353/0x450
[ 2201.329591]  [<c019c27c>] __get_free_pages+0x1c/0x30
[ 2201.329598]  [<c01c0150>] __kmalloc+0x100/0x1b0
[ 2201.329603]  [<c019c253>] ? free_compound_page+0x13/0x20
[ 2201.329608]  [<c019f34d>] ? put_compound_page+0x1d/0x30

I'm not sure that's relevant at all, but that seems worth to be  mentioned.
[ 2201.329612]  [<c01bfa89>] ? kfree+0xe9/0x100
[ 2201.329617]  [<c01df1ed>] seq_read+0x11d/0x330
[ 2201.329623]  [<c01c6ff4>] vfs_read+0x94/0x160
[ 2201.329627]  [<c01df0d0>] ? seq_read+0x0/0x330
[ 2201.329631]  [<c01c73ad>] sys_read+0x3d/0x70
[ 2201.329637]  [<c0102ebc>] sysenter_do_call+0x12/0x28
Comment 1 Milan Bouchet-Valat 2009-06-19 07:20:12 UTC
Created attachment 26958 [details]
Batch buffer dump and logs
Comment 2 Gordon Jin 2009-06-23 19:35:26 UTC
seems similar to bug#22263.
Comment 3 ykzhao 2009-07-02 01:18:11 UTC
Created attachment 27322 [details] [review]
restore the modeset for every activated crtc

Will you please try the attached patch on the latest linus git tree and see whether the issue still exists after hibernation?

thanks.
Comment 4 Milan Bouchet-Valat 2009-07-02 07:47:55 UTC
Actually, the post-hibernation freeze seems to be gone with mainline kernel 2.6.31rc1+gc0d1117 (so without applying your patch), and latest driver update (still happens with suspend, though, but I'll follow the other bug).

I have a new problem with the mouse pointer not moving, which only occurs after hibernate, but the computer is just working fine except that - so I assume that's a separate issue.

Thanks for your work!
Comment 5 ykzhao 2009-07-02 20:36:32 UTC
thanks for your test.
From the test it seems that the system can work well on the latest linus git tree. Maybe it is fixed by the following commit from Jesse.
   >commit 9e06dd39f2b6d7e35981e0d7aded618686b32ccb
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
Date:   Mon Jun 22 18:05:12 2009 -0700

    drm/i915: correct suspend/resume ordering

Since the above commit is already shipped,  it will be ok to mark the bug as resolved.

Thanks.

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.