92 lines
3.8 KiB
Plaintext
92 lines
3.8 KiB
Plaintext
# $NetBSD: TODO,v 1.18 2014/06/10 20:23:21 joerg Exp $
|
|
|
|
THINGS TO BE DONE:
|
|
|
|
[ Note that this list does not include change requests filed via 'gnats'.
|
|
For information about them, mail query-pr@NetBSD.org. ]
|
|
|
|
This is a list of things that need to be done for NetBSD. Some of
|
|
these projects are small, others are large. Some are extremely
|
|
important, others are enhancements to make the system more flexible
|
|
for the wide variety of NetBSD users and their applications.
|
|
|
|
In general there are some guidelines for work to be included in
|
|
NetBSD. Chief among these are:
|
|
|
|
(1) Keep GPLed stuff out of the kernel.
|
|
(2) Introduce little to no more GPLed stuff as non-optional
|
|
components of the user environment.
|
|
(3) Only clean code, that lends itself to further enhancement
|
|
(4) Keep architecture dependent code out of architecture independent
|
|
directories
|
|
|
|
Associated with some entries are login names which indicate persons or
|
|
groups who may already be working on that problem. This isn't to say
|
|
that others shouldn't also look at it, but consultation with other
|
|
parties may result in less duplicated work. A directory of these
|
|
persons can be found after the todo list itself.
|
|
|
|
Please don't hesitate to suggest more projects for this list.
|
|
Suggestions, comments, etc to projects@NetBSD.org.
|
|
|
|
High Kernel:
|
|
swap fixes:
|
|
swap to file of dynamic size; see apollo
|
|
nfs:
|
|
kernel support for lockd(8), lockf(3)
|
|
|
|
User programs:
|
|
rwall nfs-mountees on shutdown
|
|
add detachment to window(1)
|
|
clean up gas config files, set up common defines
|
|
|
|
Documentation:
|
|
modify sys docs to reflect NetBSD/arch-specific stuff
|
|
clean up src/share/man/{man0,tools} so that we can generate a printable
|
|
version from the manpages again.
|
|
|
|
i386 kernel support:
|
|
better ways of accessing BIOS, i/o space. some exportable to
|
|
user space. See mach3,linux dos emulator
|
|
i686 optimized versions of copyin/copyout/memcpy/memset/etc. lazy
|
|
floating-point context switching should be implemented as well.
|
|
make use of sysenter/sysexit instructions on PIII/4 and Athlon for
|
|
reducing syscall overhead.
|
|
|
|
This is a list of suggested smaller projects (in no particular order):
|
|
|
|
+ speed up sort(1) by using mmap(2) rather than temp files
|
|
+ autoconf version of nawk, for use in non-NetBSD pkgsrc
|
|
+ port valgrind to NetBSD for pkgsrc, then use it to do an audit of
|
|
any memory leakage
|
|
+ help in implementing various things in pkgsrc
|
|
+ simplify some of the quirks in our build system
|
|
+ help out with scripts for tgm/autobuild
|
|
+ some PR fixing/re-categorising/investigating/closing
|
|
+ investigate zebra or quagga in gnusrc rather than routed
|
|
+ do a type-punned pointer sweep for gcc3 (and fix the problems, not
|
|
the symptoms)
|
|
+ kernel fine-grained locking
|
|
+ write a BSD-licensed web browser
|
|
+ perhaps look at putting wonka into src/ (with uuencoded class lib?)
|
|
+ document autoconf framework
|
|
+ write an overview document for openssl and certificates
|
|
+ documentation project help
|
|
+ investigate which userland utilities and daemons would benefit from
|
|
kqueue, and rewrite them
|
|
+ add a native scheme interpreter
|
|
+ add platform support for TenDRA compiler suite
|
|
+ merge moused(8) with wsmoused(8) as a new work mode (i.e. serial)
|
|
+ re-design our mbuf/network buffer memory handling so that it is simpler
|
|
and can handle zero copy tcp
|
|
+ re-design our signal handling path. It is far too complicated and will not
|
|
be easy to accommodate MP code
|
|
+ Examine our vnode locking and vfs layer and see what needs to be changed
|
|
for locking in layered filesystems to really work
|
|
+ Make mountd(8) update the in-kernel exports list for each file system
|
|
atomically. Many parts of the utility will need a rewrite, but the kernel
|
|
functionality is already there (just enable the "notyet" blocks of code in
|
|
sys/nfs/nfs_export.c).
|
|
+ Kerberize more services like ftp, ftpd, rsh, rshd, rlogind, ...
|
|
(see PR bin/31378)
|