On Tue, Aug 27, 2013 at 02:13:34PM +0100, Daniel P. Berrange wrote:
On Thu, Aug 22, 2013 at 09:16:57PM +0200, Paolo Bonzini wrote:
> Il 22/08/2013 19:53, Laszlo Ersek ha scritto:
> >> > We should just introduce a simple watchdog device based on virtio and
> >> > call it a day. Then it's cross platform, solves the guest
enumeration
> >> > problem, and libvirt can detect the presence of the new device.
> > If the guest doesn't initialize the proposed virtio-panic device, then
> > it will lie dormant too, just like the current pvpanic device. That's
good.
> >
> > However a new (standalone) virtio device will take up yet another PCI
> > function (a full device if you want it to be hotpluggable). PCI
> > functions are scarcer than ioports.
>
> Not just that. Panic notifiers are called in a substantially unknown
> environment, with locks taken or interrupts already set up.
>
> This is why we went for a simple ISA device. Configuration via ACPI
> follows naturally from there, and anyway any other standard of the day
> would have had the same problem with Windows. At some point we had ACPI
> methods instead of a simple ioport write, but we had to remove that
> because the ACPI subsystem might have had its lock taken.
>
> Also, a virtio watchdog device makes little sense, IMHO. PV makes sense
> if emulation has insufficient performance, excessive CPU usage, or
> excessive complexity. We already have both an ISA and a PCI watchdog,
> and they serve their purpose wonderfully.
I also don't think that panic notifiers & watchdogs are really
serving the same purpose. The panic notifier is an alert to a
specific known kernel crash. A watchdog is merely a timeout,
which is inferred to mean /something/ went wrong. Both have
their uses IMHO & we should not conflate the two.
Exactly this. They are two different things.
Of course ILOs combine both (and more) in one mega-device :-)
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine. Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/