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

Re: [Xen-devel] [PATCH v2 1/4] xen: indicate gcov in log messages



On 06/09/16 15:06, Wei Liu wrote:
> On Tue, Sep 06, 2016 at 07:34:26AM -0600, Jan Beulich wrote:
>>>>> On 06.09.16 at 14:47, <andrew.cooper3@xxxxxxxxxx> wrote:
>>> On 06/09/16 13:41, Wei Liu wrote:
>>>> --- a/xen/drivers/char/console.c
>>>> +++ b/xen/drivers/char/console.c
>>>> @@ -735,10 +735,11 @@ void __init console_init_preirq(void)
>>>>      spin_lock(&console_lock);
>>>>      __putstr(xen_banner());
>>>>      spin_unlock(&console_lock);
>>>> -    printk("Xen version %d.%d%s (%s@%s) (%s) debug=%c %s\n",
>>>> +    printk("Xen version %d.%d%s (%s@%s) (%s) debug=%c gcov=%c %s\n",
>>> Please instead use
>>>
>>> printk("Xen version %d.%d%s (%s@%s) (%s) debug=%c"
>>> #ifdef CONFIG_GCOV
>>> " gcov=y"
>>> #endif
>>> " %s\n",
>>>
>>> Enabling gcov will be extremely rare in the grand scheme of things, and
>>> this method causes zero overhead for the case where gcov is compiled
>>> out.  (Similarly elsewhere.)
>> How about instead of the kind of ugly #ifdef-ery above, instead of
>>
>> +#ifdef CONFIG_GCOV
>> +#define gcov_build() 1
>> +#else
>> +#define gcov_build() 0
>> +#endif
>>
>> we'd have
>>
>> +#ifdef CONFIG_GCOV
>> +#define gcov_string "gcov=y"
>> +#else
>> +#define gcov_string ""
>> +#endif
>>
>> (with the identifier name open for improvement), which can then be
>> embedded easily into any string literal?
>>
> Now this patch looks like
>
> ---8<---
> From 56718288f632d3a25bd3fe89777df99008a13d6e Mon Sep 17 00:00:00 2001
> From: Wei Liu <wei.liu2@xxxxxxxxxx>
> Date: Fri, 2 Sep 2016 14:43:25 +0100
> Subject: [PATCH] xen: indicate gcov in log messages
>
> Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>

Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

> ---
> v3: simplify code
>
> Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> Cc: Julien Grall <julien.grall@xxxxxxx>
> Cc: Jan Beulich <jbeulich@xxxxxxxx>
> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> ---
>  xen/arch/arm/traps.c        | 2 +-
>  xen/arch/x86/x86_64/traps.c | 2 +-
>  xen/drivers/char/console.c  | 2 +-
>  xen/include/xen/lib.h       | 6 ++++++
>  4 files changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
> index 9353ee7..39a05fd 100644
> --- a/xen/arch/arm/traps.c
> +++ b/xen/arch/arm/traps.c
> @@ -141,7 +141,7 @@ static void print_xen_info(void)
>  {
>      char taint_str[TAINT_STRING_MAX_LEN];
>  
> -    printk("----[ Xen-%d.%d%s  %s  debug=%c  %s ]----\n",
> +    printk("----[ Xen-%d.%d%s  %s  debug=%c " gcov_string "  %s ]----\n",
>             xen_major_version(), xen_minor_version(), xen_extra_version(),
>  #ifdef CONFIG_ARM_32
>             "arm32",
> diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c
> index 16de0be..fc8cde6 100644
> --- a/xen/arch/x86/x86_64/traps.c
> +++ b/xen/arch/x86/x86_64/traps.c
> @@ -31,7 +31,7 @@ static void print_xen_info(void)
>  {
>      char taint_str[TAINT_STRING_MAX_LEN];
>  
> -    printk("----[ Xen-%d.%d%s  x86_64  debug=%c  %s ]----\n",
> +    printk("----[ Xen-%d.%d%s  x86_64  debug=%c " gcov_string "  %s ]----\n",
>             xen_major_version(), xen_minor_version(), xen_extra_version(),
>             debug_build() ? 'y' : 'n', print_tainted(taint_str));
>  }
> diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
> index 650035d..55ae31a 100644
> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -735,7 +735,7 @@ void __init console_init_preirq(void)
>      spin_lock(&console_lock);
>      __putstr(xen_banner());
>      spin_unlock(&console_lock);
> -    printk("Xen version %d.%d%s (%s@%s) (%s) debug=%c %s\n",
> +    printk("Xen version %d.%d%s (%s@%s) (%s) debug=%c " gcov_string " %s\n",
>             xen_major_version(), xen_minor_version(), xen_extra_version(),
>             xen_compile_by(), xen_compile_domain(),
>             xen_compiler(), debug_build() ? 'y' : 'n', xen_compile_date());
> diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
> index e518adc..d1171b7 100644
> --- a/xen/include/xen/lib.h
> +++ b/xen/include/xen/lib.h
> @@ -26,6 +26,12 @@
>  #define BUILD_BUG_ON(cond) ((void)BUILD_BUG_ON_ZERO(cond))
>  #endif
>  
> +#ifdef CONFIG_GCOV
> +#define gcov_string "gcov=y"
> +#else
> +#define gcov_string ""
> +#endif
> +
>  #ifndef NDEBUG
>  #define ASSERT(p) \
>      do { if ( unlikely(!(p)) ) assert_failed(#p); } while (0)


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.