Message ID | 1500039693.5763.15.camel@gmx.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Yeah, we shouldn't let the machine die. Are there more WARN_ON_ONCE usage we could convert to WARN_ONCE? Reviewed-By: Karol Herbst <karolherbst@gmail.com> On Fri, Jul 14, 2017 at 5:05 PM, Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de> wrote: > On 7/14/17 3:41 PM, Mike Galbraith wrote: >> >> On Fri, 2017-07-14 at 15:36 +0200, Mike Galbraith wrote: >>> >>> All DRM did was to slip a >>> WARN_ON_ONCE() that nouveau triggers into a kernel module where such >>> things no longer warn, they blow the box out of the water. >> >> BTW, turn that irksome WARN_ON_ONCE() in drivers/gpu/drm/drm_vblank.c >> into a WARN_ONCE(), and all is peachy, you get the warning, box lives. >> >> --- >> drivers/gpu/drm/drm_vblank.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> --- a/drivers/gpu/drm/drm_vblank.c >> +++ b/drivers/gpu/drm/drm_vblank.c >> @@ -605,7 +605,8 @@ bool drm_calc_vbltimestamp_from_scanoutp >> */ >> if (mode->crtc_clock == 0) { >> DRM_DEBUG("crtc %u: Noop due to uninitialized mode.\n", >> pipe); >> - WARN_ON_ONCE(drm_drv_uses_atomic_modeset(dev)); >> + WARN_ONCE(drm_drv_uses_atomic_modeset(dev), "%s: report >> me.\n", >> + dev->driver->name); >> return false; >> } > > > > Hey, > > confirmed this helps saving the box, but we still have to find the root > cause! Backtrace with the above fix applied (and the one which came in with > the latest drm-fixes merge)! > > > [1] https://hastebin.com/uyoqifijed.http > > Thanks, > > Tobias >Reviewed-By: Karol Herbst <karolherbst@gmail.com> > _______________________________________________ > Nouveau mailing list > Nouveau@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/nouveau
On Fri, 2017-07-14 at 17:05 +0200, Tobias Klausmann wrote: > On 7/14/17 3:41 PM, Mike Galbraith wrote: > > On Fri, 2017-07-14 at 15:36 +0200, Mike Galbraith wrote: > >> All DRM did was to slip a > >> WARN_ON_ONCE() that nouveau triggers into a kernel module where such > >> things no longer warn, they blow the box out of the water. > > BTW, turn that irksome WARN_ON_ONCE() in drivers/gpu/drm/drm_vblank.c > > into a WARN_ONCE(), and all is peachy, you get the warning, box lives. > > > > --- > > drivers/gpu/drm/drm_vblank.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > --- a/drivers/gpu/drm/drm_vblank.c > > +++ b/drivers/gpu/drm/drm_vblank.c > > @@ -605,7 +605,8 @@ bool drm_calc_vbltimestamp_from_scanoutp > > */ > > if (mode->crtc_clock == 0) { > > DRM_DEBUG("crtc %u: Noop due to uninitialized mode.\n", pipe); > > - WARN_ON_ONCE(drm_drv_uses_atomic_modeset(dev)); > > + WARN_ONCE(drm_drv_uses_atomic_modeset(dev), "%s: report me.\n", > > + dev->driver->name); > > > > return false; > > } > > > Hey, > > confirmed this helps saving the box, but we still have to find the root > cause! Backtrace with the above fix applied (and the one which came in > with the latest drm-fixes merge)! Yeah, I'll be reporting some extra whining from my 8600 GT backup box. -Mike
On Fri, 2017-07-14 at 17:10 +0200, Karol Herbst wrote: > Yeah, we shouldn't let the machine die. Are there more WARN_ON_ONCE > usage we could convert to WARN_ONCE? Shooting the messenger is generally considered uncool :) -Mike
The conversion is a nice catch, but i'd like to have a bit more context, see below! With a better description: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de> On 7/14/17 5:10 PM, Karol Herbst wrote: > Yeah, we shouldn't let the machine die. Are there more WARN_ON_ONCE > usage we could convert to WARN_ONCE? > > Reviewed-By: Karol Herbst <karolherbst@gmail.com> > > On Fri, Jul 14, 2017 at 5:05 PM, Tobias Klausmann > <tobias.johannes.klausmann@mni.thm.de> wrote: >> On 7/14/17 3:41 PM, Mike Galbraith wrote: >>> On Fri, 2017-07-14 at 15:36 +0200, Mike Galbraith wrote: >>>> All DRM did was to slip a >>>> WARN_ON_ONCE() that nouveau triggers into a kernel module where such >>>> things no longer warn, they blow the box out of the water. >>> BTW, turn that irksome WARN_ON_ONCE() in drivers/gpu/drm/drm_vblank.c >>> into a WARN_ONCE(), and all is peachy, you get the warning, box lives. >>> >>> --- >>> drivers/gpu/drm/drm_vblank.c | 3 ++- >>> 1 file changed, 2 insertions(+), 1 deletion(-) >>> >>> --- a/drivers/gpu/drm/drm_vblank.c >>> +++ b/drivers/gpu/drm/drm_vblank.c >>> @@ -605,7 +605,8 @@ bool drm_calc_vbltimestamp_from_scanoutp >>> */ >>> if (mode->crtc_clock == 0) { >>> DRM_DEBUG("crtc %u: Noop due to uninitialized mode.\n", >>> pipe); >>> - WARN_ON_ONCE(drm_drv_uses_atomic_modeset(dev)); >>> + WARN_ONCE(drm_drv_uses_atomic_modeset(dev), "%s: report >>> me.\n", "report me" seems a bit odd, maybe just uninitialized mode? >>> + dev->driver->name); >>> return false; >>> } >> >> >> Hey, >> >> confirmed this helps saving the box, but we still have to find the root >> cause! Backtrace with the above fix applied (and the one which came in with >> the latest drm-fixes merge)! >> >> >> [1] https://hastebin.com/uyoqifijed.http >> >> Thanks, >> >> Tobias >> Reviewed-By: Karol Herbst <karolherbst@gmail.com> >> _______________________________________________ >> Nouveau mailing list >> Nouveau@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/nouveau
--- a/drivers/gpu/drm/drm_vblank.c +++ b/drivers/gpu/drm/drm_vblank.c @@ -605,7 +605,8 @@ bool drm_calc_vbltimestamp_from_scanoutp */ if (mode->crtc_clock == 0) { DRM_DEBUG("crtc %u: Noop due to uninitialized mode.\n", pipe); - WARN_ON_ONCE(drm_drv_uses_atomic_modeset(dev)); + WARN_ONCE(drm_drv_uses_atomic_modeset(dev), "%s: report me.\n", + dev->driver->name); return false; }