From: Andrew Morton <akpm@linux-foundation.org>
To: Dave Young <hidave.darkstar@gmail.com>
Cc: linux-kernel@vger.kernel.org, Ingo Molnar <mingo@elte.hu>
Subject: Re: [PATCH 2/2] allow printk delay after multi lines
Date: Mon, 8 Feb 2010 13:56:54 -0800 [thread overview]
Message-ID: <20100208135654.04b79bbc.akpm@linux-foundation.org> (raw)
In-Reply-To: <20100206134056.GB2562@darkstar>
On Sat, 6 Feb 2010 21:40:56 +0800
Dave Young <hidave.darkstar@gmail.com> wrote:
> printk delay help us to capture printk messages on some unconvenient senarios,
> but it is still not easy to read.
>
> Add another sysctl variable printk_delay_per_lines to make it more readable.
> We can set the lines according to screen height, then take pictures by camera.
>
> kmesg will delay printk_delay_per_lines * printk_delay_msecs milliseconds
> after every printk_delay_per_lines lines when printk_delay is enabled.
>
> Setting the lines by proc/sysctl interface:
> /proc/sys/kernel/printk_delay_per_lines
>
> Andrew, sorry, I have not find time to cleanup the kernel.h sysctl variables.
> If I'm free I will try to do it.
>
> The value range from 1 - 100, default value is 1
>
> ...
>
> --- linux-2.6.orig/include/linux/kernel.h 2010-02-02 13:38:09.537495564 +0800
> +++ linux-2.6/include/linux/kernel.h 2010-02-02 13:40:47.657480122 +0800
> @@ -246,6 +246,7 @@ extern bool printk_timed_ratelimit(unsig
> unsigned int interval_msec);
>
> extern int printk_delay_msec;
> +extern int printk_delay_per_lines;
>
> /*
> * Print a one-time message (analogous to WARN_ONCE() et al):
> --- linux-2.6.orig/kernel/printk.c 2010-02-02 13:39:19.446657319 +0800
> +++ linux-2.6/kernel/printk.c 2010-02-02 13:40:47.660813615 +0800
> @@ -656,16 +656,26 @@ static int new_text_line = 1;
> static char printk_buf[1024];
>
> int printk_delay_msec __read_mostly;
> +int printk_delay_per_lines __read_mostly;
>
> static inline void printk_delay(void)
> {
> if (unlikely(printk_delay_msec)) {
> - int m = printk_delay_msec;
> + static int m, l;
>
> + if (!l)
> + l = printk_delay_per_lines;
> +
> + if (--l) {
> + m += printk_delay_msec;
> + return;
> + }
> + m += printk_delay_msec;
> while (m--) {
> mdelay(1);
> touch_nmi_watchdog();
> }
> + m = 0;
> }
> }
- The default value is zero, not 1. And zero will be treated as 4G.
That's a bug.
- This feature would be a lot more useful if the user could specify
printk_delay_per_lines on the boot command line. Ditto
printk_delay_msec. So you can stop the important mesages from
scrolling off. (I think there's already a way to do that, but I'm
too lazy to go remember what it was).
- The permitted range of 1-100 for printk_delay_per_lines seems
arbitrary and unneeded. Why shouldn't I be able to set it to 10,000?
I see no harm in permitting that.
- If the user sets printk_delay_per_lines=N, the kernel will pause
for N*printk_delay_msec every N lines. This is odd, and unintuitive.
And it'll really hurt if I set printk_delay_per_lines=10000!
I'd expect the kernel to pause for printk_delay_msec every N lines,
and I think that would be better.
next prev parent reply other threads:[~2010-02-08 21:57 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-06 13:40 [PATCH 2/2] allow printk delay after multi lines Dave Young
2010-02-08 21:56 ` Andrew Morton [this message]
2010-02-08 22:01 ` Andrew Morton
2010-02-09 2:35 ` Dave Young
2010-02-09 2:31 ` Dave Young
2010-02-09 5:56 ` Dave Young
2010-02-09 6:07 ` Andrew Morton
2010-02-09 6:27 ` Dave Young
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=20100208135654.04b79bbc.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=hidave.darkstar@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/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.