Remove broken opengrok links
[ikiwiki.git] / docs / developer / alexh_todo / index.mdwn
index 79bede4..3f93491 100644 (file)
@@ -1,39 +1,83 @@
-### Note this is my personal todo and ideas list, don't jump on me if you don't like something or think that it isn't important enough.
+## 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
-  - get ltp working
-  - update it part by part!
+  - port to x86_64
+  - separate out common arch parts (linprocfs, for example)
 
+* Fix the crash analysis script (or rather the programs it calls [some segfault])
 
-* kbd
-  - port this: http://svn.freebsd.org/viewvc/base/head/sys/dev/kbd/kbd.c?revision=112050&view=markup
-  - remove kbd_reinit_struct
-  - unicode?
-  - remove need for mplock
+* Take a look at updating lvm/dm/libdevicemapper
+
+* 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!
+    - would require to be able to create dm targets with an arbitrary name and not in /dev/mapper
 
-* sync syscons as far as possible
-  - tty changes not possible...
+* ATA (automatic) spindown (see FreeBSD current)
   
+* Update callout
+   http://svn.freebsd.org/viewvc/base?view=revision&revision=127969
 
-* port wscons (?)
-  - probably way too much effort.
+* inv ctxsw rusage
+  - see irc logs
+  - some incorrect accounting going on, don't remember details :)
 
-* port the mpsafe tty stuff from FreeBSD - or mpsafe ours.
-  - http://svn.freebsd.org/viewvc/base?view=revision&revision=181905 and quite a few later ones
-  - http://p4db.freebsd.org/changeList.cgi?FSPC=%2F%2Fdepot%2Fprojects%2Fmpsafetty%2F...&ignore=GO%21
-  - all related drivers, listed in UPDATING in the above revision, and others
-  - DON'T port pts driver, rather stick to ours but modify it to work with new ttys
-  - http://svn.freebsd.org/viewvc/base/head/sys/dev/snp/snp.c?view=log
-  - http://svn.freebsd.org/viewvc/base/head/sys/dev/si/si.c?view=log
+* unionfs update
+  - make it work without whiteout
 
-* port usb4bsd
-  - wrapper is included for userland; should be easy to port
-  - http://svn.freebsd.org/viewvc/base?view=revision&revision=184610
+
+
+###Boring:
+
+* Fix ipsec, get rid of old ipsec
 
 * sync up vr
- o Added VT6105M specific register definitions. VT6105M has the
-   following hardware capabilities.
+    - 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
    VT6105M. If number of multicast entry is greater than 32, vr(4)
    uses traditional hash based filtering.
 
-* do something similar to geom (maybe with compat layer for geom?)
-  - http://svn.freebsd.org/viewvc/base?view=revision&revision=92108
-  - while here, "layerize" the disk subsystem
-
-* continue work on disk scheduler
-  - focus on initial fair queueing policy as proof of concept
-  - see branch.
-
-* ATA (automatic) spindown (see FreeBSD current)
-
-* The ata(4) driver now supports a loader variable hw.ata.ata_dma_check_80pin.
-  - This can be used to disable the 80pin cable check on broken systems such as
-    certain laptops and Soekris boards. The default value is 1.
-
 * 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),
     and prints backtraces from where memory was allocated and from where it was freed.
     
 * port uart driver (?)
 
-* simplify/improve i386
-  - http://svn.freebsd.org/viewvc/base?view=revision&revision=173592
-  - http://svn.freebsd.org/viewvc/base/head/sys/i386/i386/i686_mem.c?view=log
-  - http://svn.freebsd.org/viewvc/base/head/sys/i386/i386/initcpu.c?view=log
-  - http://svn.freebsd.org/viewvc/base/head/sys/i386/i386/pmap.c?view=log
-  - http://svn.freebsd.org/viewvc/base/head/sys/i386/i386/locore.s?view=log
+* port wscons (?) or update syscons
+  - probably way too much effort (wscons)
+
+
+* port usb4bsd
+  - wrapper is included for userland; should be easy to port
+  - http://svn.freebsd.org/viewvc/base?view=revision&revision=184610
+  - http://turbocat.net/~hselasky/usb4bsd/
+  - http://gitweb.dragonflybsd.org/~polachok/dragonfly.git/shortlog/refs/heads/usb2
 
 * suspend/resume for SMP x86
   - http://lists.freebsd.org/pipermail/freebsd-acpi/2008-May/004879.html
   
-* route show
-  
 * AMD64 suspend/resume
   - http://svn.freebsd.org/viewvc/base?view=revision&revision=189903
-  
-* code simplification (Introduce cpu_vendor_id and replace a lot of strcmp(cpu_vendor, "...")
-  - http://svn.freebsd.org/viewvc/base?view=revision&revision=185341
-  
-* APIC stuff
-  - http://svn.freebsd.org/viewvc/base/head/sys/i386/i386/mptable.c?view=log
-  - http://svn.freebsd.org/viewvc/base/head/sys/i386/i386/mptable_pci.c?view=log
-  - http://svn.freebsd.org/viewvc/base/head/sys/i386/i386/io_apic.c?view=log
-  - MOST IMPORTANTLY: http://svn.freebsd.org/viewvc/base?view=revision&revision=121986
-  - AND: http://svn.freebsd.org/viewvc/base?view=revision&revision=121991
-
-* port FreeBSD minidump, only kernel memory dump
-  - http://svn.freebsd.org/viewvc/base?view=revision&revision=176304
-  - http://svn.freebsd.org/viewvc/base?view=revision&revision=159121
-  - http://svn.freebsd.org/viewvc/base?view=revision&revision=157912
-  - http://svn.freebsd.org/viewvc/base?view=revision&revision=157911
-  - http://svn.freebsd.org/viewvc/base?view=revision&revision=157908
-  - http://svn.freebsd.org/viewvc/base?view=revision&revision=157909
-  
-* crash analysis tool
-  - http://svn.freebsd.org/viewvc/base?view=revision&revision=181335
-
-* utmpx
-  - CFLAGS="-DUTMPX_USE_LIBRARY -DHAVE_UTMPX_H -DUSE_UTMPX"
-  - see branch, but still missing update to pam! (proper update)
-    
-* Update callout
-   http://svn.freebsd.org/viewvc/base?view=revision&revision=127969
-  
-* unionfs update
-  - use namecache tricks as nullfs does
-  - make it work without whiteout
-
-* inv ctxsw rusage
-  - see irc logs
-
-* synchronization routines documentation page (compare all the following, highlight differences)
-  - mtx
-  - spinlock
-  - lockmgr
-  - critical section
-  - lwkt serialization tokens
-  - lwkt messages
-    
-
 
 
+* text dumps
 
-
-devclass_find_internal(const char *classname, const char *parentname,
-    543                       int create)
-
-
-    
-    
-    
-    
-    
-    
-    
-    
-    
     
     
 [alexh@leaf:~/home] $ roundup-server -p 8080 bt=bugtracker