From: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
To: Dave Young <dyoung@redhat.com>
Cc: pmladek@suse.com, Andi Kleen <ak@linux.intel.com>,
Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>,
kexec@lists.infradead.org, linux-kernel@vger.kernel.org,
rostedt@goodmis.org, sergey.senozhatsky@gmail.com,
akpm@linux-foundation.org
Subject: Re: [PATCH] print kdump kernel loaded status in stack dump
Date: Fri, 19 Jan 2018 18:46:03 +0900 [thread overview]
Message-ID: <20180119094603.GA3685@tigerII.localdomain> (raw)
In-Reply-To: <20180119084223.GC3985@dhcp-128-65.nay.redhat.com>
On (01/19/18 16:42), Dave Young wrote:
[..]
> > [I'm not entirely sure I see why do we have printk_delay() in
> > vprintk_emit()... I mean I probably can see some reasoning behind
> > it, but at the same it makes sense to slow down console_unlock()
> > as well]
>
> Looks like I am the guy who added the code :)
LOL :)
> Actually no special reason, just did not thinking about the performance
> issue at all at that time..
it's quite reasonable to have it in vprintk_emit(), actually.
the thing is that it limits the rate at which new messages appear in
the kernel log buffer, which does not necessarily correspond to the rate
at which new messages appear on the consoles.
printk has a "direct path" printk -> console_unlock() -> consoles,
and "indirect path" - when it fails to acquire console semaphore,
because it's locked by someone else. that someone else, a console_sem
owner, might be scheduled out under console_sem; all printks in the
meantime will just log_store() messages [after printk_delay()].
once the console_sem owner will be back to running it will resume
console_unlock() printing loop and print out all pending messages
immediately [modulo preemption]. so there are ways for messages to
bypass printk_delay() and appear on the consoles with no visible
delay.
additionally printk_delay() does touch_nmi_watchdog() so we,
technically, are fine with moving it to console_unlock().
-ss
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
next prev parent reply other threads:[~2018-01-19 9:46 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-17 4:50 [PATCH] print kdump kernel loaded status in stack dump Dave Young
2018-01-17 8:57 ` Petr Mladek
2018-01-17 12:32 ` Dave Young
2018-01-17 13:42 ` Petr Mladek
2018-01-17 15:48 ` Steven Rostedt
2018-01-18 1:57 ` Dave Young
2018-01-18 18:02 ` Andi Kleen
2018-01-18 18:57 ` Steven Rostedt
2018-01-19 4:47 ` Dave Young
2018-01-19 13:06 ` Petr Tesarik
2018-01-26 7:37 ` Dave Young
2018-01-26 12:17 ` Petr Mladek
2018-01-27 3:57 ` Dave Young
2018-01-19 5:45 ` Sergey Senozhatsky
2018-01-19 8:16 ` Dave Young
2018-01-19 8:28 ` Sergey Senozhatsky
2018-01-19 8:42 ` Dave Young
2018-01-19 9:46 ` Sergey Senozhatsky [this message]
2018-01-19 8:32 ` Sergey Senozhatsky
2018-01-19 16:16 ` Andi Kleen
2018-01-19 16:51 ` Petr Tesarik
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=20180119094603.GA3685@tigerII.localdomain \
--to=sergey.senozhatsky@gmail.com \
--cc=ak@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=dyoung@redhat.com \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=sergey.senozhatsky.work@gmail.com \
/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