Re: [PATCH 2/2] printk: wake up klogd in vprintk_emit

2018-04-19 Thread Petr Mladek
On Thu 2018-04-19 10:23:11, Sergey Senozhatsky wrote: > On (04/18/18 16:04), Petr Mladek wrote: > [..] > > > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c > > > index 2f4af216bd6e..86f0b337cbf6 100644 > > > --- a/kernel/printk/printk.c > > > +++ b/kernel/printk/printk.c > > > @@

Re: [PATCH 2/2] printk: wake up klogd in vprintk_emit

2018-04-19 Thread Petr Mladek
On Thu 2018-04-19 10:23:11, Sergey Senozhatsky wrote: > On (04/18/18 16:04), Petr Mladek wrote: > [..] > > > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c > > > index 2f4af216bd6e..86f0b337cbf6 100644 > > > --- a/kernel/printk/printk.c > > > +++ b/kernel/printk/printk.c > > > @@

Re: [PATCH 2/2] printk: wake up klogd in vprintk_emit

2018-04-18 Thread Sergey Senozhatsky
On (04/18/18 16:04), Petr Mladek wrote: [..] > > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c > > index 2f4af216bd6e..86f0b337cbf6 100644 > > --- a/kernel/printk/printk.c > > +++ b/kernel/printk/printk.c > > @@ -1888,6 +1888,7 @@ asmlinkage int vprintk_emit(int facility, int level,

Re: [PATCH 2/2] printk: wake up klogd in vprintk_emit

2018-04-18 Thread Sergey Senozhatsky
On (04/18/18 16:04), Petr Mladek wrote: [..] > > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c > > index 2f4af216bd6e..86f0b337cbf6 100644 > > --- a/kernel/printk/printk.c > > +++ b/kernel/printk/printk.c > > @@ -1888,6 +1888,7 @@ asmlinkage int vprintk_emit(int facility, int level,

Re: [PATCH 2/2] printk: wake up klogd in vprintk_emit

2018-04-18 Thread Sergey Senozhatsky
On (04/18/18 11:10), Steven Rostedt wrote: > > > > Calling wake_up_klogd() will grab the rq lock and give us a A-B<->B-A > > > locking order. > > > > wake_up_klogd() uses the lockless irq_work_queue(). So it is actually > > safe. > > I didn't look at the code. OK then we don't need to worry

Re: [PATCH 2/2] printk: wake up klogd in vprintk_emit

2018-04-18 Thread Sergey Senozhatsky
On (04/18/18 11:10), Steven Rostedt wrote: > > > > Calling wake_up_klogd() will grab the rq lock and give us a A-B<->B-A > > > locking order. > > > > wake_up_klogd() uses the lockless irq_work_queue(). So it is actually > > safe. > > I didn't look at the code. OK then we don't need to worry

Re: [PATCH 2/2] printk: wake up klogd in vprintk_emit

2018-04-18 Thread Steven Rostedt
On Wed, 18 Apr 2018 17:02:14 +0200 Petr Mladek wrote: > > Calling wake_up_klogd() will grab the rq lock and give us a A-B<->B-A > > locking order. > > wake_up_klogd() uses the lockless irq_work_queue(). So it is actually > safe. I didn't look at the code. OK then we don't

Re: [PATCH 2/2] printk: wake up klogd in vprintk_emit

2018-04-18 Thread Steven Rostedt
On Wed, 18 Apr 2018 17:02:14 +0200 Petr Mladek wrote: > > Calling wake_up_klogd() will grab the rq lock and give us a A-B<->B-A > > locking order. > > wake_up_klogd() uses the lockless irq_work_queue(). So it is actually > safe. I didn't look at the code. OK then we don't need to worry about

Re: [PATCH 2/2] printk: wake up klogd in vprintk_emit

2018-04-18 Thread Petr Mladek
On Wed 2018-04-18 10:29:43, Steven Rostedt wrote: > On Sat, 14 Apr 2018 12:01:45 +0900 > Sergey Senozhatsky wrote: > > > --- a/kernel/printk/printk.c > > +++ b/kernel/printk/printk.c > > @@ -1888,6 +1888,7 @@ asmlinkage int vprintk_emit(int facility, int level, > >

Re: [PATCH 2/2] printk: wake up klogd in vprintk_emit

2018-04-18 Thread Petr Mladek
On Wed 2018-04-18 10:29:43, Steven Rostedt wrote: > On Sat, 14 Apr 2018 12:01:45 +0900 > Sergey Senozhatsky wrote: > > > --- a/kernel/printk/printk.c > > +++ b/kernel/printk/printk.c > > @@ -1888,6 +1888,7 @@ asmlinkage int vprintk_emit(int facility, int level, > > > > printed_len =

Re: [PATCH 2/2] printk: wake up klogd in vprintk_emit

2018-04-18 Thread Steven Rostedt
On Sat, 14 Apr 2018 12:01:45 +0900 Sergey Senozhatsky wrote: > --- a/kernel/printk/printk.c > +++ b/kernel/printk/printk.c > @@ -1888,6 +1888,7 @@ asmlinkage int vprintk_emit(int facility, int level, > > printed_len = log_output(facility, level, lflags,

Re: [PATCH 2/2] printk: wake up klogd in vprintk_emit

2018-04-18 Thread Steven Rostedt
On Sat, 14 Apr 2018 12:01:45 +0900 Sergey Senozhatsky wrote: > --- a/kernel/printk/printk.c > +++ b/kernel/printk/printk.c > @@ -1888,6 +1888,7 @@ asmlinkage int vprintk_emit(int facility, int level, > > printed_len = log_output(facility, level, lflags, dict, dictlen, text, > text_len);

Re: [PATCH 2/2] printk: wake up klogd in vprintk_emit

2018-04-18 Thread Petr Mladek
On Sat 2018-04-14 12:01:45, Sergey Senozhatsky wrote: > We wake up klogd very late - only when current console_sem owner > is done pushing pending kernel messages to the serial/net consoles. > In some cases this results in lost syslog messages, because kernel > log buffer is a circular buffer and

Re: [PATCH 2/2] printk: wake up klogd in vprintk_emit

2018-04-18 Thread Petr Mladek
On Sat 2018-04-14 12:01:45, Sergey Senozhatsky wrote: > We wake up klogd very late - only when current console_sem owner > is done pushing pending kernel messages to the serial/net consoles. > In some cases this results in lost syslog messages, because kernel > log buffer is a circular buffer and

[PATCH 2/2] printk: wake up klogd in vprintk_emit

2018-04-13 Thread Sergey Senozhatsky
We wake up klogd very late - only when current console_sem owner is done pushing pending kernel messages to the serial/net consoles. In some cases this results in lost syslog messages, because kernel log buffer is a circular buffer and if we don't wakeup syslog long enough there are chances that

[PATCH 2/2] printk: wake up klogd in vprintk_emit

2018-04-13 Thread Sergey Senozhatsky
We wake up klogd very late - only when current console_sem owner is done pushing pending kernel messages to the serial/net consoles. In some cases this results in lost syslog messages, because kernel log buffer is a circular buffer and if we don't wakeup syslog long enough there are chances that