Re: [Intel-gfx] Regression of v4.6-rc vs. v4.5 bisected: a98ee79317b4 "drm/i915/fbc: enable FBC by default on HSW and BDW"

From: Daniel Vetter
Date: Thu May 05 2016 - 15:59:09 EST


On Thu, May 05, 2016 at 06:50:14PM +0000, Zanoni, Paulo R wrote:
> Em Qui, 2016-05-05 às 19:45 +0200, Stefan Richter escreveu:
> > On Apr 30 Stefan Richter wrote:
> > >
> > > On Apr 29 Stefan Richter wrote:
> > > >
> > > > On Apr 26 Stefan Richter wrote:  
> > > > >
> > > > > v4.6-rc solidly hangs after a short while after boot, login to
> > > > > X11, and
> > > > > doing nothing much remarkable on the just brought up X desktop.
> > > > >
> > > > > Hardware: x86-64, E3-1245 v3 (Haswell),
> > > > >           mainboard Supermicro X10SAE,
> > > > >           using integrated Intel graphics (HD P4600, i915
> > > > > driver),
> > > > >           C226 PCH's AHCI and USB 2/3, ASMedia ASM1062 AHCI,
> > > > >           Intel LAN (i217, igb driver),
> > > > >           several IEEE 1394 controllers, some of them behind
> > > > >           PCIe bridges (IDT, PLX) or PCIe-to-PCI bridges (TI,
> > > > > Tundra)
> > > > >           and one PCI-to-CardBus bridge (Ricoh)
> > > > >
> > > > > kernel.org kernel, Gentoo Linux userland
> > > > >
> > > > > 1. known good:  v4.5-rc5 (gcc 4.9.3)
> > > > >    known bad:   v4.6-rc2 (gcc 4.9.3), only tried one time
> > > > >
> > > > > 2. known good:  v4.5.2 (gcc 5.2.0)
> > > > >    known bad:   v4.6-rc5 (gcc 5.2.0), only tried one time
> > > > >
> > > > > I will send my linux-4.6-rc5/.config in a follow-up message.  
> > >  .config: http://www.spinics.net/lists/kernel/msg2243444.html
> > >    lspci: http://www.spinics.net/lists/kernel/msg2243447.html
> > >
> > > Some userland package versions, in case these have any bearing:
> > > x11-base/xorg-drivers-1.17
> > > x11-base/xorg-server-1.17.4
> > > x11-bas/xorg-x11-7.4-r2
> > Furthermore, there is a single display hooked up via DisplayPort.
> >
> > >
> > > >
> > > > After it proved impossible to capture an oops through netconsole,
> > > > I
> > > > started git bisect.  This will apparently take almost a week, as
> > > > git
> > > > estimated 13 bisection steps and I will be allowing about 12
> > > > hours of
> > > > uptime as a sign for a good kernel.  (In my four or five tests of
> > > > bad
> > > > kernels before I started bisection, they hung after 3
> > > > minutes...5.5 hours
> > > > uptime, with no discernible difference in workload.  Maybe 12 h
> > > > cutoff is
> > > > even too short...)  
> > I took at least 18 hours uptime (usually 24 hours) as a sign for good
> > kernels.  During the bisection, bad kernels hung after 3 h, 2 h, 9
> > min,
> > 45 min, and 4 min uptime.  Thus I arrived at a98ee79317b4
> > "drm/i915/fbc:
> > enable FBC by default on HSW and BDW" as the point where the hangs
> > are
> > introduced.
> >
> > Quoting the changelog of the commit:
>
> Thanks for following the instructions on the commit message! :)
>
> >
> >     Oh, and in case you - the person reading this commit message -
> > found
> >     this commit through git bisect, please do the following:
> >      - Check your dmesg and see if there are error messages
> > mentioning
> >        underruns around the time your problem started happening.
> >
> > Well, I always had the followings lines in dmesg:
> > [drm:intel_set_cpu_fifo_underrun_reporting] *ERROR* uncleared fifo
> > underrun on pipe A
> > [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU pipe A FIFO
> > underrun
>
> Oh, well... I had a patch that would just disable FBC in case we saw a
> FIFO underrun, but it was rejected. Maybe this is the time to think
> about it again? Otherwise, I can't think of much besides disabling FBC
> on HSW until all the underruns and watermarks regressions are fixed
> forever.

Hm, if it's watermarks then testing with latest drm-intel-nightly would be
interesting. We finally managed to land atomic watermark updates (should
all be there in 4.7 too):

https://cgit.freedesktop.org/drm-intel

Cheers, Daniel

>
> >
> > I always got these when I switch on the DisplayPort attached monitor.
> > Recently I changed userland from kdm to sddm and noticed that I
> > apparently get these when sddm shuts down.  I am not aware of whether
> > or not this also already happened with kdm.
> >
> > However, "around the time your problem started happening" there is
> > nothing in dmesg, because "your problem" is a complete hang without
> > possibility of disk IO and without netconsole output.
> >
> >      - Download intel-gpu-tools, compile it, and run:
> >        $ sudo ./tests/kms_frontbuffer_tracking --run-subtest '*fbc-*'
> > 2>&1 | tee fbc.txt
> >        Then send us the fbc.txt file, especially if you get a
> > failure.
> >        This will really maximize your chances of getting the bug
> > fixed
> >        quickly.
> >
> > Do you need this while FBC is enabled, or can I run it while FBC is
> > disabled?
>
> FBC enabled. Considering your description, my hope is that maybe some
> specific subtest will be able to hang your machine, so testing this
> again will require only running the specific subtest instead of waiting
> 18 hours.
>
> >
> >      - Try to find a reliable way to reproduce the problem, and tell
> > us.
> >
> > The reliable way is to just wait for the kernel to hang after about
> > 3 minutes to 5.5 hours.  I have not identified any special activity
> > which would trigger the hang.
> >
> >      - Boot with drm.debug=0xe, reproduce the problem, then send us
> > the
> >        dmesg file.
> >
> > I can try this, but I am skeptical about getting any useful kernel
> > messages from before the hang.
>
> Agree.
>
> >
> > PS:
> > I am mentioning the following just in case that it has any
> > relationship
> > with the FBC related kernel freezes.  Maybe it doesn't...  There is
> > another recent regression on this PC, but I have not yet figured out
> > whether it was introduced by any particular kernel version.  The
> > regression is:  When switching from X11 to text console by
> > [Ctrl][Alt][Fx]
> > or by shutting down sddm, I often only get a blank screen.  I suspect
> > that this regression was introduced when I replaced kdm by sddm, but
> > I am not sure about that.
>
> Maybe there is some relationship, since this operation involves a mode
> change. You can also try checking dmesg to see if there are underruns
> right when you do the change.
>
>
> If you don't want to keep carrying a manual revert, you can just boot
> with i915.enable_fbc=0 for now (or write a /etc/modprobe.d file). Also,
> it would be good to know in case you still somehow see the machine
> hangs even with FBC disabled.
>
> Thanks,
> Paulo
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch