On (06/19/18 22:32), Steven Rostedt wrote:
> On Wed, 20 Jun 2018 10:58:34 +0900
> Sergey Senozhatsky wrote:
>
> > Which one of these you'd prefer to see in ftrace_dump():
> >
> > - printk_nmi_direct_enter() / printk_nmi_direct_exit()
>
> The above appears to be the most sane.
OK. The original
On Wed, 20 Jun 2018 10:58:34 +0900
Sergey Senozhatsky wrote:
> Which one of these you'd prefer to see in ftrace_dump():
>
> - printk_nmi_direct_enter() / printk_nmi_direct_exit()
The above appears to be the most sane.
-- Steve
> - printk_chatty_nmi_enter() / printk_chatty_nmi_exit()
> - print
On (06/19/18 09:23), Steven Rostedt wrote:
> > On (06/19/18 09:52), Petr Mladek wrote:
> > > On Mon 2018-06-18 19:07:18, Sergey Senozhatsky wrote:
> > > > On (06/18/18 11:39), Petr Mladek wrote:
> > > > [..]
> > > >
> > > > Hmm. Can't answer right now :)
> > >
> > > Please, let me know what n
On Tue, 19 Jun 2018 17:27:16 +0900
Sergey Senozhatsky wrote:
> On (06/19/18 09:52), Petr Mladek wrote:
> > On Mon 2018-06-18 19:07:18, Sergey Senozhatsky wrote:
> > > On (06/18/18 11:39), Petr Mladek wrote:
> > > [..]
> > >
> > > Hmm. Can't answer right now :)
> >
> > Please, let me know wh
On (06/19/18 09:52), Petr Mladek wrote:
> On Mon 2018-06-18 19:07:18, Sergey Senozhatsky wrote:
> > On (06/18/18 11:39), Petr Mladek wrote:
> > [..]
> >
> > Hmm. Can't answer right now :)
>
> Please, let me know what name you would like ;-)
:) Wow, it's hard. Maybe we can derive some bits from t
On Mon 2018-06-18 19:07:18, Sergey Senozhatsky wrote:
> On (06/18/18 11:39), Petr Mladek wrote:
> [..]
> > > > extern void printk_nmi_enter(void);
> > > > extern void printk_nmi_exit(void);
> > > > +extern void printk_nmi_direct_enter(void);
> > > > +extern void printk_nmi_direct_exit(void);
> >
On (06/18/18 11:39), Petr Mladek wrote:
[..]
> > > extern void printk_nmi_enter(void);
> > > extern void printk_nmi_exit(void);
> > > +extern void printk_nmi_direct_enter(void);
> > > +extern void printk_nmi_direct_exit(void);
> > > #else
> > > static inline void printk_nmi_enter(void) { }
> >
On Mon 2018-06-18 15:37:38, Sergey Senozhatsky wrote:
> On (06/08/18 12:48), Petr Mladek wrote:
> [..]
> > diff --git a/include/linux/printk.h b/include/linux/printk.h
> > index 6d7e800affd8..872fbdf8df26 100644
> > --- a/include/linux/printk.h
> > +++ b/include/linux/printk.h
> > @@ -148,9 +148,13
On (06/08/18 12:48), Petr Mladek wrote:
[..]
> diff --git a/include/linux/printk.h b/include/linux/printk.h
> index 6d7e800affd8..872fbdf8df26 100644
> --- a/include/linux/printk.h
> +++ b/include/linux/printk.h
> @@ -148,9 +148,13 @@ void early_printk(const char *s, ...) { }
> #ifdef CONFIG_PRINT
On Wed 2018-06-06 19:33:56, Sergey Senozhatsky wrote:
> On (06/06/18 14:10), Sergey Senozhatsky wrote:
> > On (06/05/18 14:47), Petr Mladek wrote:
> > [..]
> > > Grr, the ABBA deadlock is still there. NMIs are not sent to the other
> > > CPUs atomically. Even if we detect that logbuf_lock is availa
On (06/06/18 13:15), Petr Mladek wrote:
> On Wed 2018-06-06 14:10:29, Sergey Senozhatsky wrote:
> > On (06/05/18 14:47), Petr Mladek wrote:
> > [..]
> > > Grr, the ABBA deadlock is still there. NMIs are not sent to the other
> > > CPUs atomically. Even if we detect that logbuf_lock is available
> >
On Wed 2018-06-06 14:10:29, Sergey Senozhatsky wrote:
> On (06/05/18 14:47), Petr Mladek wrote:
> [..]
> > Grr, the ABBA deadlock is still there. NMIs are not sent to the other
> > CPUs atomically. Even if we detect that logbuf_lock is available
> > in printk_nmi_enter() on some CPUs, it might stil
On (06/06/18 14:10), Sergey Senozhatsky wrote:
> On (06/05/18 14:47), Petr Mladek wrote:
> [..]
> > Grr, the ABBA deadlock is still there. NMIs are not sent to the other
> > CPUs atomically. Even if we detect that logbuf_lock is available
> > in printk_nmi_enter() on some CPUs, it might still get l
On (06/05/18 14:47), Petr Mladek wrote:
[..]
> Grr, the ABBA deadlock is still there. NMIs are not sent to the other
> CPUs atomically. Even if we detect that logbuf_lock is available
> in printk_nmi_enter() on some CPUs, it might still get locked on
> another CPU before the other CPU gets NMI.
Ca
On Thu 2018-05-17 16:39:03, Petr Mladek wrote:
> The commit 719f6a7040f1bdaf96fcc ("printk: Use the main logbuf in NMI when
> logbuf_lock is available") tried to detect when logbuf_lock was taken
> on another CPU. Then it looked safe to wait for the lock even in NMI.
>
> It would be safe if other
On Wed 2018-05-23 11:01:07, Sergey Senozhatsky wrote:
> On (05/22/18 17:43), Steven Rostedt wrote:
> > > CPU0 CPU1CPU2
> > >
> > > printk()
> > > vprintk_emit()
> > > spin_lock(&logbuf_lock)
> > >
> > > trigg
On (05/22/18 17:43), Steven Rostedt wrote:
> > CPU0CPU1CPU2
> >
> > printk()
> > vprintk_emit()
> > spin_lock(&logbuf_lock)
> >
> > trigger_all_cpu_backtrace()
> >
On Thu, 17 May 2018 16:39:03 +0200
Petr Mladek wrote:
> The commit 719f6a7040f1bdaf96fcc ("printk: Use the main logbuf in NMI when
> logbuf_lock is available") tried to detect when logbuf_lock was taken
> on another CPU. Then it looked safe to wait for the lock even in NMI.
>
> It would be safe
On Fri 2018-05-18 15:38:20, Sergey Senozhatsky wrote:
> On (05/18/18 11:07), Sergey Senozhatsky wrote:
> >
> > if (this_cpu_read(printk_context) & PRINTK_SAFE_CONTEXT_MASK) ||
> > raw_spin_is_locked(&logbuf_lock)
> >
> > just to check per-CPU `printk_context' first and only afterwards
> > acc
On (05/18/18 11:07), Sergey Senozhatsky wrote:
>
> if (this_cpu_read(printk_context) & PRINTK_SAFE_CONTEXT_MASK) ||
> raw_spin_is_locked(&logbuf_lock)
>
> just to check per-CPU `printk_context' first and only afterwards
> access the global `logbuf_lock'. printk_nmi_enter() happens on
> ever
On (05/17/18 16:39), Petr Mladek wrote:
>
> CPU0 CPU1CPU2
>
> printk()
> vprintk_emit()
> spin_lock(&logbuf_lock)
>
> trigger_all_cpu_backtrace()
> raise()
>
The commit 719f6a7040f1bdaf96fcc ("printk: Use the main logbuf in NMI when
logbuf_lock is available") tried to detect when logbuf_lock was taken
on another CPU. Then it looked safe to wait for the lock even in NMI.
It would be safe if other locks were not involved. Ironically the same
commit intro
22 matches
Mail list logo