On Mon, Aug 13, 2012 at 01:57:11PM -0700, Thai Bui wrote:
> Putting DEBUG_INITCALL config option to compile out the command-line option
> "initcall_debug".

Can you explain the benfits of this please?
> 
> Signed-off-by: Thai Bui <blquyt...@gmail.com>
> Reviewed-by: Josh Triplett <j...@joshtriplett.org>
> ---
>  Documentation/kernel-parameters.txt |    3 ++-
>  include/linux/init.h                |    4 ++++
>  init/main.c                         |    2 ++
>  lib/Kconfig.debug                   |    9 +++++++++
>  4 files changed, 17 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/kernel-parameters.txt 
> b/Documentation/kernel-parameters.txt
> index d99fd9c..3dbaf15 100644
> --- a/Documentation/kernel-parameters.txt
> +++ b/Documentation/kernel-parameters.txt
> @@ -1026,7 +1026,8 @@ bytes respectively. Such letter suffixes can also be 
> entirely omitted.
>  
>       initcall_debug  [KNL] Trace initcalls as they are executed.  Useful
>                       for working out where the kernel is dying during
> -                     startup.
> +                     startup. DEBUG_INITCALL needs to be enabled in order
> +                     for this option to work.
>  
>       initrd=         [BOOT] Specify the location of the initial ramdisk
>  
> diff --git a/include/linux/init.h b/include/linux/init.h
> index 6b95109..d2f31f1 100644
> --- a/include/linux/init.h
> +++ b/include/linux/init.h
> @@ -157,7 +157,11 @@ void prepare_namespace(void);
>  
>  extern void (*late_time_init)(void);
>  
> +#ifdef CONFIG_DEBUG_INITCALL
>  extern bool initcall_debug;
> +#else
> +static const bool initcall_debug = false;
> +#endif /* CONFIG_DEBUG_INITCALL */
>  
>  #endif
>    
> diff --git a/init/main.c b/init/main.c
> index ff49a6d..65837f7 100644
> --- a/init/main.c
> +++ b/init/main.c
> @@ -648,8 +648,10 @@ static void __init do_ctors(void)
>  #endif
>  }
>  
> +#ifdef CONFIG_DEBUG_INITCALL
>  bool initcall_debug;
>  core_param(initcall_debug, initcall_debug, bool, 0644);
> +#endif /* CONFIG_DEBUG_INITCALL */
>  
>  static char msgbuf[64];
>  
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index 8745ac7..424ac93 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -769,6 +769,15 @@ config DEBUG_WRITECOUNT
>  
>         If unsure, say N.
>  
> +config DEBUG_INITCALL
> +     bool "Debug initcalls as they are executed"
> +     depends on DEBUG_KERNEL
> +     help
> +       Enable this for tracing initcalls during startup. Useful for working
> +       out where the kernel is dying during startup.
> +
> +       If unsure, say N
> +
>  config DEBUG_MEMORY_INIT
>       bool "Debug memory initialisation" if EXPERT
>       default !EXPERT
> -- 
> 1.7.9.5
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to