mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 2.6.12] printk: add sysctl to control printk_time
@ 2005-07-20 20:08 Mark Whittington
  2005-07-21  4:42 ` randy_dunlap
  0 siblings, 1 reply; 2+ messages in thread
From: Mark Whittington @ 2005-07-20 20:08 UTC (permalink / raw)
  To: linux-kernel

Added a sysctl (KERN_PRINTK_TIME) and by proxy an entry in 
/proc/sys/kernel to enable and disable printk interval information when 
CONFIG_PRINTK_TIME is compiled in.

Signed-off-by: Mark Whittington <markc@liquidev.com>

diff -ruN linux-2.6.12/Documentation/sysctl/kernel.txt linux-2.6.12-work/Documentation/sysctl/kernel.txt
--- linux-2.6.12/Documentation/sysctl/kernel.txt	2005-06-17 15:48:29.000000000 -0400
+++ linux-2.6.12-work/Documentation/sysctl/kernel.txt	2005-07-20 14:58:15.000000000 -0400
@@ -39,6 +39,7 @@
  - pid_max
  - powersave-nap               [ PPC only ]
  - printk
+- printk_time                 [ CONFIG_PRINTK_TIME=y ]
  - real-root-dev               ==> Documentation/initrd.txt
  - reboot-cmd                  [ SPARC only ]
  - rtsig-max
@@ -260,6 +261,14 @@

  ==============================================================

+printk_time:
+
+If CONFIG_PRINTK_TIME is on at compile time, you can enable
+and disable time printing by echoing 1 or 0 to this file.  You
+can also read the current value from this file.
+
+==============================================================
+
  reboot-cmd: (Sparc only)

  ??? This seems to be a way to give an argument to the Sparc
diff -ruN linux-2.6.12/include/linux/sysctl.h linux-2.6.12-work/include/linux/sysctl.h
--- linux-2.6.12/include/linux/sysctl.h	2005-06-17 15:48:29.000000000 -0400
+++ linux-2.6.12-work/include/linux/sysctl.h	2005-07-20 14:54:29.000000000 -0400
@@ -136,6 +136,9 @@
  	KERN_UNKNOWN_NMI_PANIC=66, /* int: unknown nmi panic flag */
  	KERN_BOOTLOADER_TYPE=67, /* int: boot loader type */
  	KERN_RANDOMIZE=68, /* int: randomize virtual address space */
+#if defined(CONFIG_PRINTK_TIME)
+	KERN_PRINTK_TIME=69, /* int: printk times enabled */
+#endif
  };


diff -ruN linux-2.6.12/kernel/printk.c linux-2.6.12-work/kernel/printk.c
--- linux-2.6.12/kernel/printk.c	2005-06-17 15:48:29.000000000 -0400
+++ linux-2.6.12-work/kernel/printk.c	2005-07-20 15:32:03.000000000 -0400
@@ -473,7 +473,8 @@
  }

  #if defined(CONFIG_PRINTK_TIME)
-static int printk_time = 1;
+int printk_time = 1;
+EXPORT_SYMBOL(printk_time);
  #else
  static int printk_time = 0;
  #endif
diff -ruN linux-2.6.12/kernel/sysctl.c linux-2.6.12-work/kernel/sysctl.c
--- linux-2.6.12/kernel/sysctl.c	2005-06-17 15:48:29.000000000 -0400
+++ linux-2.6.12-work/kernel/sysctl.c	2005-07-20 14:53:54.000000000 -0400
@@ -63,6 +63,7 @@
  extern int pid_max;
  extern int min_free_kbytes;
  extern int printk_ratelimit_jiffies;
+extern int printk_time;
  extern int printk_ratelimit_burst;
  extern int pid_max_min, pid_max_max;

@@ -589,6 +590,16 @@
  		.mode		= 0644,
  		.proc_handler	= &proc_dointvec,
  	},
+#if defined(CONFIG_PRINTK_TIME)
+	{
+		.ctl_name	= KERN_PRINTK_TIME,
+		.procname	= "printk_time",
+		.data		= &printk_time,
+		.maxlen		= sizeof(int),
+		.mode		= 0644,
+		.proc_handler	= &proc_dointvec,
+	},
+#endif
  	{
  		.ctl_name	= KERN_PRINTK_RATELIMIT,
  		.procname	= "printk_ratelimit",
diff -ruN linux-2.6.12/lib/Kconfig.debug linux-2.6.12-work/lib/Kconfig.debug
--- linux-2.6.12/lib/Kconfig.debug	2005-06-17 15:48:29.000000000 -0400
+++ linux-2.6.12-work/lib/Kconfig.debug	2005-07-20 15:09:07.000000000 -0400
@@ -6,7 +6,9 @@
  	  included in printk output.  This allows you to measure
  	  the interval between kernel operations, including bootup
  	  operations.  This is useful for identifying long delays
-	  in kernel startup.
+	  in kernel startup.  If this option is enabled, you can turn
+          off and on the timing information by echoing a 1 or 0 to
+          /proc/kernel/sys/printk_time.


  config DEBUG_KERNEL

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH 2.6.12] printk: add sysctl to control printk_time
  2005-07-20 20:08 [PATCH 2.6.12] printk: add sysctl to control printk_time Mark Whittington
@ 2005-07-21  4:42 ` randy_dunlap
  0 siblings, 0 replies; 2+ messages in thread
