qemu-ppc
[Top][All Lists]
Advanced

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

spapr watchdog vs watchdog_perform_action() / QMP watchdog-set-action


From: Peter Maydell
Subject: spapr watchdog vs watchdog_perform_action() / QMP watchdog-set-action
Date: Fri, 26 Jan 2024 15:23:44 +0000

Hi; one of the "bitesized tasks" we have listed is to convert
watchdog timers which directly call qemu_system_reset_request() on
watchdog timeout to call watchdog_perform_action() instead. This
means they honour the QMP commands that let the user specifiy
the behaviour on watchdog expiry:
https://www.qemu.org/docs/master/interop/qemu-qmp-ref.html#qapidoc-141
https://www.qemu.org/docs/master/interop/qemu-qmp-ref.html#qapidoc-129
(choices include reset, power off the system, do nothing, etc).

There are only a few remaining watchdogs that don't use the
watchdog_perform_action() function. In most cases the change
is obvious and easy: just make them do that instead of calling
qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET).

However, the hw/watchdog/spapr_watchdog.c case is trickier. As
far as I can tell from the sources, this is a watchdog set up via
a hypercall, and the guest makes a choice of "power off, restart,
or dump and restart" for its on-expiry action.

What should this watchdog's interaction with the watchdog-set-action
QMP command be? If the user says "do X" and the guest says "do Y",
which do we do? (With the current code, we always honour what
the guest asks for and ignore what the user asks for.)

(The bitesized task for watchdog_perform_action() is
https://gitlab.com/qemu-project/qemu/-/issues/2124 . For the
purposes of this email thread I'm only after a concrete decision
about what we think the right thing is, not for any code. Then
I can write that up in the bug for potential new contributors.)

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]