From Fedora Project Wiki
(→‎Detailed Description: fix broken wiki link)
(Mark some stuff as done)
Line 41: Line 41:
 
== Scope ==
 
== Scope ==
  
Work items for [[Releases/10|  Fedora 10]] :
+
Work items:
  
 
* Clean up and finish Dom0 boot patches (StephenTweedie, JuanQuintela, MarkMcLoughlin)
 
* Clean up and finish Dom0 boot patches (StephenTweedie, JuanQuintela, MarkMcLoughlin)
* Backend drivers blkback/blktap and netback requiring: (StephenTweedie, JuanQuintela, MarkMcLoughlin)
+
** Backend drivers blkback/blktap and netback requiring: (StephenTweedie, JuanQuintela, MarkMcLoughlin)
* Some ballooning bits
+
** Some ballooning bits
* Foreign pages (i.e. PAGE_FOREIGN and VM_FOREIGN)
+
** Foreign pages (i.e. PAGE_FOREIGN and VM_FOREIGN)
* zap_pte()
+
** zap_pte()
* Grant table ops
+
** Grant table ops
* Save / restore
+
** Save / restore
* Memory ballooning
+
** Memory ballooning
* x86_64:
+
* x86_64: (DONE)
* Latest x86.git has useful patches on paravirt_ops pagetable handling
+
** Latest x86.git has useful patches on paravirt_ops pagetable handling
* ia32 emulation support
+
** ia32 emulation support
* SMP support
+
** SMP support
* Debug other problems that may appear
+
** Debug other problems that may appear
* Cleanup of code for inclusion upstream
+
** Cleanup of code for inclusion upstream
* Some code need to be changed to be enabled at runtime if running under xen, instead of being enabled at compile time (pvops infra-structure may need to be extended to make it possible, on some cases)
+
** Some code need to be changed to be enabled at runtime if running under xen, instead of being enabled at compile time (pvops infra-structure may need to be extended to make it possible, on some cases)
  
Merged kernel:
+
Merged kernel: (DONE)
  
 
* Merge kernel-xen into 'kernel' RPM (MarkMcLoughlin)
 
* Merge kernel-xen into 'kernel' RPM (MarkMcLoughlin)
 
* Make bzImage bootable so the same kernel can boot on Xen and bare-metal
 
* Make bzImage bootable so the same kernel can boot on Xen and bare-metal
* Patches for DomU bzImage boot are in xen-unstable and x86.git
+
** Patches for DomU bzImage boot are in xen-unstable and x86.git
* Adding Dom0 bzImage boot to the HV is a bit harder
+
** Adding Dom0 bzImage boot to the HV is a bit harder
 
* Remove images/xen/{initrd,vmlinux} from install trees (JeremyKatz ?)
 
* Remove images/xen/{initrd,vmlinux} from install trees (JeremyKatz ?)
 
* Make 'new-kernel-pkg' aware of HYPERVISOR setting in /etc/sysconfig/xen (DanielBerrange)
 
* Make 'new-kernel-pkg' aware of HYPERVISOR setting in /etc/sysconfig/xen (DanielBerrange)
Line 84: Line 84:
 
Finished items:
 
Finished items:
  
 +
* x86_64 support upstream (see above)
 +
* Merged kernel (see above)
 
* First-cut of Dom0 boot (StephenTweedie, JuanQuintela, MarkMcLoughlin)
 
* First-cut of Dom0 boot (StephenTweedie, JuanQuintela, MarkMcLoughlin)
 
* ACPI
 
* ACPI

Revision as of 16:06, 30 July 2008

Feature Name

Summary

Dom0 support for pvops-based kernel-xen .

Owner

  • Name: EduardoHabkost, MarkMcLoughlin

Others involved: Stephen Tweedie, Chris Wright, Juan Quintela, Markus Armbruster, Glauber Costa, DanielBerrange, ...

Current status

  • Targeted release: Fedora 10
  • Last updated: 2008-03-17
  • Percentage of completion: 30%

