diff --git a/en/releases/5.3R/todo.sgml b/en/releases/5.3R/todo.sgml index 2d92d28149..a4012362cf 100644 --- a/en/releases/5.3R/todo.sgml +++ b/en/releases/5.3R/todo.sgml @@ -1,10 +1,17 @@ - + %includes; %developers; + +N/A"> +Done"> +In progress"> +Needs testing"> +Not done"> +Unknown"> ]> @@ -59,7 +66,7 @@ BIND9 import into 5-CURRENT -- - -- + &a.dougb; BIND9 must be imported for 5.3-RELEASE. @@ -74,12 +81,85 @@ - Per-platform Thread-Local Storage + GDB thread support + &status.wip; + Glenn Gombert + With improved support for threading primitives, support is now + required to ease debugging of threaded applications. Ideally, + this support will work for both libthr and libkse threading + models. + + + + busdma in all PCI drivers + &status.wip; -- - -- - To complete support for thread-local storage on FreeBSD, - per-architecture changes must be made. Currently pending - platforms are amd64, alpha, ia64, i386, sparc64, and powerpc. + All PCI drivers must use busdma for DMA; no use of vtophys() will + be permitted for any recent device driver. ISA drivers may be + exempt. + + + + truss support for ptrace + &status.wip; + &a.robert; + Almost all process debugging tools have been updated to use + non-procfs kernel primitives, with the exception of truss(1). + As procfs is considered deprecated due to its inherent security + risks, it is highly desirable to update truss to operate in + a post-procfs world. &a.des; had prototype patches; &a.robert; + is developing and testing patches now. Support for system + call tracing has been added to ptrace(). + + + + KSE support for alpha + &status.wip; + &a.marcel; + Userland bits implemented, kernel bits not implemented. Required for + 5.2-RELEASE. + + + + Fine-grained network stack locking without Giant + &status.wip; + &a.sam; + Significant parts of the network stack (especially IPv4 and + IPv6) now have fine-grained locking of their data structures. + However, it is not yet possible for the netisr threads to run + without Giant, due to dependencies on sockets, routing, etc. + A 5.2-RELEASE goal is to have the network stack running largely + without Giant, which should substantially improve performance + of the stack, as well as other system components by reducing + contention on Giant. + + + + make -DUSE_KQUEUE causes lockup with buildworld -jBIGNUM + &status.untested; +   + Attempts to use make(1) with KQueues appears to result in a kernel + hang under "heavy load". It would be desirable to fix this + both from the perspective of building FreeBSD quickly as a + developer, but also because it's an instability that could show + up under other high load and heavy use of KQueues. See PR + kern/57945 for a proposed patch and details. This appear to be + the product of a locking problem, and must be fixed for 5.2. + + + + LINT build on amd64 + &status.wip; + &a.obrien;, &a.peter; + LINT must build for amd64, since it's a Tier-1 platform. + + + + kld support for amd64 + &status.new; + &a.obrien; &a.peter; + KLDs cannot currently be used on amd64, which must be fixed for + amd64 as a Tier-1 platform. @@ -90,6 +170,135 @@ IssueStatusResponsibleDescription + + Per object ELF Prebinding support + &status.wip; + &a.mdodd; +

Prebinding reduces executable startup time by lowering the + expense of symbol lookup, binding and relocation. This is + accomplished by a prebinding data file or ELF segment that + contains intermediate lookup results allowing fast symbol binding + and relocation, provided that dependent objects remain unchanged + since the prebinding information was generated.

+ +

The benefits of prebinding are realized when running executables + that use a large (>10) number of shared libraries. C++ + applications also benefit as they contain a large number of + relocations.

+ + + + Per-platform Thread-Local Storage + -- + -- + To complete support for thread-local storage on FreeBSD, + per-architecture changes must be made. Currently pending + platforms are amd64, alpha, ia64, i386, sparc64, and powerpc. + + + + FAST_IPSEC and KAME compatibility + &status.new; + -- + FAST_IPSEC currently cannot be used directly with the KAME IPv6 + implementation, requiring an additional level of IP tunnel + indirection to protect IPv6 packets when using hardware crypto + acceleration. This issue must be resolved so that the two + services may more easily be used together. Among other things, + this will require a careful review of the handling of mbuf + header copying and m_tag support in the KAME IPv6 code. + + + + rpc.lockd(8) stability + &status.wip; + &a.rwatson; + A process cannot be interrupted while waiting on a lock. Fixing + this requires that the RPC code be taught how to deal with lock + cancellation and interruption events. + + + + Revised kld build infrastructure + &status.new; + &.peter; + Kernel modules are currently built independently from a kernel + configuration, and independently from one another, resulting in + substantially redundant compilation of objects, as well as the + inability to easily manage compile-time options for kernel + objects (such as MAC, PAE, etc) that may require conditional + compilation in the kernel modules. In order to improve build + performance and better support options of this sort, the + KLD build infrastructure needs to be revamped. &a.peter; has + done some initial prototyping, and should be contacted before + starting on this work. + + + + Merge of Darwin msdosfs, other fixes + &status.new; + -- + Apple's Darwin operating system has fairly extensive improvements + to msdosfs and other kernel services; these fixes must be reviewed + and merged to the FreeBSD tree. + + + + Race conditions in truss + Errata candidate + &a.robert; + Truss appears to contain a race condition during the start-up of + debugging, which can result in truss failing to attach to the process + before it exits. The symptom is that truss reports that it cannot + open the procfs node supporting the process being debugged. A bug + also appears to exist where in truss will hang if execve() returns + ENOENT. A further race appears to exist in which truss will return + "PIOCWAIT: Input/output error" occasionally on startup. The fix + for this sufficiently changes process execution handling that we + will defer the fix to post-5.0 and consider this errata. + + + + ACL_MASK override of umask support in UFS + &status.wip; + &a.rwatson; + Many systems supporting POSIX.1e ACLs permit a minor violation + to that specification, in which the ACL_MASK entry overrides the + umask, rather than being intersected with it. The resulting + semantics can be useful in group-oriented environments, and as + such would be very helpful on FreeBSD. + + + + filedesc LOR + &status.new; + -- + The LOR reported in PR kern/55175 needs to be fixed. Filedesc locking + needs to be heavily reviewed in general. + + + + MAC Framework devfs path fixes + &status.wip; + &a.rwatson; + &a.green; has submitted patches to improve the consistency + of the pathnames passed into the MAC Framework devfs labeling + entry points. These patches need to be thoroughly reviewed + and tested, then merged. + + + + MAC support for NFS Server + &status.new; + &a.rwatson; + Currently, MAC protections are enforced only on locally originated + file system operations (VOPs), and not on RPCs generated via the + NFS server. Improvements in NFS server credential handling are + required to correct this problem, as well as the introduction of + new entry points to properly label NFS credentials and perform + enforcement properly. + +

Documentation items that must be resolved for 5.3