From: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
To: Jan Kara <jack@suse.cz>
Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
Jan Kara <jack@suse.com>, Petr Mladek <pmladek@suse.com>,
Tejun Heo <tj@kernel.org>,
Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>,
linux-kernel@vger.kernel.org,
Byungchul Park <byungchul.park@lge.com>,
Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
Subject: Re: [RFC][PATCH v6 0/2] printk: Make printk() completely async
Date: Tue, 22 Mar 2016 16:57:38 +0900 [thread overview]
Message-ID: <20160322075738.GC1759@swordfish> (raw)
In-Reply-To: <20160322064948.GA4459@quack.suse.cz>
Hello Jan,
On (03/22/16 07:49), Jan Kara wrote:
> Hi,
>
> On Tue 22-03-16 02:25:28, Sergey Senozhatsky wrote:
> > The patch set is based on slightly updated Jan Kara's patches.
> >
> > This patch set makes printk() completely asynchronous: new messages
> > are getting upended to the kernel printk buffer, but instead of 'direct'
> > printing the actual print job is performed by a dedicated kthread.
> > This has the advantage that printing always happens from a schedulable
> > context and thus we don't lockup any particular CPU or even interrupts.
> >
> > The patch set is against next-20160321
> >
> > the series in total has 3 patches:
> > - printk: Make printk() completely async
> > - printk: Make wake_up_klogd_work_func() async
> > - printk: make console_unlock() async
> >
> > per discussion, "printk: make console_unlock() async" will be posted
> > later on.
>
> Patches look good to me. I don't think you need to mention the
> console_unlock() async patch when it is not part of the series.
thanks.
> BTW, you seemed to have dropped my patch to skip if there are too
> many buffered messages when oops is in progress. Any reason for that?
I did. seems that my box has some problems with emails delivery recently:
http://marc.info/?l=linux-kernel&m=145821214108806
in short,
I'm afraid we can lose valuable data in some cases.
for example
: hardlockup detector with sysctl_hardlockup_all_cpu_backtrace.
:
: static void watchdog_overflow_callback(...)
: {
: ...
: if (is_hardlockup()) {
: ...
: if (sysctl_hardlockup_all_cpu_backtrace &&
: !test_and_set_bit(0, &hardlockup_allcpu_dumped))
: trigger_allbutself_cpu_backtrace();
:
: nmi_panic(regs, msg);
: ...
: }
: ...
: }
:
: trigger_allbutself_cpu_backtrace() can be much more than 100 lines.
: trigger_allbutself_cpu_backtrace() may or may not be implemented via
: NMI. for example arch/sparc/kernel/process_64.c
on a large enough system trigger_allbutself_cpu_backtrace() can easily be more
than 100 lines, and trigger_allbutself_cpu_backtrace() may not be able to print
the backtraces to console (for example this hardlockuped CPU owns the console_sem)
before CPU declares oops_in_progress in nmi_panic()->panic().
-ss
next prev parent reply other threads:[~2016-03-22 7:56 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-21 17:25 [RFC][PATCH v6 0/2] printk: Make printk() completely async Sergey Senozhatsky
2016-03-21 17:25 ` [RFC][PATCH v6 1/2] " Sergey Senozhatsky
2016-03-22 13:11 ` Petr Mladek
2016-03-22 14:04 ` Petr Mladek
2016-03-23 0:37 ` Sergey Senozhatsky
2016-03-23 8:42 ` Sergey Senozhatsky
2016-03-23 10:04 ` Petr Mladek
2016-03-24 2:24 ` Sergey Senozhatsky
2016-03-22 16:36 ` Petr Mladek
2016-03-23 1:24 ` Sergey Senozhatsky
2016-03-23 9:25 ` Petr Mladek
2016-03-23 13:20 ` Jan Kara
2016-03-23 14:30 ` Sergey Senozhatsky
2016-03-23 14:41 ` Jan Kara
2016-03-21 17:25 ` [RFC][PATCH v6 2/2] printk: Make wake_up_klogd_work_func() async Sergey Senozhatsky
2016-03-22 6:49 ` [RFC][PATCH v6 0/2] printk: Make printk() completely async Jan Kara
2016-03-22 7:57 ` Sergey Senozhatsky [this message]
2016-03-22 8:15 ` Jan Kara
2016-04-23 19:40 ` Pavel Machek
2016-04-24 5:14 ` Sergey Senozhatsky
2016-04-24 13:35 ` Pavel Machek
2016-04-24 15:00 ` Sergey Senozhatsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160322075738.GC1759@swordfish \
--to=sergey.senozhatsky.work@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=byungchul.park@lge.com \
--cc=jack@suse.com \
--cc=jack@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=penguin-kernel@I-love.SAKURA.ne.jp \
--cc=pmladek@suse.com \
--cc=sergey.senozhatsky@gmail.com \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.