From: Andrew Morton <akpm@linux-foundation.org>
To: Jan Kara <jack@suse.cz>
Cc: LKML <linux-kernel@vger.kernel.org>,
mhocko@suse.cz, hare@suse.de,
Steven Rostedt <rostedt@goodmis.org>
Subject: Re: [PATCH 0/4 v6] Avoid softlockups in console_unlock()
Date: Thu, 22 Aug 2013 12:49:13 -0700 [thread overview]
Message-ID: <20130822124913.c6de8fe61e9fd601bd83ff63@linux-foundation.org> (raw)
In-Reply-To: <20130821225915.GA16653@quack.suse.cz>
On Thu, 22 Aug 2013 00:59:15 +0200 Jan Kara <jack@suse.cz> wrote:
> On Wed 21-08-13 14:27:23, Andrew Morton wrote:
> > On Wed, 21 Aug 2013 10:08:28 +0200 Jan Kara <jack@suse.cz> wrote:
> >
> > > These patches avoid softlockups when a CPU gets caught in console_unlock() for
> > > a long time during heavy printing from other CPU. As is discussed in patch 3/4
> > > it isn't enough to just silence the watchdog because if CPU spends too long in
> > > console_unlock() also RCU will complain, other CPUs can be blocked waiting for
> > > printing CPU to process IPI, and even disk can be offlined because commands
> > > couldn't be delivered to it for too long.
> > >
> > > This patch series solves the problem by stopping printing in console_unlock()
> > > after 1000 characters and the printing is postponed to irq work. To avoid
> > > hogging a single CPU (irq work gets processed on the same CPU where it was
> > > queued so it doesn't really help to reduce the printing load on that CPU) we
> > > introduce a new type of lazy irq work - IRQ_WORK_UNBOUND - which can be
> > > processed by any CPU.
> >
> > I still hate the patchset :(
> >
> > Remind us why we need this? Whose kernel is spewing so much logging and
> > why?
> We have customers (quite a few of them actually) which have machines with
> lots of SCSI disks attached (due to multipath etc.) and during boot when
> these disks are discovered and partitions set up quite some printing
> happens - multiplied by the number of devices (1000+) it is too much for a
> serial console to handle quickly enough. So these machines aren't able to
> boot with serial console enabled.
It sounds like rather a corner case, not worth mucking up the critical
core logging code.
Desperately seeking alternatives...
I suppose there's some reason why we can't just make those drivers shut
up? If the messages are in the log buffer but aren't displayed,
they're still accessible after boot?
Or how about passing those messages over to a kernel thread, to be
printed out at a lower rate? A linked list and schedule_work() would
suffice.
next prev parent reply other threads:[~2013-08-22 19:49 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-21 8:08 Jan Kara
2013-08-21 8:08 ` [PATCH 1/4] printk: Remove separate printk_sched buffers and use printk buf instead Jan Kara
2013-08-21 8:08 ` [PATCH 2/4] irq_work: Provide a irq work that can be processed on any cpu Jan Kara
2013-08-21 18:49 ` Steven Rostedt
2013-09-05 15:56 ` Jan Kara
2013-08-21 8:08 ` [PATCH 3/4] printk: Defer printing to irq work when we printed too much Jan Kara
2013-08-21 19:06 ` Steven Rostedt
2013-08-21 8:08 ` [PATCH 4/4] printk: Use unbound irq work for printing and waking Jan Kara
2013-08-21 19:24 ` Steven Rostedt
2013-08-21 21:27 ` [PATCH 0/4 v6] Avoid softlockups in console_unlock() Andrew Morton
2013-08-21 22:59 ` Jan Kara
2013-08-22 19:49 ` Andrew Morton [this message]
2013-08-22 21:57 ` Jan Kara
2013-08-22 22:14 ` Andrew Morton
2013-08-23 19:50 ` Jiri Kosina
2013-08-23 19:48 ` Jiri Kosina
2013-08-23 19:58 ` Andrew Morton
2013-08-26 11:48 ` Jiri Kosina
2013-09-05 15:46 ` Jan Kara
2013-09-19 21:26 ` Andrew Morton
2013-09-20 21:55 ` Jan Kara
2013-11-07 21:48 Jan Kara
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=20130822124913.c6de8fe61e9fd601bd83ff63@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=hare@suse.de \
--cc=jack@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=mhocko@suse.cz \
--cc=rostedt@goodmis.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome