Live-Updating Xen: Difference between revisions

From Xen
Jump to navigationJump to search
(→‎Current State: clarify the POC works with patches in Varad's tree.)
(→‎More information: add link to video)
Line 41: Line 41:


* [https://static.sched.com/hosted_files/xensummit19/1f/20190710-xensummit-live-updating-xen.pdf Slides from Xen Summit 2019]
* [https://static.sched.com/hosted_files/xensummit19/1f/20190710-xensummit-live-updating-xen.pdf Slides from Xen Summit 2019]
* Video recording of the Xen Summit 2019 talk
* [https://www.youtube.com/watch?v=ANaDS9BUhuA&list=PLYyw7IQjL-zHmP6CuqwuqfXNK5QLmU7Ur&index=15&t=0s Video recording of the Xen Summit 2019 talk]

Revision as of 18:43, 15 July 2019

Live-Updating Xen

Current State

Initial proof-of-concept with patches from Varad's tree (link below) - no kexec involved:

Save a PV domain state, leave guest memory in the RAM:
# xl save -s domU domU.img 

Restore domain state reusing magic mfns. The shared_info page contents are preserved:
# xl restore -T domU.img <l3tab_mfn> <l2tab_mfn> <shared_info_mfn>

TODO: Restore console, reconstruct guest pagetables from shared_info.

Development trees

http://git.infradead.org/users/dwmw2/xen.git/shortlog/refs/heads/bootcleanup

https://github.com/varadgautam/xen/tree/liveupdate-devel

TODO

This list will move to the JIRA instance

  • Devel milestone: PV domU persists across domain destroy/create
  • Dom0 persists across kexec
  • HVM guests persist across kexec
  • PV guests persist across kexec
  • One guest persists across kexec
  • Multiple guests persist across kexec
  • Guests exercise workloads
  • Update to same Xen binary as the Target Xen
  • Update to a Xen binary with a minor change, like a new printk
  • Update to a Xen binary with a fix for an XSA
  • Update to a new minor version
  • Update to a new major version

More information