add printk.time option, deprecate 'time'
Randy Dunlap [Mon, 16 Jul 2007 06:40:25 +0000 (23:40 -0700)]
Allow printk_time to be enabled or disabled at boot time.  Previously it
could be enabled only, but not disabled.

Change printk_time from an int to a bool since that's what it is.  Make its
logical (exposed) name just be "time" (was "printk_time").

Note: Changes kernel boot option syntax from "time" to "printk.time=value".

Since printk_time is declared as a module_param, it can also be
changed at run-time by modifying
  /sys/module/printk/parameters/time
to a value of 1/Y/y to enabled it or 0/N/n to disable it.

Since printk_time is declared as a module_param, its value can also
be set at boot-time by using
  linux printk.time=<bool>

If the "time" boot option is used, print a message that it is deprecated
and will be removed.

Note its planned removal in feature-removal-schedule.txt.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Documentation/feature-removal-schedule.txt
Documentation/kernel-parameters.txt
kernel/printk.c

index 4f69470..f5d6f4d 100644 (file)
@@ -257,6 +257,14 @@ Who:       Jean Delvare <khali@linux-fr.org>
 
 ---------------------------
 
+What:  'time' kernel boot parameter
+When:  January 2008
+Why:   replaced by 'printk.time=<value>' so that printk timestamps can be
+       enabled or disabled as needed
+Who:   Randy Dunlap <randy.dunlap@oracle.com>
+
+---------------------------
+
 What:  drivers depending on OSS_OBSOLETE
 When:  options in 2.6.23, code in 2.6.25
 Why:   obsolete OSS drivers
index ab38322..a0362d5 100644 (file)
@@ -1389,6 +1389,9 @@ and is between 256 and 4096 characters. It is defined in the file
                        the kernel console.
                        default: off.
 
+       printk.time=    Show timing data prefixed to each printk message line
+                       Format: <bool>  (1/Y/y=enable, 0/N/n=disable)
+
        profile=        [KNL] Enable kernel profiling via /proc/profile
                        Format: [schedule,]<number>
                        Param: "schedule" - profile schedule points.
@@ -1824,6 +1827,7 @@ and is between 256 and 4096 characters. It is defined in the file
                        Set number of hash buckets for TCP connection
 
        time            Show timing data prefixed to each printk message line
+                       [deprecated, see 'printk.time']
 
        tipar.timeout=  [HW,PPT]
                        Set communications timeout in tenths of a second
index f46cc6d..fccacf7 100644 (file)
@@ -449,13 +449,16 @@ static int printk_time = 1;
 #else
 static int printk_time = 0;
 #endif
-module_param(printk_time, int, S_IRUGO | S_IWUSR);
+module_param_named(time, printk_time, bool, S_IRUGO | S_IWUSR);
 
 static int __init printk_time_setup(char *str)
 {
        if (*str)
                return 0;
        printk_time = 1;
+       printk(KERN_NOTICE "The 'time' option is deprecated and "
+               "is scheduled for removal in early 2008\n");
+       printk(KERN_NOTICE "Use 'printk.time=<value>' instead\n");
        return 1;
 }