Re: [PATCH] printk: Add monotonic, boottime, and realtime timestamps

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 08/17/2017 12:46 AM, John Stultz wrote:
> From: Prarit Bhargava <prarit@xxxxxxxxxx>
> 
> 
> Prarit,
>   So I took my own shot at cleaning up the Kconfig settings to make
> it a bit more sane in my opinion. This should allow the legacy
> defconfigs to just work, and avoids all the defconfig churn in the
> patch.
> 
> I almost went through to try to simplify the code and make
> PRINTK_TIME_DISABLE = 0 and to get rid of PRINTK_TIME_UNDEFINED,
> as that seems like extra complexity that could probably be done
> simpler, but I didn't quite have the time to get my head around
> it all, so I left it be. But you might want to see if it can't
> be further simplified (ie: initialize it to CONFIG_PRINTK_TIME_VAL
> and then override it by the boot parameter if specified).
> 
> Anwyay, let me know what you think, and feel free to adopt this
> along with any other changes you have planned.
> 
> thanks
> -john

<snip>

> index 98fe715..83683e9ad 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -8,12 +8,64 @@ config PRINTK_TIME
>  	  messages to be added to the output of the syslog() system
>  	  call and at the console.
>  
> +choice
> +	prompt "printk default clock timestamp"
> +	default PRINTK_TIME_LOCAL if PRINTK_TIME
> +	default PRINTK_TIME_DISABLE if !PRINTK_TIME
> +	help
> +	  This option is selected by setting one of
> +	  PRINTK_TIME_[DISABLE|LOCAL|BOOT|MONO|REAL] and causes time stamps of
> +	  the printk() messages to be added to the output of the syslog()
> +	  system call and at the console.
> +
>  	  The timestamp is always recorded internally, and exported
>  	  to /dev/kmsg. This flag just specifies if the timestamp should
>  	  be included, not that the timestamp is recorded.
>  
>  	  The behavior is also controlled by the kernel command line
> -	  parameter printk.time=1. See Documentation/admin-guide/kernel-parameters.rst
> +	  parameter printk.time. See
> +	  Documentation/admin-guide/kernel-parameters.rst
> +
> +config PRINTK_TIME_DISABLE
> +	bool "Disabled" if !PRINTK_TIME
> +	help
> +	 Selecting this option disables the time stamps of printk().
> +
> +config PRINTK_TIME_LOCAL
> +	bool "Local Clock" if PRINTK_TIME
> +	help
> +	  Selecting this option causes the time stamps of printk() to be
> +	  stamped with the unadjusted hardware clock.
> +
> +config PRINTK_TIME_BOOT
> +	bool "CLOCK_BOOTTIME" if PRINTK_TIME
> +	help
> +	  Selecting this option causes the time stamps of printk() to be
> +	  stamped with the adjusted boottime clock.
> +
> +config PRINTK_TIME_MONO
> +	bool "CLOCK_MONOTONIC" if PRINTK_TIME
> +	help
> +	  Selecting this option causes the time stamps of printk() to be
> +	  stamped with the adjusted monotonic clock.
> +
> +config PRINTK_TIME_REAL
> +	bool "CLOCK_REALTIME" if PRINTK_TIME
> +	help
> +	  Selecting this option causes the time stamps of printk() to be
> +	  stamped with the adjusted realtime clock.
> +endchoice
> +
> +config PRINTK_TIME_TYPE
> +	int
> +	depends on PRINTK
> +	range 1 5
> +	default 1 if PRINTK_TIME_DISABLE
> +	default 2 if PRINTK_TIME_LOCAL
> +	default 3 if PRINTK_TIME_BOOT
> +	default 4 if PRINTK_TIME_MONO
> +	default 5 if PRINTK_TIME_REAL
> +

So, IIUC the result of this is, for example,

PRINT_TIME=y
PRINT_TIME_BOOT=y
PRINT_TIME_TIME_TYPE=3

In an earlier version of my patchset someone said not to introduce new config
options like this.  The reason I did introduce (IIRC I called it
CONFIG_PRINTK_CLOCK) was to avoid all the config churn but that was shot down.

If this is back on the table, then I too have a version that does essentially
what your patch does.

P.

--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux