Archived/Xen Development Projects
Xen Development Projects
This page lists various Xen related development projects that can be picked up by anyone! If you're interesting in hacking Xen this is the place to start! Ready for the challenge?
To work on a project:
- Find a project that looks interesting.
- Send an email to xen-devel mailinglist and let us know you started working on a specific project.
- Post your ideas, questions, RFCs to xen-devel sooner than later so you can get comments and feedback.
- Send patches to xen-devel early for review so you can get feedback and be sure you're going into correct direction.
- Your work should be based on xen-unstable development tree, if it's Xen and/or tools related. After your patch has been merged to xen-unstable it can be backported to stable branches (Xen 4.0, Xen 3.4, etc).
- Your kernel related patches should be based on either upstream kernel.org git tree (latest version), or xen/stable-2.6.32.x tree, depending if it's upstream or xen dom0 related work.
xen-devel mailinglist subscription and archives: http://lists.xensource.com/mailman/listinfo/xen-devel
When sending patches to xen-devel make sure you include a Signed-off-by line, like this:
Signed-off-by: Firstname Lastname <email@domain>
Always send patches as unified diffs ("diff -u"), attached to the message, and/or also inlined to the body of the message for easier review.
List of projects
If you have new ideas, suggestions or development plans let us know and we'll update this list!
Domain support
Upstreaming Xen PVSCSI drivers to mainline Linux kernel
Date of insert: 01/08/2012
Technical contact: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
PVSCSI drivers needs to be upstreamed yet. Necessary operations may include:
- Task 1: Upstream PVSCSI scsifront frontend driver (for domU).
- Task 2: Upstream PVSCSI scsiback backend driver (for dom0).
- Send to various related upstream mailinglists for review, comments.
- Fix any upcoming issues.
- Repeat until merged to upstream Linux kernel git tree.
- http://git.kernel.org/?p=linux/kernel/git/konrad/xen.git;a=shortlog;h=refs/heads/devel/xen-scsi.v1.0
- More info: http://wiki.xen.org/xenwiki/XenPVSCSI
Upstreaming Xen PVUSB drivers to mainline Linux kernel
Date of insert: 01/08/2012
Technical contact: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
PVUSB drivers needs to be upstreamed yet. Necessary operations may include:
- Upstream PVUSB usbfront frontend driver (for domU).
- Upstream PVUSB usbback backend driver (for dom0).
- Send to various related upstream mailinglists for review, comments.
- Fix any upcoming issues.
- Repeat until merged to upstream Linux kernel git tree.
- http://git.kernel.org/?p=linux/kernel/git/konrad/xen.git;a=shortlog;h=refs/heads/devel/xen-usb.v1.1
- More info: http://wiki.xen.org/xenwiki/XenUSBPassthrough
Blkback improvements
Date of insert: 02/08/2012
Technical contact: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Blkback requires a number of improvements, some of them being:
- Multiple disks in a guest cause contention in the global pool of pages.
- There is only one ring page and with SSDs nowadays we should make this larger, implementing some multi-page support.
- With multi-page it becomes apparent that the segment size ends up wasting a bit of space on the ring. BSD folks fixed that by negotiating a new parameter to utilize the full size of the ring.
- Add DIF/DIX support [1]
- Further perf evaluation needs to be done to see how it behaves under high load.
Netback overhaul
Date of insert: 02/08/2012
Technical contact: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Wei Liu posted RFC patches that make the driver be multi-page, multi-event channel and with a page-pool. An interested candidate should look over those and fix up issues raised during review. Additively, a zero-copy implementation can be considered. Patch serie and discussions:
- http://lists.xen.org/archives/html/xen-devel/2012-01/msg02561.html
- http://www.spinics.net/lists/linux-nfs/msg22575.html
PAT writecombine fixup
Date of insert: 02/08/2012
Technical contact: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
The writecombine feature (especially for graphic adapters) is turned off due to stability reasons. More specifically, the code involved in page transition from WC to WB gets confused about the PSE bit state in the page, resulting in a set of repeated warnings. For more informations please check:
- Linux git revision 8eaffa67b43e99ae581622c5133e20b0f48bcef1
- http://lists.xen.org/archives/html/xen-devel/2012-06/msg01950.html
ACPI S3-state investigation and fixup
Date of insert: 02/08/2012
Technical contact: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
During Linux-3.3 release the the S3-state was supposed to work including these patches:
But now it is not working anymore. An interested candidate should put effort in understanding the reasons for the issues and fix them.
PUD L3 - big memory - fixup
Date of insert: 02/08/2012
Technical contact: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Right now guests don't boot with a huge amount of requested kernel memory (tries report failing with certainly 384GB). An interested candidate should put effort in understanding the reasons. This likely involves digging into the toolstack too.
Parallel xenwatch
Date of insert: 01/08/2012
Technical contact: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Xenwatch is locked with a coarse lock. For a huge number of guests this represents a scalability issue. The need is to rewrite the xenwatch locking in order to support full scalability.
Hypervisor
Microcode uploader implementation
Date of insert: 02/08/2012
Technical contact: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Intel is working on early implementation where the microcode blob would be appended to the initrd image. The kernel would scan for the appropiate magic constant and load the microcode very early.
The Xen hypervisor can do this similary.
Performace
Performance tools overhaul
Date of insert: 02/08/2012
Technical contact: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Generally, works on the performance tool themselves should be listes separately to the Xen_Profiling:_oprofile_and_perf wiki page.
Xen Cloud Platform (XCP) and XAPI projects
There are separate wiki pages about XCP and XAPI related projects. Make sure you check these out aswell!
- XCP and XAPI development projects: XAPI project suggestions
- XCP short-term roadmap: XCP short term roadmap
- XCP monthly developer meetings: XCP Monthly Meetings
- XAPI developer guide: XAPI Developer Guide
Please see XenRepositories: wiki page!