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,114 +1,323 @@
-
+
%includes;
%developers;
+
+N/A">
+Done">
+In progress">
+Needs testing">
+Not done">
+Unknown">
]>
&header;
This is a list of open issues that need to be resolved for FreeBSD
5.3. If you have any updates for this list, please e-mail
re@FreeBSD.org.
| Issue | Status | Responsible | Description |
| SCHED_ULE as the default scheduler |
-- |
&a.jeff; |
SCHED_ULE provides better interactivity, higher performance, and the
ability to support pinning and affinity. Basic HTT scheduling policies
should be in place for 5.3 also. |
| KSE as the default threads library |
-- |
&a.davidxu;, &a.deischen; |
KSE has matured to the point of being more stable and POSIX-compliant
than the traditional libc_r. All Tier-1 platforms MUST have
stable KSE support for 5.3 in order to support a consistent transition.
Additionally, all ports that depend on the pthreads API must be modified
to properly detect and support the default threading library. |
| Updated binutils for all platforms |
-- |
&a.obrien; |
Binutils needs updating in order to support new platforms, newer GDB
versions, and Thread Local Storage. |
| BIND9 import into 5-CURRENT |
-- |
- -- |
+ &a.dougb; |
BIND9 must be imported for 5.3-RELEASE. |
| Completed compiler support for dynamic |
-- |
&a.obrien; |
All platforms but IA64 have modifications to support /libexec/ld.so
in the gcc base source tree; these changes must be merged back into
the FSF tree and brought into FreeBSD on the vendor branch for
5.3-RELEASE. |
- | 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. |
| 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. |
+
+