Added dates for 4.0 release
[ikiwiki.git] / docs / developer / alexh_todo / index.mdwn
index 0d99ccc..3f93491 100644 (file)
@@ -1,18 +1,22 @@
 ## Note: this is my personal todo and ideas list (alexh@)
-* dm pdev bounds checking
-<pre>
-19:38:08 dragon:~ 
-# dmsetup deps
-foocrypt: 1 dependencies        : (0, 0)
-foocrypt2: 1 dependencies       : (0, 0)
-foocrypt3: 1 dependencies       : (0, 0)
-19:38:09 dragon:~ 
-# dmsetup table
-foocrypt: 0 1021944 crypt aes-cbc-essiv:sha256 0000000000000000000000000000000000000000000000000000000000000000 0 /dev/ad0s0a 2056
-foocrypt2: 0 1021944 crypt aes-cbc-essiv:sha256 0000000000000000000000000000000000000000000000000000000000000000 0 /dev/ad0s0a 2056
-foocrypt3: 0 1021944 crypt aes-cbc-essiv:sha256 0000000000000000000000000000000000000000000000000000000000000000 0 /dev/ad0s0a 2056
-</pre>
 
+* 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
@@ -20,23 +24,21 @@ foocrypt3: 0 1021944 crypt aes-cbc-essiv:sha256 00000000000000000000000000000000
 
 * bring the samba3 hammer shadow copy foo to maturity
 
-* add a communication channel mechanism to dm
-  - essentially a way to send messages and receive responses to dm target instances
+* 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)
 
-* dm_target_crypt
-  - Look at plain64 iv support, what it implies vs plain.
-  - Think about benbi iv support
+* add another optimized bcopy/memcpy/memset/bzero version, using the AVX instructions
 
-* Add TrueCrypt support
-  - Simply add a userland tool that sets dm_target_crypt up with the right parameters, extracted from the TrueCrypt header
-  - https://github.com/bwalex/tc-play <- done!
-  - needs OpenSSL with XTS support; probably next major release
+* cryptdisks: multiple keyfile support
+
+* Add geli (without integrity verification) support using dm_target_crypt?
+  - a bit like the recent TrueCrypt implementation (tcplay)
 
 * Update cryptsetup
 
-* Update opencrypto
+* Keep opencrypto up-to-date
   - http://www.openbsd.org/cgi-bin/cvsweb/src/sys/crypto/
-  - think about support for other ciphers, such as Serpent and Twofish
 
 * Port hwpmc & dig into (boot-up) performance
 
@@ -48,8 +50,9 @@ foocrypt3: 0 1021944 crypt aes-cbc-essiv:sha256 00000000000000000000000000000000
 
 * Take a look at updating lvm/dm/libdevicemapper
 
-* Take a look at importing libdm from NetBSD
-  - would allow tc-play and similarly newly developed foo to avoid GPL license issues
+* 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
   
 * 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!
@@ -71,6 +74,8 @@ foocrypt3: 0 1021944 crypt aes-cbc-essiv:sha256 00000000000000000000000000000000
 
 ###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.