Date: Fri, 21 Sep 2012 10:52:39 -0700 From: Kevin Oberman <kob6558@gmail.com> To: Konstantin Belousov <kostikbel@gmail.com> Cc: Andrey Kosachenko <andrey.kosachenko@gmail.com>, freebsd-x11@freebsd.org Subject: Re: intel GPU hangs Message-ID: <CAN6yY1sXxSmDVOHttscu2NStN-QMXw8CP1EpTOdZ_kkwTrBaiQ@mail.gmail.com> In-Reply-To: <20120612110704.GM2337@deviant.kiev.zoral.com.ua> References: <4E8DF3F9.3090201@gmail.com> <20111006184623.GS1511@deviant.kiev.zoral.com.ua> <4E8E02E8.9000402@gmail.com> <4FD63519.1090507@gmail.com> <20120612110704.GM2337@deviant.kiev.zoral.com.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jun 12, 2012 at 4:07 AM, Konstantin Belousov <kostikbel@gmail.com> wrote: > On Mon, Jun 11, 2012 at 09:12:41PM +0300, Andrey Kosachenko wrote: >> I'd like to revive this topic. >> (It was started pretty much ago >> http://lists.freebsd.org/pipermail/freebsd-x11/2011-October/011210.html) >> >> Briefly: >> I've experienced sporadic GPU hangs (using 10-Current and trying >> different kms patches starting from the very beginning up to the latest >> all.15.*.patch). It has happened on my "workhorse" ThinkPad T410 (intel >> integrated graphics, chipset "Arrandale"). GPU hungs were not tied to >> usage of heavy 3D apps or whatever. Indeed I've never managed to >> identify what was wrong and I don't remember that smb. reported the >> same. Moreover somewhere around all.12.x.patch issue occurrence >> decreased almost to zero (once or twice per month) and so I abandoned to >> report it (recompiled kernel w/o debug stuff and forgot about it). >> >> Several weeks ago I had to use software for my private needs that is not >> working under BSD (I'm talking about Google Sketchup actually, free >> software (basic version) that allows to make 3D sketches easily). So I >> employed a VM for this (VirtualBox). So far so good. But as the >> complexity of models grew I started to catch more GPU hangups. It made >> me crazy. At last point it was enough to load model + perform 2-3 >> rotates and GPU reliably hanged >> --- smth. like below was in dmesg output >> [drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung >> --- > This part of the report is meaningless, since almost all GPU problems > are reported as hung GPU with hangcheck timer report. The real information > about problem should be obtained after the hang. The procedure is > described on Intel_GPU wiki page. > >> >> I googled for a while and found several pretty similar reports in linux >> world. They experienced the same issue with SandyBridge hardware. I >> tried various patches (at least those I could apply) and it appeared >> that the following patch eliminates GPU hangs in my case: >> >> >> Index: sys/dev/drm2/i915/i915_irq.c >> =================================================================== >> --- sys/dev/drm2/i915/i915_irq.c (revision 236796) >> +++ sys/dev/drm2/i915/i915_irq.c (working copy) >> @@ -1524,7 +1524,19 @@ >> dev->dev_private); >> >> I915_WRITE(HWSTAM, 0xeffe); >> + if (IS_GEN6(dev)) { >> + /* Workaround stalls observed on Sandy Bridge GPUs by >> + * making the blitter command streamer generate a >> + * write to the Hardware Status Page for >> + * MI_USER_INTERRUPT. This appears to serialize the >> + * previous seqno write out before the interrupt >> + * happens. >> + */ >> + I915_WRITE(GEN6_BLITTER_HWSTAM, >> ~GEN6_BLITTER_USER_INTERRUPT); >> + I915_WRITE(GEN6_BSD_HWSTAM, ~GEN6_BSD_USER_INTERRUPT); >> + } >> >> + >> /* XXX hotplug from PCH */ >> >> I915_WRITE(DEIMR, 0xffffffff); > I remember this workaround and its removal. I am not in the position to > actually have access to any erratas to the chip. I think the only route > forward there is to try to reproduce your hang on recent Linux kernel > with same version of usermode and then ask on intel-gfx@. FWIW, I have a T520 (Sandybridge) and I also run Google (now Trimble) Sketch in a VirtualBox VM. I have yet to see any hangs of the GPU on my system which is running 9-Stable which I update every couple of weeks and built WITH_NEW_XORG and WITH_KMS. Just a data point. -- R. Kevin Oberman, Network Engineer E-mail: kob6558@gmail.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAN6yY1sXxSmDVOHttscu2NStN-QMXw8CP1EpTOdZ_kkwTrBaiQ>