[<prev] [next>] [day] [month] [year] [list]
Message-Id: <200805151643.56914.jbarnes@virtuousgeek.org>
Date: Thu, 15 May 2008 16:43:56 -0700
From: Jesse Barnes <jbarnes@...tuousgeek.org>
To: dri-devel@...ts.sf.net, linux-kernel@...r.kernel.org,
linux-fbdev-devel@...ts.sourceforge.net
Subject: [RFC] handling panic under X
The attached patches, which depend on kernel mode setting, will allow us to
see some kernel messages even if a panic occurs while X is running.
I think the approach is fairly sound (using a notifier to let mode setting
drivers switch the front buffer), but there are some details to be worked out
still:
- the console needs to be switched earlier on, probably in panic(), so we
don't lose messages (the current code will print stuff to VT8 until the
notifier gets called, so we lose the early stuff), but that should be easy
- abusing KD_TEXT for this purpose probably isn't right, I think we'll want
some smarts under KD_KERNEL_GRAPHICS for this (console layer hacking for
the above could be under a KD_KERNEL_GRAPHICS test)
- we definitely don't wait to wait on VT switch in the notifier, this means
more exporting of stuff from the console core and smarter handling
- the switch in the notifier should be more robust; we have some smarts in
the mode setting code to avoid a full mode reprogram, but we can
definitely be better about it so we don't rely on as much state being
preserved
Anyone have good thoughts on the above or approaches they think will work?
That said, it's pretty neat to insert a panic module, see the switch, then see
printks from the notifier...
One interesting side effect of running X in KD_TEXT mode is that messages
still get printed to the hidden fbcon, which means things like the root weave
paint run *really* slow if you're running the DRM modules in debug mode.
Jesse
View attachment "kd-text.patch" of type "text/x-diff" (640 bytes)
View attachment "fb-panic.patch" of type "text/x-diff" (1256 bytes)
View attachment "i915-panicfb.patch" of type "text/x-diff" (1637 bytes)
Powered by blists - more mailing lists