Tracker bug for this feature: [1]

i386 Dom0

x86_64 Dom0

  • No active work yet....

Detailed Description

See Features/XenPvops for a rationale. This feature just continues to paravirt_ops Xen effort to bring it back to feature parity with Fedora 8 Xen.

Scope

Work items:

  • Clean up and finish Dom0 boot patches (StephenTweedie, JuanQuintela, MarkMcLoughlin)
    • Backend drivers blkback/blktap and netback requiring: (StephenTweedie, JuanQuintela, MarkMcLoughlin)
    • Some ballooning bits
    • Foreign pages (i.e. PAGE_FOREIGN and VM_FOREIGN)
    • zap_pte()
    • Grant table ops
    • Save / restore
    • Memory ballooning
  • x86_64: (DONE)
    • Latest x86.git has useful patches on paravirt_ops pagetable handling
    • ia32 emulation support
    • SMP support
    • Debug other problems that may appear
    • Cleanup of code for inclusion upstream
    • Some code need to be changed to be enabled at runtime if running under xen, instead of being enabled at compile time (pvops infra-structure may need to be extended to make it possible, on some cases)

Merged kernel: (DONE)

  • Merge kernel-xen into 'kernel' RPM (MarkMcLoughlin)
  • Make bzImage bootable so the same kernel can boot on Xen and bare-metal
    • Patches for DomU bzImage boot are in xen-unstable and x86.git
    • Adding Dom0 bzImage boot to the HV is a bit harder
  • Remove images/xen/{initrd,vmlinux} from install trees (JeremyKatz ?)
  • Make 'new-kernel-pkg' aware of HYPERVISOR setting in /etc/sysconfig/xen (DanielBerrange)
  • Make virt-install use images/pxeboot/{initrd,vmlinux} for DomU installs (DanielBerrange)
  • Make 'xen' SRPM build a xen-hypervisor containing the HV (DanielBerrange)

Nice to have:

  • CPU hotplug
  • Migration support
  • 32-on-64 support (both DomU and Dom0)
  • LiveCD with pvops enabled kernel as DomU ?
  • Kexec on pvops dom0

Unlikely to get: (ie feature regressions)

  • PCI device passthrough to DomU

Finished items:

  • x86_64 support upstream (see above)
  • Merged kernel (see above)
  • First-cut of Dom0 boot (StephenTweedie, JuanQuintela, MarkMcLoughlin)
  • ACPI
  • ioremap
  • IRQ routing
  • DMA/contiguous pages
  • MTRR
  • privcmd interface, other /proc/xen bits, /sys/hypervisor, /dev/evtchn (MarkMcLoughlin)

Test Plan

  • Install a Fedora 10 host/Dom0 system
  • Turn on Xen Hypervisor by setting 'HYPERVISOR=/boot/xen-3.2.gz' in /etc/sysconfig/kernel and running some tool (TBD)
  • Turn on Xen Userspace by running 'chkconfig xend on'
  • Reboot
  • Observe presence of Xen via /sys/hypervisor/
  • Run 'xm list' and observe Domain-0
  • Use virt-install to deploy a Fedora 9/10 paravirt guest
  • Use virt-install to deploy a Fedora 8 paravirt guest
  • Use virt-install to deploy a Fedora 8 fullyvirt guest
  • Use 'virsh' to save & restore a PV guest and HVM guest
  • Balloon down memory of a guest with virsh.

User Experience

  • Xen-ified kernel has same version as bare metal kernel
  • All kernel updates support Xen
  • All hardware that works in baremetal works in Xen Dom0
  • No separate kernel RPM required for Xen DomU or Dom0
  • Can enable/disable use of HV via a /etc/sysconfig setting

Dependencies

  • Update to anaconda to not build a 'images/xen/' directory anymore
  • Update to 'new-kernel-pkg' to know how to install HV

Contingency Plan

If Dom0 support is still not ready for Fedora 10 GA, the options are:

  • Continue to ship with only DomU support
  • Drop Xen support altogether

Documentation

Release Notes