DragonFly BSD

ProjectsPage

DragonFly Projects

This page shall serve as a common place to look if you're in search of a DragonFly related project. It's also the place to check if someone else is already working on it (to prevent project collision) or should be contacted.

Projects that can be clearly used for Google Code-In are marked with their category, where applicable. Some unmarked items may be eligible; it depends on how the student wants to tackle the project.

Documentation projects

Write manpages

Userland projects

One-liners

dma

Scalability (algorithmic performance) (GCI:Research)

Clean our code to make it style(9) compatible. (GCI:Code)

Port BSD-licensed tools (ex: grep, diff and sort) (GCI:Code)

GDB

I/O diagnostic utilities

SMART capabilities

Disk scheduling rc scripts (GCI:Code)

libHAMMER

Clean up crypt(3) consumers

Live images enhancement

The live images could be made easier to use by not assuming a QWERTY keyboard layout.

Not beeing able to choose a localized keyboard layout before having to type 'installer' or 'root' may be a deal breaker for some users. A simple menu replacing login(1) and displaying the following three choices could be a good solution:

  1. Set keyboard layout
  2. Launch the installer
  3. Login as root

pkill/pgrep enhancement

killall recently gained a -T flag to kill all descendents of a tty, bring this feature to pkill/pgrep and evaluate any other features flags of these utilities and bring them to parity.

Kernel projects

One-liners

Code to port/sync from FreeBSD

Code to port/sync from OpenBSD

CPU scheduler

I/O scheduler

Implement boot cache

Improve kernel boot speed

Modify firmware framework

Work relating to LWKT (LightWeightKernelThreading)

Filesystem extended attributes

Capabilities

Hardware virtualization extensions

Remove zalloc

Convert kprintf-enabling sysctl's to KTR's

Tear out C/H/S disk reporting

Change vm_map lookup algorithm

Trampoline Code Page instead of direct syscalls

Compressed in-memory swap device

mmap MAP_ALIGN

vnode dumps

vnode swap

Kernel allocator feature enhancements

Tear out serializers

Tear out condvars

Make karc4random in libkern per-cpu (or at least wrap its own token around it)

Improve kernel spinlock debug-ability

Partially rewrite buffer cache

Sync wireless infrastructure / drivers from FreeBSD

Add informational hardware-related sysctl's

For more theoretical projects and project concepts see ResearchProjects