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

Re: [Xen-users] How to detect a domain shutdown with as less overheadas possible?

  • To: Lionel Bouton <lionel-subscription@xxxxxxxxxxx>
  • From: Kip Macy <kip.macy@xxxxxxxxx>
  • Date: Sat, 30 Apr 2005 08:37:42 -0700
  • Cc: ian.pratt@xxxxxxxxxxxx, xen-users@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Sat, 30 Apr 2005 15:37:23 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=WsY0el5eWk6rsRP4UbeHviaFBADW+904GJBSUWgMb0P5WXsRnSqx1KwiZoPPkQThAtO93tRU0Bu66EgsDq5+LhAA4LMRyd2kVDVCKR9U6k9bkRIHxGy8DENZDJQcNW1S9hARowcPz0yALzV3FJHKqHpJIJq6djEka8yVhlZt/IM=
  • List-id: Xen user discussion <xen-users.lists.xensource.com>

In tools/python/xen/xend/XendDomain.py you'll see that reap is called
by onVirq which in turn is a handler registered for xend.virq.
xend.virq is an event-channel used by xend for notifications. It is
set up in tools/python/xen/xend/server/channel.py. In -testing reap
appears to be called as soon as a domain crashes, meaning that
everything is working as it should. In -unstable a guest doesn't get
reaped until 'xm list' gets called awakening xend to the fact that it
has work to do.

What you might try to do is create a perl binding for the bits of the
xc library that you need or, if SWIG cooperates, the entire thing.
>From there it appears you can set up an event channel notification for
"VIRQ_DOM_EXC    = 4  # (DOM0) Exceptional event for some domain."

Oh and I'm not the expert, Mike Wray is. I just gleaned this from
glancing at the code just now. All I did for coredump was add a call
to reap in the crashed path. I guess if you're *really* lazy, you can
have xend send /var/tmp/myscript.pid a signal whenever it reaps a
domain. Although I doubt a patch for this would be accepted :-)


On 4/29/05, Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx> wrote:
> > I've just finished a simple Perl script that brings out a
> > whole domain from a directory (with a small config file and
> > some <device>.gz files), create Logical Volumes with each
> > device, starts the domain, wait for the domain to shutdown,
> > push back into the *.gz the content of the LVs and remove
> > them. This is quite handy to launch any test machine stored
> > on the NFS server on one of our Xenified hosts.
> Nice.
> > My problem is the overhead of checking for the domain to shut
> > down as I intend to use the domUs not only for functional
> > testing but also to have a good guess of the performance we
> > can get on real hardware (with only one domU / real host).
> We should introduce a call-out for domain exits. Kip's looking core
> dumps, so I guess he's addressing this.
> > After xm create, this script regularly calls :
> > xm domid "domainname"
> > The problem is that this check eats a small chunk of CPU
> > time: it takes
> > 0.2 - 0.3s of real CPU time on each call. I've looked into
> > /proc/xen hoping to find the list of domains stored here,
> > allowing a simple file read or stat to give me the
> > information I need, but it seems there's nothing like this.
> There's a bunch of improvements to xend waiting to be posted which will
> likely help. There's certainly no good reason to be using CPU unless you
> have console output active or something.
> Ian
> _______________________________________________
> Xen-users mailing list
> Xen-users@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-users

Xen-users mailing list



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