From: Tejun Heo <tj@kernel.org>
To: Jan Kara <jack@suse.cz>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Calvin Owens <calvinowens@fb.com>,
Dave Jones <davej@codemonkey.org.uk>,
Kyle McMartin <kyle@kernel.org>,
linux-kernel@vger.kernel.org, kernel-team@fb.com
Subject: Re: [PATCH] printk: do cond_resched() between lines while outputting to consoles
Date: Wed, 25 Nov 2015 12:02:17 -0500 [thread overview]
Message-ID: <20151125170217.GA29681@mtj.duckdns.org> (raw)
In-Reply-To: <20151125090522.GK25232@quack.suse.cz>
Hello, Jan.
On Wed, Nov 25, 2015 at 10:05:22AM +0100, Jan Kara wrote:
> So did you particularly have an issue during console registration? Because
Yeap, we're seeing a small ratio of machines falling head over hills
during IPMI serial console registration. Pumping out the messages
collected prior to registration takes too long triggering softlockup
warning on all forty something CPUs which pile a metric ton of
messages atop. From then on, softlockup / rcu stall warnings repeat
themselves. Some machines recover after >10mins of doing that. The
log is hillarious to look at afterward.
> at least our customers mostly have issues during heavy use of ordinary
> printk (e.g. during boot or when hardware gets probed) and your change
> doesn't affect that case. That being said if you really hit a case where
Hah, that must be a lot of messages being printk'd.
> your patch helps, then I have no problem with it (you can add my Acked-by).
>
> At Kernel Summit I spoke with Linus and Andrew regarding printk softlockups
> and we ended up with a decision that we decouple queueing into kernel
> ringbuffer from the actual printing into console which would happen from
> kthread / workqueue. Then the lockups would be solved by printing to
> console happening from schedulable context and printk() as such being
> independent from console speed. We only have to have some special cases
> there for crashes so that messages get printed synchronously in that case.
Yeah, we'd prolly want to make the behavior contingent on the time
taken and so on. At any rate, even with workqueue-deferred dumping,
this patch would still be necessary for non-preemptible kernels;
otherwise, there's no cond_resched() in printing path right now.
Thanks.
--
tejun
next prev parent reply other threads:[~2015-11-25 17:02 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-24 21:31 Tejun Heo
2015-11-25 9:05 ` Jan Kara
2015-11-25 17:02 ` Tejun Heo [this message]
2015-11-26 8:53 ` 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=20151125170217.GA29681@mtj.duckdns.org \
--to=tj@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=calvinowens@fb.com \
--cc=davej@codemonkey.org.uk \
--cc=jack@suse.cz \
--cc=kernel-team@fb.com \
--cc=kyle@kernel.org \
--cc=linux-kernel@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®