From Fedora Project Wiki
(→‎Current status: update status and add several links)
No edit summary
Line 1: Line 1:
= Feature Name =
= Feature Name =


== Summary ==
== Summary ==
Line 9: Line 7:
== Owner ==
== Owner ==


* Name: EduardoHabkost, MarkMcLoughlin
* Name: None


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


== Current status ==
== Current status ==
* Last updated: 2008-11-25
* Last updated: 2008-11-26
* Percentage of completion: 30%
* Percentage of completion: 0%
* Targeted release: Unknown
* Targeted release: Unknown
* Status:  
* Fedora 10 shipped 2008-11-25 with Xen i686 and x86_64 DomU support enabled in the stock kernel.
* Dom0 status: awaiting upstream kernel support
* Background:
: [http://wiki.xensource.com/xenwiki/XenParavirtOps  upstream status], [http://xenbits.xen.org/paravirt_ops/patches.hg/  latest pv_ops dom0 patches]
: [http://wiki.xensource.com/xenwiki/XenParavirtOps  upstream status], [http://xenbits.xen.org/paravirt_ops/patches.hg/  latest pv_ops dom0 patches]
: [[FWN/Issue152#Status_of_dom0_Support_in_Upstream_Kernel|FWN #152]], [[FWN/Issue146#No_Dom0_Support_in_Fedora_10|FWN #146]], [[FWN/Issue137#State_of_Xen_in_Upstream_Linux|FWN #137]]
: [[FWN/Issue152#Status_of_dom0_Support_in_Upstream_Kernel|FWN #152]], [[FWN/Issue146#No_Dom0_Support_in_Fedora_10|FWN #146]], [[FWN/Issue137#State_of_Xen_in_Upstream_Linux|FWN #137]]
* Tracker bug {{bz|F10_XenPvOps}} for [[Releases/10 | Fedora 10]]
: [http://lists.xensource.com/archives/html/xen-devel/2008-02/msg00047.html old status #1], [http://lists.xensource.com/archives/html/xen-devel/2008-02/msg00242.html old status #2]
* Fedora 10 shipped 2008-11-25 with Xen i686 and x86_64 DomU support enabled in the stock kernel.
 
=== i386 Dom0 ===
 
* Not yet in rawhide {{package|kernel}}
* Boots, though bare metal is now non-functional until hacks are cleaned up
* DMA (and thus real hardware drivers) working (if it doesn't straddle page boundaries)
* Core needs major cleanup
* Status at  http://lists.xensource.com/archives/html/xen-devel/2008-02/msg00047.html
* http://lists.xensource.com/archives/html/xen-devel/2008-02/msg00242.html
* No backend drivers yet
* Conflicts with x86_64 DomU patches
 
=== x86_64 Dom0 ===


== Detailed Description ==
== 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.
See [[Features/XenPvops]]  for a rationale. This feature just continues the paravirt_ops Xen effort to bring it back to feature parity with Fedora 8 Xen.


== Scope ==
== Scope ==
Line 44: Line 30:
Work items:
Work items:


* Clean up and finish Dom0 boot patches (StephenTweedie, JuanQuintela, MarkMcLoughlin)
* Implement Dom0 support in upstream kernel (JeremyFitzhardinge)
** Backend drivers blkback/blktap and netback requiring: (StephenTweedie, JuanQuintela, MarkMcLoughlin)
* Allow the hypervisor to boot bzImage kernels
** Some ballooning bits
* Make 'new-kernel-pkg' aware of HYPERVISOR setting in /etc/sysconfig/xen
** Foreign pages (i.e. PAGE_FOREIGN and VM_FOREIGN)
* Wait for that upstream kernel version to be pulled into Fedora
** 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)


== How To Test ==
== How To Test ==


* Install a Fedora 10 host/Dom0 system
* Install a Fedora 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 Hypervisor by setting 'HYPERVISOR=/boot/xen-3.3.gz' in /etc/sysconfig/kernel and running some tool (TBD)
* Turn on Xen Userspace by running 'chkconfig xend on'
* Turn on Xen Userspace by running 'chkconfig xend on'
* Reboot
* Reboot
Line 105: Line 45:
* Use virt-install to deploy a Fedora 9/10 paravirt guest
* 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 paravirt guest
* Use virt-install to deploy a Fedora 8 fullyvirt guest
* Use virt-install to deploy a Fedora 8/9/10 fullyvirt guest
* Use 'virsh' to save & restore a PV guest and HVM guest
* Use 'virsh' to save & restore a PV guest and HVM guest
* Balloon down memory of a guest with virsh.
* Balloon down memory of a guest with virsh.
Line 111: Line 51:
== User Experience ==
== User Experience ==


* Xen-ified kernel has same version as bare metal kernel
* Stock Fedora kernel supports Xen
* All kernel updates support Xen
* The Xen kernel does not lag behind the Fedora kernel
* All hardware that works in baremetal works in Xen Dom0
* All features and hardware supported on baremetal also works on Xen Dom0
* No separate kernel RPM required for Xen DomU or Dom0
* Can enable/disable use of HV via a /etc/sysconfig setting
* Can enable/disable use of HV via a /etc/sysconfig setting


== Dependencies ==
== Dependencies ==


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


== Contingency Plan ==
== Contingency Plan ==


If Dom0 support is still not ready for Fedora 10 GA, the options are:
If Dom0 support is not ready, continue the status quo of only shipping with DomU support.
 
* Continue to ship with only DomU support
* Drop Xen support altogether


== Documentation ==
== Documentation ==

Revision as of 09:24, 26 November 2008

Feature Name

Summary

Dom0 support for pvops-based Package-x-generic-16.pngkernel to support hosting of Xen guests which has been lacking since Fedora 8.

Owner

  • Name: None

Previously involved: EduardoHabkost, MarkMcLoughlin, Stephen Tweedie, Chris Wright, Juan Quintela, Markus Armbruster, Glauber Costa, DanielBerrange, ...

Current status

  • Last updated: 2008-11-26
  • Percentage of completion: 0%
  • Targeted release: Unknown
  • Fedora 10 shipped 2008-11-25 with Xen i686 and x86_64 DomU support enabled in the stock kernel.
  • Dom0 status: awaiting upstream kernel support
  • Background:
upstream status, latest pv_ops dom0 patches
FWN #152, FWN #146, FWN #137
old status #1, old status #2

Detailed Description

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

Scope

Work items:

  • Implement Dom0 support in upstream kernel (JeremyFitzhardinge)
  • Allow the hypervisor to boot bzImage kernels
  • Make 'new-kernel-pkg' aware of HYPERVISOR setting in /etc/sysconfig/xen
  • Wait for that upstream kernel version to be pulled into Fedora

How To Test

  • Install a Fedora host/Dom0 system
  • Turn on Xen Hypervisor by setting 'HYPERVISOR=/boot/xen-3.3.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/9/10 fullyvirt guest
  • Use 'virsh' to save & restore a PV guest and HVM guest
  • Balloon down memory of a guest with virsh.

User Experience

  • Stock Fedora kernel supports Xen
  • The Xen kernel does not lag behind the Fedora kernel
  • All features and hardware supported on baremetal also works on Xen Dom0
  • Can enable/disable use of HV via a /etc/sysconfig setting

Dependencies

  • Update to 'new-kernel-pkg' to know how to install HV

Contingency Plan

If Dom0 support is not ready, continue the status quo of only shipping with DomU support.

Documentation

Release Notes

Comments and Discussion