Annotation of src/doc/TODO, Revision 1.17
1.17 ! jruoho 1: # $NetBSD: TODO,v 1.16 2011/08/09 16:10:10 jruoho Exp $
1.1 lukem 2:
3: THINGS TO BE DONE:
4:
5: [ Note that this list does not include change requests filed via 'gnats'.
6: For information about them, mail query-pr@NetBSD.org. ]
7:
8: This is a list of things that need to be done for NetBSD. Some of
9: these projects are small, others are large. Some are extremely
10: important, others are enhancements to make the system more flexible
11: for the wide variety of NetBSD users and their applications.
12:
13: In general there are some guidelines for work to be included in
14: NetBSD. Chief among these are:
15:
16: (1) Keep GPLed stuff out of the kernel.
17: (2) Introduce little to no more GPLed stuff as non-optional
18: components of the user environment.
19: (3) Only clean code, that lends itself to further enhancement
20: (4) Keep architecture dependent code out of architecture independent
21: directories
22:
23: Associated with some entries are login names which indicate persons or
24: groups who may already be working on that problem. This isn't to say
25: that others shouldn't also look at it, but consultation with other
26: parties may result in less duplicated work. A directory of these
27: persons can be found after the todo list itself.
28:
29: Please don't hesitate to suggest more projects for this list.
30: Suggestions, comments, etc to projects@NetBSD.org.
31:
32: High Kernel:
33: swap fixes:
34: swap to file of dynamic size; see apollo
35: nfs:
1.9 simonb 36: kernel support for lockd(8), lockf(3)
1.1 lukem 37:
38: User programs:
39: rwall nfs-mountees on shutdown
1.14 hubertf 40: add detachment to window(1)
1.1 lukem 41: clean up gas config files, set up common defines
42:
43: Pie-in-the-Sky:
1.8 junyoung 44: someone should actually test all the netiso stuff.
1.1 lukem 45:
46: Documentation:
47: modify sys docs to reflect NetBSD/arch-specific stuff
48: clean up src/share/man/{man0,tools} so that we can generate a printable
49: version from the manpages again.
50:
51: i386 kernel support:
1.8 junyoung 52: better ways of accessing BIOS, i/o space. some exportable to
1.1 lukem 53: user space. See mach3,linux dos emulator
1.8 junyoung 54: i686 optimized versions of copyin/copyout/memcpy/memset/etc. lazy
55: floating-point context switching should be implemented as well.
56: make use of sysenter/sysexit instructions on PIII/4 and Athlon for
57: reducing syscall overhead.
1.4 agc 58:
59: This is a list of suggested smaller projects (in no particular order):
60:
61: + speed up sort(1) by using mmap(2) rather than temp files
62: + autoconf version of nawk, for use in non-NetBSD pkgsrc
63: + port valgrind to NetBSD for pkgsrc, then use it to do an audit of
64: any memory leakage
65: + help in implementing various things in pkgsrc
66: + simplify some of the quirks in our build system
67: + help out with scripts for tgm/autobuild
68: + some PR fixing/re-categorising/investigating/closing
69: + investigate zebra or quagga in gnusrc rather than routed
70: + do a type-punned pointer sweep for gcc3 (and fix the problems, not
71: the symptoms)
72: + kernel fine-grained locking
1.8 junyoung 73: + write a BSD-licensed web browser
1.4 agc 74: + perhaps look at putting wonka into src/ (with uuencoded class lib?)
75: + document autoconf framework
76: + write an overview document for openssl and certificates
77: + documentation project help
78: + investigate which userland utilities and daemons would benefit from
79: kqueue, and rewrite them
80: + add a native scheme interpreter
81: + add platform support for TenDRA compiler suite
1.7 jmmv 82: + merge moused(8) with wsmoused(8) as a new work mode (i.e. serial)
1.12 agc 83: + re-design our mbuf/network buffer memory handling so that it is simpler
84: and can handle zero copy tcp
85: + re-design our signal handling path. It is far too complicated and will not
86: be easy to accommodate MP code
87: + Examine our vnode locking and vfs layer and see what needs to be changed
88: for locking in layered filesystems to really work
1.13 jmmv 89: + Make mountd(8) update the in-kernel exports list for each file system
90: atomically. Many parts of the utility will need a rewrite, but the kernel
91: functionality is already there (just enable the "notyet" blocks of code in
92: sys/nfs/nfs_export.c).
1.14 hubertf 93: + Kerberize more services like ftp, ftpd, rsh, rshd, rlogind, ...
94: (see PR bin/31378)
CVSweb <webmaster@jp.NetBSD.org>