[PATCH V2] powerpc/powernv: Add a kmsg_dumper that flushes console output on panic

Russell Currey ruscur at russell.cc
Mon Nov 30 13:07:09 AEDT 2015


On Fri, 2015-11-27 at 18:21 +1100, Stewart Smith wrote:
> Russell Currey <ruscur at russell.cc> writes:
> > On Fri, 2015-11-27 at 16:40 +1100, Stewart Smith wrote:
> > > Russell Currey <ruscur at russell.cc> writes:
> > > > On BMC machines, console output is controlled by the OPAL firmware and
> > > > is
> > > > only flushed when its pollers are called.  When the kernel is in a
> > > > panic
> > > > state, it no longer calls these pollers and thus console output does
> > > > not
> > > > completely flush, causing some output from the panic to be lost.
> > > > 
> > > > This patch adds a new kmsg_dumper which gets called at panic time to
> > > > ensure
> > > > panic output is not lost.  It accomplishes this by calling
> > > > OPAL_CONSOLE_FLUSH
> > > > in the OPAL API, and if that is not available, the pollers are called
> > > > enough
> > > > times to (hopefully) completely flush the buffer.
> > > 
> > > You may want to add to commit message that this depends on:
> > > https://patchwork.ozlabs.org/patch/547379/
> > > 
> > It doesn't *depend* on it, it's just preferred.  It still works with older
> > Skiboot versions.  I will mention it in the actual commit message for the
> > next revision, though.
> 
> More meaning that it depends on that patch being merged before, say the
> PCI hotplug patches, which add a *different* OPAL call at the same ID -
> and that it depends on *this* patch with *this* API rather than a
> modified one being merged.
> 
> Otherwise, if, say, I merged some other new OPAL call into skiboot
> first, this patch would likely cause all sorts of trouble.
> 
> It's also a handy hint to Michael to ensure the skiboot side of things
> is merged and okay before merging kernel things in.
> 
That's a very good point I hadn't considered.  I'll make a note of it next
revision, especially given there are some additional changes required on the
Skiboot side of things.


More information about the Linuxppc-dev mailing list