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

Re: [Xen-devel] [Hackathon Minutes] Xen 4.4 Planning

--On 14 June 2013 13:25:38 -0400 Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> wrote:

What we had issues was that when compiling against a new hypervisor
API it all compiled, but launching guests was broken. What we found was
that some structures had changed and their corresponding
XEN_VERSION_SOMETHING changed as well. But it was not clear _which_ of
the structures changed so it took a while to figure out that the cpumap
had been changed (I think that is what it was). There was also some HVM
parameter field that had to be added otherwise the guest would not boot
(can't remember the details).

That's precisely it.

Actually the one that REALLY bit us was far more subtle. We have a
multithreaded, forking agent. In Xen 4.2 (but not 4.1) you have to
call some post-fork function (whose name escapes me) in order to
tell xen about a fork. Signal handlers have to be in a particular
state (in particular SIGCHLD being set to ignore causes subtle
problems). And to get various xl calls working (mainly server
creation), it turns out you need to do a fork (assuming your
client is multithreaded and other threads call other xen things
even with different contexts); again this wasn't necessary in 4.1.

We have this working reliably now, but it was a voyage of
discovery particularly as there are no multithreaded client examples,
and whilst this is (sort of) explained in the header files, it's a
bit opaque. Seeing xl launch stuff, and our agent fail when it was
passing byte for byte the same values was frustrating. If I felt I
really understood how this worked (rather than discovered from trial
and error and a lot of strace), I'd have sent a documentation patch.

So this wasn't a change in the API in the sense of structs changing
or parameters changing (we caught that early at compile time), but
in how the thing gets used in practice.

I fully understand why the API was changed 4.2 -> 4.3, and really
appreciate the fact it's now stable (or at least advertised as
such). Initial indications (i.e. it built first time without
warnings) are good.

Alex Bligh

Xen-devel mailing list



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