From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Keir Fraser <keir.xen@gmail.com>
Cc: Jan Beulich <jbeulich@suse.com>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [PATCH 0 of 3] Introduce more debugging flexibility with ASSERT() macros
Date: Tue, 9 Oct 2012 10:55:42 +0100 [thread overview]
Message-ID: <5073F49E.3020204@citrix.com> (raw)
In-Reply-To: <CC98DA9C.4123A%keir.xen@gmail.com>
On 08/10/12 19:31, Keir Fraser wrote:
> On 08/10/2012 19:16, "Andrew Cooper" <andrew.cooper3@citrix.com> wrote:
>
>> The following three patches introduce several debugging macros I have
>> been using for a long time while debugging issues in Xen.
>>
>> ASSERT_PRINK() is hopefully obvious, and ASSERT_RUN() is useful when
>> more complicated printing is required.
> Are these going to get enough use to be worthwhile, rather than open-coding
> them where necessary? In many places we may not care about being able to
> disable the check-and-crash, so avoiding ifdefs is not necessarily a good
> argument.
>
> -- Keir
I hope that ASSERT_PRINTK() will start seeing quite a lot of use,
especially with compound conditional statements where is is impossible
from crash to see which of the individual conditionals failed.
ASSERT_RUN() perhaps not so, but having it available means one less
thing to opencode when debugging.
I had not considered the case for {WARN,BUG}_PRINTK() which have the
same argument as ASSERT_PRINTK(). Would you like to see them introduced
as well?
~Andrew
>
>> The final macro ASSERT_RUN_SINGLE() is not fit for upstream yet. It is
>> designed to force all other PCPUs into a wait loop in an NMI context, so
>> the ASSERT()'ing processor can walk data structures without locks, and
>> without fear that values are changing under its feet. I will work on
>> integrating this into the crash code (as it has a similar setup for the
>> start of the kexec_crash() path), and upstream when I have time.
>>
>> ~Andrew
>
--
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com
prev parent reply other threads:[~2012-10-09 9:55 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-08 18:16 [PATCH 0 of 3] Introduce more debugging flexibility with ASSERT() macros Andrew Cooper
2012-10-08 18:16 ` [PATCH 1 of 3] xen/debug: Allow ASSERT() to be enabled in a non-debug build Andrew Cooper
2012-10-08 18:16 ` [PATCH 2 of 3] xen/debug: Introduce ASSERT_PRINTK() Andrew Cooper
2012-10-15 9:17 ` Jan Beulich
2012-10-15 9:29 ` Andrew Cooper
2012-10-15 9:32 ` Jan Beulich
2012-10-08 18:16 ` [PATCH 3 of 3] xen/debug: Introduce ASSERT_RUN() Andrew Cooper
2012-10-15 9:23 ` Jan Beulich
2012-10-15 9:37 ` Andrew Cooper
2012-10-15 9:42 ` Jan Beulich
2012-10-15 9:52 ` Andrew Cooper
2012-10-15 9:59 ` Jan Beulich
2012-10-08 18:31 ` [PATCH 0 of 3] Introduce more debugging flexibility with ASSERT() macros Keir Fraser
2012-10-09 9:55 ` Andrew Cooper [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5073F49E.3020204@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=jbeulich@suse.com \
--cc=keir.xen@gmail.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.