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 @@
Issue | Status | Responsible | Description |
+
+ 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