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.

Log-In | Wordpress | Cappuccino