Ian Campbell
2011-Jan-17 14:15 UTC
[Xen-devel] [PATCH] xen: stringify assertion condition for printing sooner
# HG changeset patch # User Ian Campbell <ian.campbell@citrix.com> # Date 1295273568 0 # Node ID 711cbaa038cae8c03cf825165d2e07b0a3c94f89 # Parent 92e51f0053b5f5c05aa0e4948f6c35be364be11c xen: stringify assertion condition for printing sooner. So that: (XEN) Assertion ''!(((*({ unsigned long __ptr; __asm__ ("" : "=r"(__ptr) : "0"(&per_cpu____preempt_count)); (typeof(&per_cpu____preempt_count)) (__ptr + (get_cpu_info()->per_cpu_offset)); }))) || ((irq_stat[(((get_cpu_info()->processor_id)1... becomes: (XEN) Assertion ''"!in_atomic()"'' failed at softirq.c:61 Signed-off-by: Ian Campbell <ian.campbell@citrix.com> diff -r 92e51f0053b5 -r 711cbaa038ca xen/include/xen/lib.h --- a/xen/include/xen/lib.h Mon Jan 17 11:43:46 2011 +0000 +++ b/xen/include/xen/lib.h Mon Jan 17 14:12:48 2011 +0000 @@ -35,7 +35,7 @@ do { #ifndef NDEBUG #define ASSERT(p) \ - do { if ( unlikely(!(p)) ) assert_failed(p); } while (0) + do { if ( unlikely(!(p)) ) assert_failed(#p); } while (0) #else #define ASSERT(p) ((void)0) #endif _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Jan Beulich
2011-Jan-17 14:28 UTC
Re: [Xen-devel] [PATCH] xen: stringify assertion condition for printing sooner
>>> On 17.01.11 at 15:15, Ian Campbell <ian.campbell@citrix.com> wrote: > # HG changeset patch > # User Ian Campbell <ian.campbell@citrix.com> > # Date 1295273568 0 > # Node ID 711cbaa038cae8c03cf825165d2e07b0a3c94f89 > # Parent 92e51f0053b5f5c05aa0e4948f6c35be364be11c > xen: stringify assertion condition for printing sooner. > > So that: > (XEN) Assertion ''!(((*({ unsigned long __ptr; __asm__ ("" : "=r"(__ptr) : > "0"(&per_cpu____preempt_count)); (typeof(&per_cpu____preempt_count)) (__ptr + > (get_cpu_info()->per_cpu_offset)); }))) || > ((irq_stat[(((get_cpu_info()->processor_id)1... > becomes: > (XEN) Assertion ''"!in_atomic()"'' failed at softirq.c:61 > > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>I was about to put together something similar after I saw this ugly beast.> diff -r 92e51f0053b5 -r 711cbaa038ca xen/include/xen/lib.h > --- a/xen/include/xen/lib.h Mon Jan 17 11:43:46 2011 +0000 > +++ b/xen/include/xen/lib.h Mon Jan 17 14:12:48 2011 +0000 > @@ -35,7 +35,7 @@ do { > > #ifndef NDEBUG > #define ASSERT(p) \ > - do { if ( unlikely(!(p)) ) assert_failed(p); } while (0) > + do { if ( unlikely(!(p)) ) assert_failed(#p); } while (0) > #else > #define ASSERT(p) ((void)0) > #endifBut then you should also remove the second stringification in include/asm-x86/bug.h:assert_failed(), so that it becomes (XEN) Assertion ''!in_atomic()'' failed at softirq.c:61 Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2011-Jan-17 14:52 UTC
Re: [Xen-devel] [PATCH] xen: stringify assertion condition for printing sooner
On 17/01/2011 14:28, "Jan Beulich" <JBeulich@novell.com> wrote:> >> diff -r 92e51f0053b5 -r 711cbaa038ca xen/include/xen/lib.h >> --- a/xen/include/xen/lib.h Mon Jan 17 11:43:46 2011 +0000 >> +++ b/xen/include/xen/lib.h Mon Jan 17 14:12:48 2011 +0000 >> @@ -35,7 +35,7 @@ do { >> >> #ifndef NDEBUG >> #define ASSERT(p) \ >> - do { if ( unlikely(!(p)) ) assert_failed(p); } while (0) >> + do { if ( unlikely(!(p)) ) assert_failed(#p); } while (0) >> #else >> #define ASSERT(p) ((void)0) >> #endif > > But then you should also remove the second stringification in > include/asm-x86/bug.h:assert_failed(), so that it becomes > > (XEN) Assertion ''!in_atomic()'' failed at softirq.c:61I''ll give the patch a spin and modify as necessary before I check it in. -- Keir> Jan > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel