Bug 88381
Summary: | [945G] System hang, rendering errors. | ||
---|---|---|---|
Product: | Drivers | Reporter: | Jim (jimmcdevitt60) |
Component: | Video(DRI - Intel) | Assignee: | intel-gfx-bugs (intel-gfx-bugs) |
Status: | RESOLVED CODE_FIX | ||
Severity: | high | CC: | daniel, da_audiophile, intel-gfx-bugs, jimmcdevitt60 |
Priority: | P1 | ||
Hardware: | x86-64 | ||
OS: | Linux | ||
Kernel Version: | 3.18-rc5 (rc1 - rc5) | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Attachments: |
kernel .config file
88381.tar.7z dmesg and hw description [PATCH] drm/i915: Don't call intel_prepare_page_flip() multiple times on gen2-4 |
Description
Jim
2014-11-18 03:50:26 UTC
Can you please try to bisect where exactly this regression was introduced? Also please boot with drm.debug=0xe and then attach the complete dmesg so we know what hw exactly you have. Created attachment 158081 [details] 88381.tar.7z 3.18-rc1 is where the problem started as I get available time, I have been working to narrow down to the specific commit, but there was a bit of activity on that release. I also included info on the motherboard. Bin it if you want. What else did you want? "Sorry,forgot, if you look" was cut off On Tuesday, November 18, 2014, <bugzilla-daemon@bugzilla.kernel.org> wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=88381 > > Daniel Vetter <daniel@ffwll.ch> changed: > > What |Removed |Added > ---------------------------------------------------------------------------- M> Status|NEW |NEEDINFO > CC| |daniel@ffwll.ch > > --- Comment #1 from Daniel Vetter <daniel@ffwll.ch> --- > Can you please try to bisect where exactly this regression was introduced? > > Also please boot with drm.debug=0xe and then attach the complete dmesg so we > know what hw exactly you have. > > -- > You are receiving this mail because: > You are on the CC list for the bug. > You reported the bug. >Sorry,forgot, if you look Created attachment 158091 [details]
dmesg and hw description
My email got lost in Globe. I'll post here just to be sure.
3.18-rc1 is where the problem started as I get available time, I have
been working to narrow down to the specific commit, but there was a
bit of activity on that release.
I also included info on the motherboard. Bin it if you want.
What else did you want? "Sorry,forgot, if you look" was cut off
Yeah I think we need the bisect, no clues from the logs. Comment from Malcolm: > > I also have the same hang on playing videos or graphic operations. > > use_mmio_flip=1 makes no difference > > I have bisected it to > d6bbafa183793537d8dca4d4c2e448805e59448a > drm/i915: Check for a stalled page flip after each vblank > and > 9c787942907face82da505c2c5493998b56cfc5a > drm/i915: Decouple the stuck pageflip on modeset > > Reverting these commits restores trouble free operation. > > The trouble starts in i915_handle_vblank, I am just reverting just the > changes > made to this function for now. As Malcolm pointed out to me, I reversed those just in case I'm really missing something, all to no avail. I'll shoot for Sunday for the bisection. Bisect in early - promised son Sunday. I am now fairly befuddled. I did this process on three machines. On the twin of this motherboard, a student did the bisection manually. On the machine I reported I wrote a script to try all possible combinations of what was pushed in rc1. When I came back to check, result was inconclusive. So. I looked a little more closely to the patch Malcolm suggested (by itself, it didn't solve my problem.) Maybe my machines have different timings and maybe rc1 just exposed what was there all along. I then re-applied Malcolms' patch and re-ran my script. What it spit out was commit f0d3dad3. Lo and behold no more problem. The patch description: Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Sun Sep 7 16:51:12 2014 +0100 drm/i915: Wrap -EIO send-vblank event for failed pageflip in spinlock drm_send_vblank_event() demands that we hold the event spinlock whilst calling it, so do so. Looking at the code tells me this can't be the problem. I then extracted a fresh archive of rc1 and rc5 applied Malcolms' patch and reversed f0d3dad3. I rebuilt the entire kernel for both rc1 and rc5. No problems. If i do not revert f0d3dad3, I have the problem again. I installed the new rc1 kernel and also tried the rc5 kernel. Both were fine. I ran piglit and no problems except the the tests that always fail. So now, all 3 machines are happy. All I want now is for somebody to explain to me WHY. Thank you Malcolm for pointing me in the right direction. Just an update - 3.18-rc6 same story. Problem occurs with no patches installed, with just Malcoms' patch only, and with only commit f0d3dad3 reversed. Trouble free with Malcolms' patch and commit f0d3dad3 reversed. Looks like I should educate myself a bit more - some of the code I see is very hard to follow and sometimes I wonder what in the hell was that? I'm an old microcoder and OS hacker; I never really had to get too involved with the graphics side of it. Regards Created attachment 160761 [details]
[PATCH] drm/i915: Don't call intel_prepare_page_flip() multiple times on gen2-4
I ran into similar problems on my 830 when frobbing around with the vblank code. I belieeve this patch should help. Please test.
Fixed by commit 7d47559ee84b3ac206aa9e675606fafcd7c0b500 Author: Ville Syrjälä <ville.syrjala@linux.intel.com> Date: Wed Dec 17 23:08:03 2014 +0200 drm/i915: Don't call intel_prepare_page_flip() multiple times on gen2-4 in drm-intel-next-fixes. Thanks for the report. *** Bug 91221 has been marked as a duplicate of this bug. *** |