This is an old revision of the document!
Email: markj@FreeBSD.org
Here are some lists of things.
TODO
These are things that I would like to eventually get done/fix. Please mail me if you'd like to work on them.
Merge fdescfs into devfs.
- needed for fexecve()+shebang
- expected by lots of third-party software
- default in other unix-like kernels
- considerations:
- needs to appear in jails by default as well
- need to sort out Capsicum integration
Early microcode loading on AMD
- lacking a convenient test system
TRIM for swap devices
- interrogate swap GEOM for candelete capability
- dispatch TRIMs asynchronously from swp_pager_freeswapspace()
- Doug is working on this: https://reviews.freebsd.org/D20863
IPv6 netdump(4)
- need to use Neighbour Discovery to find the first-hop router
Kernel dump regression testing
- doable with bhyve and expect after r346550
lockmgr(9), rmlock(9) and epoch(9) integration into lockstat
devvn_refthread() is a scalability bottleneck with many bhyve VMs or many vCPUs
Implement Linux's MADV_DONTNEED semantics
- Frees pages (and backing swap) if the object backing the entry is OBJT_DEFAULT or _ANON and OBJ_ONEMAPPING. Is a correct implementation required to do anything else?
- Maybe implement it using msync() instead of madvise() since the latter is advisory and should stay that way. Maybe MS_PURGE, after illumos' MADV_PURGE.
elftoolchain addr2line is extremely slow
- Try feeding it a list of addresses by piping them into addr2line -afi -e kernel.debug
- Compare with GNU addr2line and weep
sendmail hangs on boot if the hostname contains a single component
Make SCTP a loadable module and remove it from GENERIC
- It presents a large attack surface but is not widely used
Better VM statistics
- Per-domain stats in vmstat -s output
- Add counters for the various branches in page daemon scanning (e.g., how many times did we skip a busy page?)
- Measure internal fragmentation in UMA zones
Valgrind regression tests
- sh autogen.sh && ./configure && gmake && gmake regtest
- Lots of tests still failing; syscall wrappers need to be updated
syzbot reports
Capsicumizing the base system
Useless warnings
- False-positive WITNESS warnings. These confuse automation and new users alike.
- stack_chk_init: WARNING: Initializing stack protection with non-random cookies!
- I don't know whether this is important or how to fix it.
- WARNING: attempt to domain_add(%s) after domainfinalize()
- Printed when bluetooth modules are auto-loaded during boot
Stuff I forget
Set a Kyua configuration variable from the command line
- kyua -v test_suites.FreeBSD.allow_sysctl_side_effects=1 test