From Fedora Project Wiki

Revision as of 12:16, 19 January 2009 by Markmc (talk | contribs) (HypervisorDevelopment moved to Archive:HypervisorDevelopment: Archiving crufty virt pages)

This page is woefully out of date
Everything described here harks back to FC7 days and is retained here for historical purposes only.

Hypervisor Development

This page is a repository of information relating to Hypervisor Development in Fedora.


Links & Resources

Papers

TODO List

Task Ownership Legend

  • jm - JamesMorris
  • hx - HerbertXu
  • sct - StephenTweedie
  • sr - StevenRostedt

Add yourself to the above if you wish to participate. Once you select a task to work on, add your initials (in bold) next to it below. To add a new item, discuss it first on the fedora-xen mailing list then update this page.


Current Items (FC7)

  • Security audit [hx]
  • Network performance [hx]
  • Analyze & document Credit Scheduler, identify issues and potential improvements [sr]
  • lhype [jm]


Future Items

  • Enforce binary interface versioning for HV & VMs
  • SMP scalablility ^1^
  • Investigate re-writing timer code using latest Linux kernel ideas (sr ?)
  • XSM (jm ?)
  • Investigate NAPI-like mitigation within the HV
  • May need to add HV heap ballooning
  • NUMA functionality (upstream ?)
  • ia64
  • ppc64
  • big pages (upstream work)
  • MSI (upstream work)
  • PM (upstream work)
  • Virtualized block I/O ^2^
  • Migration from 32 to 64-bit host (investigate some time, probably very difficult)
  • PAE > 16GB  ?
  • Xen Share ?


^1^ Andrew Theurer from IBM presented a paper at OLS on a number of SMP scalability issues. The big ones were writeable pagetables (with his tests it appears to be slower than emulation even on UP); page table lock contention and global counter when writing to CR3.

^2^ sct: Initially, just the normal virtual disk front/back-end pair. For FC5, and certainly for RHEL-5, ideally we'd like to have something that looks like a real SCSI block device. ie. that supports proper SCSI ID inquiries from domU etc.