Todo list
This page contains a list of TODO items.
See also: The PmcTools TODO list.
AMD64 Stuff
- Review the port of DrScheme; track down bugs with -O compilation on the amd64.
- Port SML-NJ (v110.60 has an AMD64 backend)
- (from current) Optimize amd64’s uiomove routines to use non-temporal instructions; measure performance.
Sparc64 Related
- Port over DrScheme.
- Port SML-NJ (rather, enable the port on the sparc64).
LibElf
- Rework elf_getscn() to avoid an O(n) lookup penalty associated with TAILQs.
- Don’t use e_phnum and e_shnum fields in an Ehdr to keep counts. Applications are likely to mess with them inadvertently.
- Write a tutorial for libelf.
PmcTools Stuff
- Check current AMD documentation for new Opteron PMC events.
- Use PmcTools to probe MySQL’s pathetic performance under 6.X and -CURRENT.
- Use PmcTools to probe the Apache ‘ab’ benchmark.
- Change the PMC (freefall) website to link to the PmcTools wiki.
The Rest of the List
-
Ports
- Make a port of ffll.sourceforge.net, a BSD-licensed fuzzy logic library.
- Upgrade buildbot to v0.7.5
- Resume work on a Python wrapper to FreeType2.
- Create python wrappers to the e17n libraries.
- Port elkhound/elsa, a GLR parser generator and C++ grammar (BSD-licensed).
- Port felix.sourceforge.net
- Port XeTeX or other unicode & complex-script aware TeX variant.
- A port for: The Amsterdam compiler toolkit: http://tack.sourceforge.net/?
- PyConstruct http://pyconstruct.wikispaces.com/ would be nice to have in ports.
- Also look at Hachoir http://hachoir.python-hosting.com/wiki/
- Port sulima, a MIPS64 emulator http://ertos.nicta.com.au/software/sulima/
- Create a port for Pawn [http://www.compuphase.com/pawn/pawn.htm], a scripting language with C-like syntax.
- Another interesting port: The CMU ‘Link’ english language parser: http://www.link.cs.cmu.edu/link
- http://lipitk.sourceforge.net/ implements an indian language handwriting recognizer.
- Seaside: a web programming language based on Smalltalk: http://www.seaside.st/.
- We need an updated version of a VMWare port that can run VMWare’s free client (player) and VMWare’s free GSX server.
- The open21 project implements an AD21XX toolchain—someday I’ll get around to a DSP project.
- Make a port of the Ensemble system.
-
Docs
- Create a prototype standards(7) manual page.
-
Src
- Review current UTF-8 locale information against Unicode v5.0.0.
- Refactor hwpmc_log code to be usable by the KTR and KTRACE modules.
- jemalloc in -current uses process address space sparsely. We should change core dumps to use dump files with ‘holes’ in them. This would save disk space and would speed up core dumping.
- Teach jemalloc about libmemstat(3)?
- teach whereis(1) how to look inside $PKGDIR for locating executables and their packages (i.e., integrate `pkg_info -W` into whereis).
- we need a tool that will examine a system’s configuration for sanity. E.g.- if make.conf specifies NO_NIS then /etc/nsswitch.conf should not use ‘nis’ in any of its lines. Similarly for IPV6, KERBEROS, etc.
- A space optimizing `ld` that takes a subset of a .o file into an executable … would be useful for embedded work.
Longer Term Projects:
TODO list items that may be taken up at a later point:
- Help with the port of L4::Pistachio/FreeBSD: see http://ertos.nicta.com.au/software/kenge/pistachio/latest/ http://www.ertos.nicta.com.au/software/kenge/hello-project/latest/
- Participate in the DesktopBSD project; help add indic- support to it.