[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 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>
---
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)
-- 
2.1.4


_______________________________________________
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®.