From: randy_dunlap @ 2005-07-21  4:42 UTC (permalink / raw)
  To: Mark Whittington; +Cc: linux-kernel

On Wed, 20 Jul 2005 16:08:35 -0400 (EDT) Mark Whittington wrote:

> Added a sysctl (KERN_PRINTK_TIME) and by proxy an entry in 
> /proc/sys/kernel to enable and disable printk interval information when 
> CONFIG_PRINTK_TIME is compiled in.

1/  That explains "what."  How about "why?"

2/  The patch does not apply cleanly.  It looks like some tabs
are messed up, but I'm not sure about it.

rddunlap@midway:linux-2612> patch -p1 -b --dry-run < ~/fixes/printk_time.patch
patching file Documentation/sysctl/kernel.txt
Hunk #1 FAILED at 39.
Hunk #2 FAILED at 261.
2 out of 2 hunks FAILED -- saving rejects to file Documentation/sysctl/kernel.txt.rej
patching file include/linux/sysctl.h
Hunk #1 FAILED at 136.
1 out of 1 hunk FAILED -- saving rejects to file include/linux/sysctl.h.rej
patching file kernel/printk.c
Hunk #1 FAILED at 473.
1 out of 1 hunk FAILED -- saving rejects to file kernel/printk.c.rej
patching file kernel/sysctl.c
Hunk #1 FAILED at 63.
Hunk #2 FAILED at 590.
2 out of 2 hunks FAILED -- saving rejects to file kernel/sysctl.c.rej
patching file lib/Kconfig.debug
Hunk #1 FAILED at 6.
1 out of 1 hunk FAILED -- saving rejects to file lib/Kconfig.debug.rej

3/  The patch should be made against a more recent kernel version,
like 2.6.13-rc3 or 2.6.13-rc3-git4.


> Signed-off-by: Mark Whittington <markc@liquidev.com>
> 
> diff -ruN linux-2.6.12/kernel/printk.c linux-2.6.12-work/kernel/printk.c
> --- linux-2.6.12/kernel/printk.c	2005-06-17 15:48:29.000000000 -0400
> +++ linux-2.6.12-work/kernel/printk.c	2005-07-20 15:32:03.000000000 -0400
> @@ -473,7 +473,8 @@
>   }
> 
>   #if defined(CONFIG_PRINTK_TIME)
> -static int printk_time = 1;
> +int printk_time = 1;
> +EXPORT_SYMBOL(printk_time);

I wouldn't think that the EXPORT_SYMBOL() is needed.  That just
makes it visible to modules.  Not being 'static' should be enough
to make it visible to other built-in-kernel files...
so, did you try it without the EXPORT_SYMBOL()?

>   #else
>   static int printk_time = 0;
>   #endif
> diff -ruN linux-2.6.12/lib/Kconfig.debug linux-2.6.12-work/lib/Kconfig.debug
> --- linux-2.6.12/lib/Kconfig.debug	2005-06-17 15:48:29.000000000 -0400
> +++ linux-2.6.12-work/lib/Kconfig.debug	2005-07-20 15:09:07.000000000 -0400
> @@ -6,7 +6,9 @@
>   	  included in printk output.  This allows you to measure
>   	  the interval between kernel operations, including bootup
>   	  operations.  This is useful for identifying long delays
> -	  in kernel startup.
> +	  in kernel startup.  If this option is enabled, you can turn
> +          off and on the timing information by echoing a 1 or 0 to
> +          /proc/kernel/sys/printk_time.

Those last 2 lines should line up with the lines above them.
However, the last 2 lines use only spaces and not tab(s),
which is incorrect.

Basically, fix your email client and justify the patch.

---
~Randy

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-07-21  4:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-07-20 20:08 [PATCH 2.6.12] printk: add sysctl to control printk_time Mark Whittington
2005-07-21  4:42 ` randy_dunlap

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®