xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: George Dunlap <george.dunlap@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [PATCH 2 of 2] libxc: Print domain ID in save restore messages
Date: Mon, 12 Mar 2012 10:37:41 +0000	[thread overview]
Message-ID: <1331548661.21818.11.camel@elijah> (raw)
In-Reply-To: <1331318012.3560.49.camel@cthulhu.hellion.org.uk>

On Fri, 2012-03-09 at 18:33 +0000, Ian Campbell wrote:
> On Fri, 2012-03-09 at 13:25 -0500, George Dunlap wrote:
> > On Fri, 2012-03-09 at 18:19 +0000, Ian Campbell wrote:
> > > On Fri, 2012-03-09 at 12:29 -0500, George Dunlap wrote:
> > > > XenServer redirects all libxc output to /var/log/messages, so when a
> > > > large stress test is running, it's hard to tell which message belongs
> > > > to which domain.
> > > > 
> > > > This patch adds the domain ID to output made by the save/restore
> > > > functions.
> > > > 
> > > > To do this, we introduce a layer of indirection in the libxc print
> > > > macros, so that they can be "interposed on" by individual functions.
> > > > 
> > > > We then add the domain ID to the context structs in the save and restore
> > > > paths, and replace the toplevel macros with ones which add the domain to the
> > > > output.
> > > > 
> > > > Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
> > > > 
> > > > diff --git a/tools/libxc/xc_domain_restore.c b/tools/libxc/xc_domain_restore.c
> > > > --- a/tools/libxc/xc_domain_restore.c
> > > > +++ b/tools/libxc/xc_domain_restore.c
> > > > @@ -33,7 +33,20 @@
> > > >  #include <xen/hvm/ioreq.h>
> > > >  #include <xen/hvm/params.h>
> > > >  
> > > > +/* Override default output f'ns with functions that include the domain id */
> > > > +#undef IPRINTF
> > > > +#define IPRINTF(_F, _A...) _IPRINTF("d%d:" _F, ctx->dom, ## _A)
> > > 
> > > I think
> > > 
> > > #define DIPRINTF(_F, _A...) IPRINTF("d%s:" _F, ctx->dom, ## _A)
> > > 
> > > (or DOMIPRINTF etc) would end up looking nicer than these undef and the
> > > _IPRINTFs you've had to scatter around the place.
> > 
> > Perhaps; but that also requires that every person changing this file
> > forever more must remember to write "DIPRINTF" instead of "IPRINTF".
> 
> They already have to remember to write IPRINTF instead of printf(), most
> people will just copy whatever is used nearby, whether that is IPRINTF,
> _IPRINTF or DIPRINTF...
> 
> > (And it requires me to change 10x as many LoC.)
> 
> That's irritating but not a show stopper IMHO.
> 
> Coming from the other angle can you omit all uses of _IPRINTF by passing
> the context around a few more places? I'd have expected that everything
> in xc_domain_save.c was ultimately called from xc_domain_save and
> therefore the is a dom which could be printed?

There's a non-static function xc_map_m2p() which is defined in
xc_domain_save.c, but called from xc_offline_page.c and
tools/tests/mce-test/tools/xce-mceinj.c.  That should probably then be
moved to another file in any case.

If I move that function to a different file, so that there are no
_IPRINTF's, would that suffice?

 -George

> 
> Ian.
> 

  reply	other threads:[~2012-03-12 10:37 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-09 17:29 [PATCH 0 of 2] libxc: Print domain ID with libxc save/restore messages George Dunlap
2012-03-09 17:29 ` [PATCH 1 of 2] libxc: Pass the save_ctx struct to more functions George Dunlap
2012-03-13 16:15   ` Ian Jackson
2012-03-09 17:29 ` [PATCH 2 of 2] libxc: Print domain ID in save restore messages George Dunlap
2012-03-09 18:19   ` Ian Campbell
2012-03-09 18:25     ` George Dunlap
2012-03-09 18:33       ` Ian Campbell
2012-03-12 10:37         ` George Dunlap [this message]
2012-03-12 10:41           ` Ian Campbell
2012-03-13 16:15           ` Ian Jackson

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=1331548661.21818.11.camel@elijah \
    --to=george.dunlap@citrix.com \
    --cc=George.Dunlap@eu.citrix.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=xen-devel@lists.xensource.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).