OpenSSL update
[ikiwiki.git] / docs / developer / ProjectsPage.mdwn
index f1bfd82..b9c3c16 100644 (file)
@@ -87,8 +87,8 @@ Projects that can be clearly used for Google Code-In are marked with their categ
 * Network, Disk
 
 ### SMART capabilities
-* Add to natacontrol (see NetBSD's atactl?)
 * Add to camcontrol
+* Add to natacontrol (see NetBSD's atactl?)
 
 ### Disk scheduling rc scripts (GCI:Code)
 * Create a rc script to manage the disk/io scheduling system
@@ -100,6 +100,11 @@ Projects that can be clearly used for Google Code-In are marked with their categ
 * HAMMER has the capability to expose very rich information to userland through ioctl's.
 * Currently the hammer(8) utility makes use of this information in an ad-hoc manner.
 * Port this core functionality into a public libhammer library so that other base and third party utilities may take advantage of it.
+* See commit: cb7575e6a89409a2041a37fcfc22ce9e41297ab8 -- libHAMMER already exists, port functionality into it!
+
+### Clean up crypt(3) consumers
+* crypt(3) can legitimately return NULL on error, but many consumers do not check for this, instead passing the return directly to str[n]cmp. Fix these cases.
+* Fix these cases in pkgsrc as well.
 
 ## Kernel projects 
 
@@ -134,6 +139,12 @@ Projects that can be clearly used for Google Code-In are marked with their categ
 * A pluggable kernel I/O scheduler already exists
 * Implement additional disk scheduling policies
 
+### Implement boot cache
+* Effectively a smart readahead.
+* Store the pattern of incoming read requests of the boot disk. (Likely into an array structure for better linear readback, We mmap() the whole thing into RAM on boot.)
+* Sort pattern into a playback list. (Burstsort or a simple quick sort to get things going?)
+* Provide feedback of boot cache playback list hit rate for better adaptiveness.
+
 ### Improve kernel boot speed
 * Research source of delays in boot process, keyboard init, scsi?
 * Better thread some hardware init, for example USB?
@@ -220,5 +231,21 @@ Projects that can be clearly used for Google Code-In are marked with their categ
 * Clear out free objcache slabs under memory pressure.
 * Add reclaim functionality to objcache, such that it may ask consumers to free objects back into it under memory pressure.
 
+### Tear out serializers
+* Serializers could be _carefully_ replaced with MTX locks
+
+### Tear out condvars
+* Conditional vars -- condvar(9), could be replaced with other locking primitives and our tsleep/wakeup interlock.
+
+### Make karc4random in libkern per-cpu
+* Verify that it is possible and safe to do this, what care would need to be taken, especially with respect to the random seeding?
+* Pull out locks around calls to karc4rand*
+
+## Live images enhancement
+
+The live images are pretty rough to use currently. The following minimum enhancements should be added:
+
+1. Let the user choose the keyboard layout at startup, do not assume QWERTY
+2. Configure network interfaces automatically, using DHCP
 
 For more theoretical projects and project concepts see [[ResearchProjects|/docs/developer/ResearchProjectsPage]]