On (12/09/16 17:46), Petr Mladek wrote: > > -/* > > - * Safe printk() for NMI context. It uses a per-CPU buffer to > > - * store the message. NMIs are not nested, so there is always only > > - * one writer running. But the buffer might get flushed from another > > - * CPU, so we need to be careful. > > - */ > > We should keep/create a good description here because the function > has a non-trivial code. What about something like? >
which is really not related to this patch set. > > * Make sure that all old data have been read before the buffer was > > @@ -261,14 +263,95 @@ void printk_safe_flush_on_panic(void) > > printk_safe_flush(); > > } > > > > +#ifdef CONFIG_PRINTK_NMI > > +/* > > + * Safe printk() for NMI context. It uses a per-CPU buffer to > > + * store the message. NMIs are not nested, so there is always only > > + * one writer running. But the buffer might get flushed from another > > + * CPU, so we need to be careful. > > + */ > > Hmm, I wanted to describe why we need another per-CPU buffer in NMI > and I am not sure that we really need it. NMI-printk can interrupt safe-printk's vsnprintf() in the middle of the "while (*fmt)" loop: safe-priNMI-PRINTK -ss