Donation from David Carlier
[ikiwiki.git] / docs / developer / alexh_todo / index.mdwn
index 91bd7b8..3f93491 100644 (file)
@@ -1,35 +1,62 @@
 ## Note: this is my personal todo and ideas list (alexh@)
 
+* Add a simple (regression) test framework
+  - Add the hundreds of test cases from our bugtracker
+  - Run nightly/weekly or at least before a release
+
+* Callout overhaul
+  - add a callout_init_mtx/lock, etc
+  - add callout_drain
+
+* Improve installer crypto support
+  - add tcplay/TrueCrypt support
+  - let user choose crypto algorithm, IV generation, etc
+
+* Add support for hyperthreading / other SMT to our scheduler
+  - distinguish between real cores and threads on the same core
+  - Linux' work in the area: http://lwn.net/Articles/8553/
+
+* Take advantage of nested paging/EPT in vkernels
+
+* add a non-persistent unionfs VFS
+  - while this does not fully replace unionfs, it would deal with a few of the situations where unionfs is useful
+  - additionally the complexity is much lower, since everything can be kept in memory
+
+* bring the samba3 hammer shadow copy foo to maturity
+
+* extend dm's message feature to be two-way? what's the benefit?
+
+* make the whole system deal correctly with non-512-byte blocksize for disks. (DEV_BSIZE)
+
+* add another optimized bcopy/memcpy/memset/bzero version, using the AVX instructions
+
+* cryptdisks: multiple keyfile support
+
+* Add geli (without integrity verification) support using dm_target_crypt?
+  - a bit like the recent TrueCrypt implementation (tcplay)
+
+* Update cryptsetup
+
+* Keep opencrypto up-to-date
+  - http://www.openbsd.org/cgi-bin/cvsweb/src/sys/crypto/
+
+* Port hwpmc & dig into (boot-up) performance
+
 * linuxulator
   - port to x86_64
   - separate out common arch parts (linprocfs, for example)
 
-* Update cryptsetup
+* Fix the crash analysis script (or rather the programs it calls [some segfault])
 
-* Fix the crash analysis script (or rather the programs it calls)
+* Take a look at updating lvm/dm/libdevicemapper
 
-* route show
-
-* Take a look at updating lvm/dm/libdm
+* Take a look at importing dmctl from NetBSD
+  - would require a bunch of modifications to work with the proper device-mapper API
+  - also some extensions? missing lots of features
   
-* sync up vr
- o Added VT6105M specific register definitions. VT6105M has the
-   following hardware capabilities.
-    - Tx/Rx IP/TCP/UDP checksum offload.
-    - VLAN hardware tag insertion/extraction. Due to lack of information
-       for getting extracted VLAN tag in Rx path, VLAN hardware support
-       was not implemented yet.
-    - CAM(Content Addressable Memory) based 32 entry perfect multicast/
-      VLAN filtering.
-    - 8 priority queues.
- o Implemented CAM based 32 entry perfect multicast filtering for
-   VT6105M. If number of multicast entry is greater than 32, vr(4)
-   uses traditional hash based filtering.
-
 * rip out the disk partitioning from the disk subsystem and implement it in a more general fashion
   - crazy idea: as dm targets with an auto-configuration option!
-
-* sync some more opencrypto from OpenBSD
+    - would require to be able to create dm targets with an arbitrary name and not in /dev/mapper
 
 * ATA (automatic) spindown (see FreeBSD current)
   
 
 ###Boring:
 
+* Fix ipsec, get rid of old ipsec
+
+* sync up vr
+    - Added VT6105M specific register definitions. VT6105M has the following hardware capabilities.
+    - Tx/Rx IP/TCP/UDP checksum offload.
+    - VLAN hardware tag insertion/extraction. Due to lack of information
+       for getting extracted VLAN tag in Rx path, VLAN hardware support
+       was not implemented yet.
+    - CAM(Content Addressable Memory) based 32 entry perfect multicast/
+      VLAN filtering.
+    - 8 priority queues.
+ o Implemented CAM based 32 entry perfect multicast filtering for
+   VT6105M. If number of multicast entry is greater than 32, vr(4)
+   uses traditional hash based filtering.
 
 * RedZone, a buffer corruption protection for the kernel malloc(9) facility has been implemented.
   - This detects both buffer underflows and overflows at runtime on free(9) and realloc(9),