kexec and kdump for Xen PVonHVM guests
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v5 Latest3 patches 3 repliesIn review
- v43 patches 11 repliesSuperseded
Changes in v5 from the cover letter
- drop patch which uses XS_INTRODUCE, a different way to reset watches has to be found
- find_virq(): use NR_EVENT_CHANNELS instead of private MAX_EVTCHNS
- reconnect devices:
add timeout when waiting for backend state change
extent printk message to include backend string
add comment to fall-through case in xenbus_reset_frontend
- new patch which prevents crash in xenwatch_thread() during repeated kexec boots
Patches in v5 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/3 | xen/pv-on-hvm kexec: prevent crash in xenwatch_thread() when stale watch events arrivedrivers/ | +1 | 3 replies | |
| 2/3 | xen/pv-on-hvm kexec: rebind virqs to existing eventchannel portsdrivers/ | +32 | 0 replies | |
| 3/3 | xen/pv-on-hvm kexec+kdump: reset PV devices in kexec or crash kerneldrivers/ drivers/ | +124 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v5 yet.
Cover letter [PATCH 0/3] [v5] kexec and kdump for Xen PVonHVM guests
The following series implements kexec and kdump in a Xen PVonHVM guest.
It is available via git:
git://github.com/olafhering/linux.git xen-kexec-3.0
changes since v4:
- drop patch which uses XS_INTRODUCE, a different way to reset watches has to be found
- find_virq(): use NR_EVENT_CHANNELS instead of private MAX_EVTCHNS
- reconnect devices:
add timeout when waiting for backend state change
extent printk message to include backend string
add comment to fall-through case in xenbus_reset_frontend
- new patch which prevents crash in xenwatch_thread() during repeated kexec boots
The kexec or kdump kernel has to take care of already allocated virqs, PV devices in Closed or Connected state, and of registered watches in the old kernel. With the three patches these conditions are checked during boot of the new kernel rather than in the reboot/crash path.
A fixed kexec-tools-2.0.2 package is required:
http://lists.infradead.org/pipermail/kexec/2011-May/005026.html
http://lists.infradead.org/pipermail/kexec/2011-August/005339.html
Another fix is for xenstored, it has to accept the XS_RESET_WATCHES from a guest. Since the exact interface to xenstored is not yet final, the patch to deal with the reset was removed from this series.
http://lists.xensource.com/archives/html/xen-devel/2011-08/msg00529.html
http://lists.xensource.com/archives/html/xen-devel/2011-08/msg00533.html
One open issue is the balloon driver. It removes pages from the guest and gives them back to the hypervisor. The kexec kernel is not aware of the fact that some pages are unavailable, and hangs or crashes. The workaround for the time being is:
if test -f /sys/devices/system/xen_memory/xen_memory0/target -a \
-f /sys/devices/system/xen_memory/xen_memory0/target_kb
then
cat /sys/devices/system/xen_memory/xen_memory0/target > \
/sys/devices/system/xen_memory/xen_memory0/target_kbfi
kexec -e
This balloon issue has to be resolved with another series of changes.
Olaf
Olaf Hering (3):
xen/pv-on-hvm kexec: prevent crash in xenwatch_thread() when stale
watch events arrive
xen/pv-on-hvm kexec: rebind virqs to existing eventchannel ports xen/pv-on-hvm kexec+kdump: reset PV devices in kexec or crash kernel
drivers/xen/events.c | 37 +++++++- drivers/xen/xenbus/xenbus_comms.c | 4 +- drivers/xen/xenbus/xenbus_probe_frontend.c | 121 ++++++++++++++++++++++++++++ drivers/xen/xenbus/xenbus_xs.c | 2 +- 4 files changed, 157 insertions(+), 7 deletions(-)
Signature · 1 line
1.7.3.4