GSoC/GCI Archive
Google Summer of Code 2011

DragonFly BSD

Web Page:

Mailing List:

DragonFly BSD, originally branched from FreeBSD in 2003, is working on a new approach to SMP and other kernel systems to enable an open source Single System Image operating system. Along the way, we've been picking up improvements from other BSDs and generally streamlining the underlying 30-year-old BSD code base, with a preference towards making systems less complex and easier to maintain.

Our code repository can be found here:



  • Bring kernel event notification in DragonFly BSD to its logical conclusion The 2010 GSoC project that revamped kqueue/(2)kevent(2) and reimplemented select(2) and poll(2) on top of them was a success, but a number of issues and opportunities have been recognized since that time. This project aims to address these remaining issues and fully round out the kernel event notification mechanism in DragonFly BSD.
  • Implementing a mirror target for device mapper Implementing the mirror target for device mapper allows LVM to use a RAID1 scheme for data redundacy, and also enables the use of snapshotting, which is essential for an advanced volume manager.
  • Improve dsched interfaces and implement BFQ disk scheduling policy Implement reqeust polling feature for dsched: including modification on several disk drivers and dsched framework; Implement BFQ scheduling policy on dsched; Tune and benchmark the BFQ scheduler.
  • Port PUFFS from NetBSD/FreeBSD There is no user level file systems support in DragonFlyBSD. But several implementations exist for other operating systems: de-facto standard FUSE (with ports to FreeBSD, Solaris and MacOS X) and PUFFS from NetBSD, witch contains user space library for FUSE API. On top of PUFFS there is rump which makes possible using file systems as user space servers.
  • Porting Virtio Drivers from NetBSD to DragonFly BSD to speed up DragonFly BSD as a KVM guest This project aims at implementing virtio drivers to DragonFly BSD (block, network and ballooning device drivers), porting them from NetBSD, and at doing benchmarks running DragonFly BSD on KVM to prove that virtio does improve performances. The drivers will have to respect specifications as described in Rusty Russell’s draft about Virtio PCI Card Specification.