On Thu, Jul 20, 2017 at 11:24:22AM -0700, Mark Salyzyn wrote:
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index 98fe715522e8..0d63c3fb4e24 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -30,6 +30,58 @@ config CONSOLE_LOGLEVEL_DEFAULT
>         usage in the kernel. That is controlled by the 
> MESSAGE_LOGLEVEL_DEFAULT
>         option.
>  
> +# set if time is being printed in pr_info_show_time()
> +config PR_INFO_SHOW_TIME
> +     bool
> +
> +choice
> +     prompt "pr_info_show_time() alternate time message prefix"
> +     help
> +       Activate alternate time prefix in pr_info_show_time
> +
> +       The primary use of the instrumentation is to aid field
> +       analysis of Battery and Power usage.  The instrumentation
> +       may also help triage and synchronize kernel logs and user
> +       space activity logs at key displacements.
> +     config PR_INFO_SHOW_TIME_MONOTONIC
> +             bool "monotonic"
> +             help
> +               Deactivate alternate time prefix in pr_info_show_time.
> +               Doing so because monotonic time is part of the normal
> +               printk time logging.
> +
> +               Print only the supplied message in pr_info_show_time,
> +               indistinguishable from pr_info.
> +     config PR_INFO_SHOW_TIME_REALTIME
> +             bool "realtime"
> +             select PR_INFO_SHOW_TIME
> +             help
> +               Activate alternate time prefix in pr_info_show_time
> +
> +               The primary use of the instrumentation is to aid field
> +               analysis of Battery and Power usage.  The instrumentation
> +               may also help triage and synchronize kernel logs and user
> +               space activity logs at key displacements.  For instance
> +               CLOCK_MONOTONIC stops while suspended, while CLOCK_REALTIME
> +               continues, and the timestamps help re-orient post-analysis.
> +
> +               Prefix realtime [<epoch>.<ns>U] timestamp in pr_info_show_time
> +     config PR_INFO_SHOW_TIME_BOOTTIME
> +             bool "boottime"
> +             select PR_INFO_SHOW_TIME
> +             help
> +               Activate alternate time prefix in pr_info_show_time
> +
> +               The primary use of the instrumentation is to aid field
> +               analysis of Battery and Power usage.  The instrumentation
> +               may also help triage and synchronize kernel logs and user
> +               space activity logs at key displacements.  For instance
> +               CLOCK_MONOTONIC stops while suspended, while CLOCK_BOOTTIME
> +               continues, and the timestamps help re-orient post-analysis.
> +
> +               Prefix boottime [<epoch>.<ns>B] timestamp in pr_info_show_time
> +endchoice

There is no depends magic anywhere here, so none of this actually has complex
dependencies, this is just boot time preference setup, and for that I think a
boot param and sysctl value could easily not only enable the same but *also*
enable run time ability to swap between these. Even for the branch performance
consideration can't jump labels be used to address that if there is a concern
for that?

I think that would also make the code easier to read and remove all this kconfig
extra stuff. Then its just a run time thing.

Also, should there be no checks for time being available and ready before this
is used?

  Luis

Reply via email to