Archived/Xen Development Projects: Difference between revisions
(A bit more details for XL to XCP migration) |
m (Add references to GSoC 2013) |
||
Line 236: | Line 236: | ||
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. |
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 similarly. |
The Xen hypervisor can do this similarly. [[GSoC_2013#microcode-uploader]] |
||
|GSoC=Yes |
|GSoC=Yes |
||
}} |
}} |
||
Line 252: | Line 252: | ||
These same arguments apply to Xen. The purpose of this project would be to implement a similar functionality in Xen, |
These same arguments apply to Xen. The purpose of this project would be to implement a similar functionality in Xen, |
||
and to make it interface as well as possible with the Linux PowerClamp tools, so that the same tools could be used |
and to make it interface as well as possible with the Linux PowerClamp tools, so that the same tools could be used |
||
for both. |
for both. [[GSoC_2013#powerclamp-for-xen]] |
||
|GSoC=Yes |
|GSoC=Yes |
||
}} |
}} |
||
Line 288: | Line 288: | ||
''Note for the GSoC Working Group: this can be coalesced with any other project called "Xen in the Real-Time/Embedded World: XXX" (or even with both of them).'' |
''Note for the GSoC Working Group: this can be coalesced with any other project called "Xen in the Real-Time/Embedded World: XXX" (or even with both of them).'' |
||
[[GSoC_2013#isolation-vcpu-sedf]] |
|||
|GSoC=Yes |
|GSoC=Yes |
||
}} |
}} |
||
Line 305: | Line 307: | ||
''Note for the GSoC Working Group: this can be coalesced with any other project called "Xen in the Real-Time/Embedded World: XXX" (or even with both of them).'' |
''Note for the GSoC Working Group: this can be coalesced with any other project called "Xen in the Real-Time/Embedded World: XXX" (or even with both of them).'' |
||
[[GSoC_2013#multiprocessor-sedf]] |
|||
|GSoC=Yes |
|GSoC=Yes |
||
}} |
}} |
||
Line 385: | Line 389: | ||
Linux hotplug scripts should be analized, providing a good description of what each hotplug script is doing. After this, scripts should be cleaned, putting common pieces of code in shared files across all scripts. A Coding style should be applied to all of them when the refactoring is finished. |
Linux hotplug scripts should be analized, providing a good description of what each hotplug script is doing. After this, scripts should be cleaned, putting common pieces of code in shared files across all scripts. A Coding style should be applied to all of them when the refactoring is finished. |
||
[[GSoC_2013#linux-hotplug-scripts]] |
|||
|GSoC=Yes |
|GSoC=Yes |
||
}} |
}} |
||
Line 406: | Line 412: | ||
An acceptable alternative to the proposed implementation would be to implement a tool which converts between a commonly used VM container format which is supported by XCP (perhaps [http://en.wikipedia.org/wiki/Open_Virtualization_Format OVF] or similar) and the xl toolstack configuration file and disk image formats. |
An acceptable alternative to the proposed implementation would be to implement a tool which converts between a commonly used VM container format which is supported by XCP (perhaps [http://en.wikipedia.org/wiki/Open_Virtualization_Format OVF] or similar) and the xl toolstack configuration file and disk image formats. |
||
[[GSoC_2013#xl-to-xcp-vm-motion]] |
|||
|GSoC=Yes |
|GSoC=Yes |
||
}} |
}} |
||
Line 419: | Line 426: | ||
This project is about implementing disk snapshots support in libxl, using the QMP protocol to issue commands to QEMU. Users should be able to manage the entire life-cycle of their disk snapshots via xl. The candidate should also explore ways to integrate disk snapshots into the regular Xen save/restore mechanisms and provide a solid implementation for xl/libxl. |
This project is about implementing disk snapshots support in libxl, using the QMP protocol to issue commands to QEMU. Users should be able to manage the entire life-cycle of their disk snapshots via xl. The candidate should also explore ways to integrate disk snapshots into the regular Xen save/restore mechanisms and provide a solid implementation for xl/libxl. |
||
[[GSoC_2013#vm-snapshots]] |
|||
|GSoC=Yes |
|GSoC=Yes |
||
}} |
}} |
||
Line 436: | Line 444: | ||
The purpose of this project would be to allow HVM guests to load the physical card's VGA bios, so that the guest can |
The purpose of this project would be to allow HVM guests to load the physical card's VGA bios, so that the guest can |
||
boot with it as the primary display. |
boot with it as the primary display. |
||
[[GSoC_2013#gpu-passthrough]] |
|||
|GSoC=Yes |
|GSoC=Yes |
||
}} |
}} |
||
Line 449: | Line 459: | ||
This is too coarse-grained to do inside the hypervisor; a user-space tool would be sufficient. The goal of this project would |
This is too coarse-grained to do inside the hypervisor; a user-space tool would be sufficient. The goal of this project would |
||
be to come up with a good way for admins to support these kinds of complex policies in a simple and robust way. |
be to come up with a good way for admins to support these kinds of complex policies in a simple and robust way. |
||
|GSoC=Yes |
|GSoC=Yes |
||
}} |
}} |
||
Line 556: | Line 567: | ||
|Desc= |
|Desc= |
||
MirageOS (http://openmirage.org) is a type-safe exokernel written in OCaml which generates highly specialised "appliance" VMs that run directly on Xen without requiring an intervening guest kernel. We would like to use the Mirage/Xen libraries to fuzz test all levels of a typical cloud toolstack. Mirage has low-level bindings for Xen hypercalls, mid-level bindings for domain management, and high-level bindings to XCP for cluster management. This project would build a QuickCheck-style fuzzing mechanism that would perform millions of random operations against a real cluster, and identify bugs with useful backtraces. |
MirageOS (http://openmirage.org) is a type-safe exokernel written in OCaml which generates highly specialised "appliance" VMs that run directly on Xen without requiring an intervening guest kernel. We would like to use the Mirage/Xen libraries to fuzz test all levels of a typical cloud toolstack. Mirage has low-level bindings for Xen hypercalls, mid-level bindings for domain management, and high-level bindings to XCP for cluster management. This project would build a QuickCheck-style fuzzing mechanism that would perform millions of random operations against a real cluster, and identify bugs with useful backtraces. |
||
[[GSoC_2013#fuzz-testing-mirage]] |
|||
}} |
}} |
||
Line 622: | Line 635: | ||
* Task 3: Determine which combinations of kernel branches should be added to the test schedules, push gates, etc. and write this up in a report for deployment by the infrastructure maintainers. |
* Task 3: Determine which combinations of kernel branches should be added to the test schedules, push gates, etc. and write this up in a report for deployment by the infrastructure maintainers. |
||
* More information: See xen-devel test reports. Code is at http://xenbits.xen.org/gitweb/?p=osstest.git;a=summary |
* More information: See xen-devel test reports. Code is at http://xenbits.xen.org/gitweb/?p=osstest.git;a=summary |
||
[[GSoC_2013#debian-installer]] |
|||
|GSoC=Yes |
|GSoC=Yes |
||
}} |
}} |
||
Line 638: | Line 653: | ||
* Task 6: Determine which versions of NetBSD and of Linux should be tested in which combinations and write this up in a report for deployment by the infrastructure maintainers. |
* Task 6: Determine which versions of NetBSD and of Linux should be tested in which combinations and write this up in a report for deployment by the infrastructure maintainers. |
||
* More information: See xen-devel test reports. Code is at http://xenbits.xen.org/gitweb/?p=osstest.git;a=summary |
* More information: See xen-devel test reports. Code is at http://xenbits.xen.org/gitweb/?p=osstest.git;a=summary |
||
[[GSoC_2013#testing-netbsd]] |
|||
|GSoC=Yes |
|GSoC=Yes |
||
}} |
}} |
Revision as of 12:01, 30 January 2013
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 (or a bug if you want to start with something simple)
- 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.2, Xen 4.1, etc).
- Your kernel related patches should be based on upstream kernel.org Linux git tree (latest version).
xen-devel mailinglist subscription and archives: http://lists.xensource.com/mailman/listinfo/xen-devel
Before to submit patches, please look at Submitting Xen Patches wiki page.
If you have new ideas, suggestions or development plans let us know and we'll update this list!
List of projects
Domain support
Upstreaming Xen PVSCSI drivers to mainline Linux kernel
|
Upstreaming Xen PVUSB drivers to mainline Linux kernel
|
Implement Xen PVSCSI support in xl/libxl toolstack
|
Implement Xen PVUSB support in xl/libxl toolstack
|
Block backend/frontend improvements
|
Netback overhaul
|
Multiqueue support for Xen netback/netfront in Linux kernel
|
Block backend/frontend improvements
|
Utilize Intel QuickPath on network and block path.
|
perf working with Xen
|
PAT writecombine fixup
|
Parallel xenwatch
|
dom0 kgdb support
|
Hypervisor
Microcode uploader implementation
|
Introducing PowerClamp-like driver for Xen
|
Xen in the Real-Time/Embedded World: Are We Ready?
|
Xen in the Real-Time/Embedded World: Improve the Temporal Isolation among vCPUs in SEDF
|
Xen in the Real-Time/Embedded World: Improve Multiprocessor Support in SEDF
|
Virtual NUMA topology exposure to VMs
|
NUMA and ballooning on Xen
|
NUMA effects on inter-VM communication and on multi-VM workloads
|
Integrating NUMA and Tmem
|
Userspace Tools
Convert PyGrub to C
|
Refactor Linux hotplug scripts
|
XL to XCP VM motion
|
VM Snapshots
|
Allowing guests to boot with a passed-through GPU as the primary display
|
Advanced Scheduling Parameters
|
Performance
Performance tools overhaul
|
Upstream bugs!
VCPU hotplug bug
|
RCU timer sent to offline VCPU
|
CONFIG_NUMA on 32-bit.
|
Time accounting for stolen ticks.
|
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!
Fuzz testing Xen with Mirage
|
Mirage OS XCP/Xen support
|
From simulation to emulation to production: self-scaling apps
|
Towards a multi-language unikernel substrate for Xen
|
DRBD Integration
|
- 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
Xen.org testing system
Testing PV and HVM installs of Debian using debian-installer
|
Testing NetBSD
|
Please see XenRepositories wiki page!