GSoC/GCI Archive
Google Summer of Code 2014

Xen Project

License: GNU General Public License version 2.0 (GPLv2)

Web Page:

Mailing List:

The Xen Project is a Linux Foundation collaborative project that develops the Xen Hypervisor (for x86 and ARM), the XAPI toolstack and the Mirage OS Cloud Operating system.


  • Implement Xen PVUSB support in xl/libxl toolstack I am a second-year master student at Shanghai Jiao Tong university. Having worked as an intern in Intel, Shanghai, I am quite familiar with xen, qemu, git. I am really interested in implementing Xen PVUSB support in xl/libxl toolstack and I am confident that I can accomplish this. Hope this can be my opportunity to enter the exciting open source development community.
  • Lazy Restore Using Memory Paging VM save/restore functionality is one of the most commonly used in Clouds and Virtualization platforms. The current implementation of VM save/restore in Xen results in loading the entire memory image of the VM from the save file which in turns slows down the entire process. I plan to improve this process by introducing the concept of Lazy restore and using memory paging.
  • MirageOS cloud API support OCaml bindings to public cloud APIs, as well as a Mirage app that uses the API.
  • Parallel xenwatch kthread I am a past OPW intern (round 6). During my internship, I worked to parallelize the x86 boot process. This meant understanding and modifying very low level bring up code. I contributed 34 patches to the 3.11 kernel. I would like to keep contributing to Linux kernel and I am interested in parallel xenwatch kthread project. I took operation systems, distributed systems and applications classes last year, so I have basic understanding on locks. I think I am qualified for this project.
  • Xen Hypervisor-- HVM per-event-channel interrupts Modify Xen to allow each event channel to be bound to a separate interrupt (the association being controlled by the PV drivers in the guest) to allow separate event channel interrupts to be handled by separate vCPUs. There should be no modifications required to the guest OS interrupt logic to support this (as there is with the current Linux PV-on-HVM code) as this will not be possible with a Windows guest.