lkml.org 
[lkml]   [2020]   [Aug]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [RFC 0/5] Introduce NMI aware serial drivers
    Hi Greg,

    Thanks for your comments.

    On Tue, 11 Aug 2020 at 19:27, Greg Kroah-Hartman
    <gregkh@linuxfoundation.org> wrote:
    >
    > On Tue, Aug 11, 2020 at 07:20:26PM +0530, Sumit Garg wrote:
    > > On Tue, 21 Jul 2020 at 17:40, Sumit Garg <sumit.garg@linaro.org> wrote:
    > > >
    > > > Make it possible for UARTs to trigger magic sysrq from an NMI. With the
    > > > advent of pseudo NMIs on arm64 it became quite generic to request serial
    > > > device interrupt as an NMI rather than IRQ. And having NMI driven serial
    > > > RX will allow us to trigger magic sysrq as an NMI and hence drop into
    > > > kernel debugger in NMI context.
    > > >
    > > > The major use-case is to add NMI debugging capabilities to the kernel
    > > > in order to debug scenarios such as:
    > > > - Primary CPU is stuck in deadlock with interrupts disabled and hence
    > > > doesn't honor serial device interrupt. So having magic sysrq triggered
    > > > as an NMI is helpful for debugging.
    > > > - Always enabled NMI based magic sysrq irrespective of whether the serial
    > > > TTY port is active or not.
    > > >
    > > > Currently there is an existing kgdb NMI serial driver which provides
    > > > partial implementation in upstream to have a separate ttyNMI0 port but
    > > > that remained in silos with the serial core/drivers which made it a bit
    > > > odd to enable using serial device interrupt and hence remained unused. It
    > > > seems to be clearly intended to avoid almost all custom NMI changes to
    > > > the UART driver.
    > > >
    > > > But this patch-set allows the serial core/drivers to be NMI aware which
    > > > in turn provides NMI debugging capabilities via magic sysrq and hence
    > > > there is no specific reason to keep this special driver. So remove it
    > > > instead.
    > > >
    > > > Approach:
    > > > ---------
    > > >
    > > > The overall idea is to intercept serial RX characters in NMI context, if
    > > > those are specific to magic sysrq then allow corresponding handler to run
    > > > in NMI context. Otherwise, defer all other RX and TX operations onto IRQ
    > > > work queue in order to run those in normal interrupt context.
    > > >
    > > > This approach is demonstrated using amba-pl011 driver.
    > > >
    > > > Patch-wise description:
    > > > -----------------------
    > > >
    > > > Patch #1 prepares magic sysrq handler to be NMI aware.
    > > > Patch #2 adds NMI framework to serial core.
    > > > Patch #3 and #4 demonstrates NMI aware uart port using amba-pl011 driver.
    > > > Patch #5 removes kgdb NMI serial driver.
    > > >
    > > > Goal of this RFC:
    > > > -----------------
    > > >
    > > > My main reason for sharing this as an RFC is to help decide whether or
    > > > not to continue with this approach. The next step for me would to port
    > > > the work to a system with an 8250 UART.
    > > >
    > >
    > > A gentle reminder to seek feedback on this series.
    >
    > It's the middle of the merge window, and I can't do anything.
    >
    > Also, I almost never review RFC patches as I have have way too many
    > patches that people think are "right" to review first...
    >

    Okay, I understand and I can definitely wait for your feedback.

    > I suggest you work to flesh this out first and submit something that you
    > feels works properly.
    >

    IIUC, in order to make this approach substantial I need to make it
    work with 8250 UART (major serial driver), correct? As currently it
    works properly for amba-pl011 driver.

    > good luck!
    >

    Thanks.

    -Sumit

    > greg k-h

    \
     
     \ /
      Last update: 2020-08-11 16:31    [W:5.444 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site