|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v1 2/7] sched: Remove dependency on __LINE__ for release builds
>>> On 06.05.16 at 17:48, <ross.lagerwall@xxxxxxxxxx> wrote:
> When using xsplice, use of __LINE__ can generate spurious changes in
> functions due to embedded line numbers. For release builds, remove the
> use of these line numbers in domain_crash*() and print the current text
> address instead.
Which makes it more cumbersome to look up the origin. At the very
least ...
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -611,20 +611,34 @@ void vcpu_end_shutdown_deferral(struct vcpu *v);
> * from any processor.
> */
> void __domain_crash(struct domain *d);
> +#ifdef NDEBUG
... should this imo become "defined(NDEBUG) &&
defined(CONFIG_XSPLICE)" then.
> +#define domain_crash(d) do { \
> + printk("domain_crash called from %p\n", current_text_addr()); \
And I'd really expect %ps or %pS to be used here.
> + __domain_crash(d); \
> +} while (0)
> +#else
> #define domain_crash(d) do { \
> printk("domain_crash called from %s:%d\n", __FILE__, __LINE__); \
> __domain_crash(d); \
> } while (0)
> +#endif
Furthermore, considering this basically repeats ...
> +#ifdef NDEBUG
> +#define domain_crash_synchronous() do { \
> + printk("domain_crash_sync called from %p\n", current_text_addr()); \
> + __domain_crash_synchronous(); \
> +} while (0)
> +#else
> #define domain_crash_synchronous() do { \
> printk("domain_crash_sync called from %s:%d\n", __FILE__, __LINE__); \
> __domain_crash_synchronous(); \
> } while (0)
> +#endif
... here, please limit the #ifdef-ery by abstracting just the
printk() invocation in a way that makes it possible to be used in
both places.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |