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

Re: [Xen-devel] [PATCH] xen: stringify assertion condition for printing sooner



>>> On 17.01.11 at 15:15, Ian Campbell <ian.campbell@xxxxxxxxxx> wrote:
> # HG changeset patch
> # User Ian Campbell <ian.campbell@xxxxxxxxxx>
> # 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@xxxxxxxxxx>

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)
>  #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:61

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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