Re: [Xen-devel] [PATCH] xen/pv-on-hvm kexec: shutdown watches from old kernel

Olaf Hering
2012-07-10T15:24:28Z

On Tue, Jul 10, Konrad Rzeszutek Wilk wrote:

> On Tue, Jul 10, 2012 at 02:50:03PM +0200, Olaf Hering wrote:
> > Add xs_reset_watches function to shutdown watches from old kernel after
> > kexec boot. The old kernel does not unregister all watches in the
> > shutdown path. They are still active, the double registration can not
> > be detected by the new kernel. When the watches fire, unexpected events
> > will arrive and the xenwatch thread will crash (jumps to NULL). An
> > orderly reboot of a hvm guest will destroy the entire guest with all its
> > resources (including the watches) before it is rebuilt from scratch, so
> > the missing unregister is not an issue in that case.
> >
> > With this change the xenstored is instructed to wipe all active watches
> > for the guest. However, a patch for xenstored is required so that it
> > accepts the XS_RESET_WATCHES request from a client (see changeset
> > 23839:42a45baf037d in xen-unstable.hg). Without the patch for xenstored
> > the registration of watches will fail and some features of a PVonHVM
> > guest are not available. The guest is still able to boot, but repeated
> > kexec boots will fail.
>
> OK, so this should make the reset of xenstore work with the new hypervisor,
> but with older ones (like Amazon), it won't and we won't have regressions, right?

The reset happens only if "platform-feature-xs_reset_watches" exists, so
old hosts are supposed to be ok.

Olaf