diff --git a/en/releases/5.1R/todo.sgml b/en/releases/5.1R/todo.sgml index 60aecca4dc..f148bb255c 100644 --- a/en/releases/5.1R/todo.sgml +++ b/en/releases/5.1R/todo.sgml @@ -1,275 +1,228 @@ - + %includes; %developers; ]> &header;

Open Issues

This is a list of open issues that need to be resolved for FreeBSD 5.1. If you have any updates for this list, please e-mail re@FreeBSD.org.

Must Resolve Issues for 5.1-RELEASE

- + - - - - - - - - +
IssueStatusResponsibleDescription
ipfw/ipfw2 alignment issues on alpha/sparc64 In progress &a.luigi; There are reports of alignment problems with ipfw and/or ipfw2 on 64-bit platforms (specifically alpha and sparc64).
ia64 stability -- -- &a.kris; reports high instability of 5.0-CURRENT on ia64 machines, such as the pluto* machines. These problems need to be fixed in order to get a successful package build.
MAC Framework devfs path fixes In progress &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.
Panic on load/unload a kernel module for a driver already statically linked into the kernel.Patch submittedPatch approved &a.mux; If a network device driver, possibly any driver, is linked into the kernel and then loaded and unloaded as a module, the kernel will panic. This has been observed with both if_dc and if_fxp.
KSE support for sparc64, alpha, ia64--&a.jake;, --, --Currently, the MD elements of KSE are present only for the i386 - platform, limiting use of KSE to the i386 platform. It is highly - desirable to make KSE available on non-i386 platforms for - 5.1-RELEASE so that KSE can see more broad exposure, and the - performance benefits of KSE can be visible to users of the - 64-bit FreeBSD architectures.
rtld-elf thread-safety--patch submitted &a.kan; Update the run-time link editor (rtld) thread-safe with libpthread.
rpc.lockd(8) stability In progress &a.rwatson; rpc.lockd(8) client-side and server-side NFS locking appears to have a number of serious bugs which prevent NFS locking from working properly in a number of common scenarios. These bugs must be resolved to ship 5.1-RELEASE. Work is underway to classify and track the bugs.
data corruption reports In progress &a.peter;, &a.bmilekic; There have been reports of memory/data corruption on some systems; one working hypothesis is that this corresponds to an undocumented bug in a particular line of Intel and AMD processors, but it's unclear whether current work-arounds are correcting or masking the problem. Patches are being circulated to test this hypothesis, but developers are encouraged to be on the lookout for possible data corruption bugs.

Desired Features for 5.1-RELEASE

- - - - - - - - - - - - - - - - - - - - - - + - - - - - - -
IssueStatusResponsibleDescription
ia64 sio supportIn progress&a.marcel;, &a.imp;ia64 serial console support is reported to not be functional - on HP Itanium2 platforms. A reworking of the sio driver to - improve platform independence and bus handling is likely needed.
a.out toolchain port----A.out support in the base system was reduced; the removed build - chain components should be made into a port.
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.
nullfs deadlocks----&a.kris; reports deadlocks involving the use of nullfs in the bento - environment: buildworld -j4 with src and obj mounted via nullfs; the gcc - processes eventually deadlocked in the ufs state. DDB traceback - showed two different codepaths. I've just repeated this, so the bug - still exists.
amd/mountd bugsIn progresspatch approved &a.mbr; If amd(8) does mount more than one fs from a host, the second call to mountd on the server gets aborted even if the read does return EAGAIN. This is definitly a bug in the nonblocking rpc code. If truss or ktrace is attached on mountd, the bug happens almost all times, else 3-10 times of 10 trys. Since there have been several reports of amd irregularity on 5.1-BETA, it's important to get this fixed for the release.
gdb -k doesn't work on alpha--&a.mp;gdb -k doesn't work on alpha

Documentation items that must be resolved for 5.1

IssueStatusResponsibleDescription
busdma man page In progress &a.hmp; As BUSDMA is now the required driver API for DMA access in hardware device drivers as of 5.1-RELEASE, we need to make sure it's properly documented. A man page is in progress and needs to be appropriately reviewed and committed prior to the release.
rcNG documentation In progress &a.trhodes; rcNG is now the supported (and only) boot scripting mechanism in 5.x, but it's not currently documented in the handbook. We need this documentation for 5.1-RELEASE.

Areas requiring immediate testing

IssueStatusResponsibleDescription
Fresh ACPI-CA import -- -- The 20030228 vendor sources have been imported. Further testing is appreciated.
PAE support for i386 -- -- PAE support allows the use of up to 64GB of RAM on Pentium Pro and above systems. Virtual addresses are still constrained to 32-bits.
if_wi problems on Lucent hardware -- -- The recently upgraded if_wi driver is more tuned to Prism hardware than to Lucent hardware, resulting in system lockups and poor performance when using Lucent hardware. These problems are believed to be fixed but more testing is welcome.
UFS2 as installation, newfs default -- &a.rwatson; For 5.1-RELEASE, the default file system type for newly created file systems is UFS2 rather than UFS1. newfs(8) and sysinstall(8) have been updated to use this new default. Testing to make sure all goes well after the change (committed on April 20, 2003) is vital.
NSSwitch support -- &a.nectar; Support for pluggable directory services using NSS, including adaptations of current directory services (local databases, NIS), and support for new services (LDAP, Active Directory, etc). This change has been committed, and requires broader testing.
Spurious alpha panics -- -- &a.kris; reports that he has seen several unique panics on the alpha machines, but since gdb -k doesn't work on alpha I haven't been able to get more than a DDB traceback. No-one has looked into them.
&footer; diff --git a/en/releases/5.2R/todo.sgml b/en/releases/5.2R/todo.sgml index 30a093d861..b9584943d4 100644 --- a/en/releases/5.2R/todo.sgml +++ b/en/releases/5.2R/todo.sgml @@ -1,268 +1,307 @@ - + %includes; %developers; ]> &header;

Open Issues

This is a list of open issues that need to be resolved for FreeBSD 5.2. If you have any updates for this list, please e-mail re@FreeBSD.org.

Must Resolve Issues for 5.2-RELEASE

+ + + + + + + + + + + + + +
IssueStatusResponsibleDescription
Production-quality M:N threading In progress &a.julian;, &a.davidxu;, &a.deischen; KSE M:N threading support is reaching experimental yet usable status on i386 for 5.1-RELEASE. M:N threading should be productionable and usable on all platforms by 5.2-RELEASE.
KSE support for sparc64, alpha, ia64--&a.jake;, --, --Currently, the MD elements of KSE are present only for the i386 + platform, limiting use of KSE to the i386 platform. It is highly + desirable to make KSE available on non-i386 platforms for + 5.1-RELEASE so that KSE can see more broad exposure, and the + performance benefits of KSE can be visible to users of the + 64-bit FreeBSD architectures.
ia64 sio supportIn progress&a.marcel;, &a.imp;ia64 serial console support is reported to not be functional + on HP Itanium2 platforms. A reworking of the sio driver to + improve platform independence and bus handling is likely needed.
FAST_IPSEC and KAME compatibility -- -- 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.
KAME Synchronization -- -- The FreeBSD KAME IPv6 code is now substantially dated with respect to the KAME vendor source. The FreeBSD Project needs to take initiative in driving the merge of new bug fixes, features, et al.
truss support for ptrace In progress &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.
Merge of Darwin msdosfs, other fixes -- -- 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.
sparc64 adaptation of syscons In progress &a.jake; Port syscons to sparc64. Add device drivers for sun mice and keyboards. Allow for more than 3 bits of background colour in syscons. Creator frame buffer device driver. In the process, generally improve the MI-ness of syscons.
ACL_MASK override of umask support in UFS In progress &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.
Fine-grained network stack locking without Giant In progress &a.hsu;, &a.tanimura; 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.
ATA driver structural improvements, MPsafety In progress &a.sos; Move ATA commands into requests, so that they can be linked together, centralize request queue management permitting direct DMA of ATA commands. These architectural changes will also facilitate complete MP-safety of the ATA driver suite, and dramatically improve support for Promise RAID controllers.
Tier-1 Support for AMD64 Hammer In progress &a.peter;, &a.obrien; Productionable support for the AMD64 platform. Currently, AMD64 runs fully in 32-bit emulation mode, and boots to single-user in 64-bit mode. We expect full production support for the AMD64 architecture in 5.2-RELEASE.
GCC 3.3 upgrade In progress &a.obrien; &a.kan; To properly support AMD64, a compiler upgrade is required; however, the new GCC 3.3 has a substantial number of new warnings that will disrupt application support, preventing inclusion in 5.1-RELEASE. This is a must-have for 5.2-RELEASE.
Revised kld build infrastructure -- -- 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.
Light-weight interrupt threads, context switches -- -- Currently, there are two classes of interrupt handlers in 5.x: fast interrupt handlers which run entirely in interrupt context, and heavy-weight handlers which execute in a full-weight kernel interrupt thread. It is possible to optimize interrupt thread context management such that a light-weight context switch is performed to begin execution of the interrupt thread in the handler context, and only when a full-weight context is required (such as sleeping on a lock) is that cost required. This optimization should substantially improve interrupt latency. There are also additional kernel thread context switch optimizations that can be made to improve the performance of thread workers in the kernel, such as found in the network stack, crypto worker threads, and GEOM. &a.bmilekic; has done substantial prototyping work, and should be coordinated with.
Support for a fully dynamic system In progress &a.gordon; With the introduction of extensive PAM and NSS support in 5.0-RELEASE and 5.1-RELEASE, support for a fully dynamically linked system is desired. &a.gordon; has in-progress patches to post for review following the 5.1 release cycle.
Complete the APIC PCI interrupt routing support -- -- Existing interrupt routing code is not able to correctly determine the interrupt routing of PCI devices that are behind PCI-to-PCI bridges when using APIC Full Table routing (with non-legacy interrupts above 15).
Run-time autoconfiguration of GBDE and related transforms -- -- Currently, gbde must be manually configured at run-time each time an encrypted disk device is mounted. This prevents easy integration into /etc/fstab and easy automated deployment. Improved integration with the configuration, mounting, and boot process is required to make this feature more easily accessible.

Desired Features for 5.2-RELEASE

+ + + + + + + + + + + + + +
IssueStatusResponsibleDescription
nullfs deadlocks----&a.kris; reports deadlocks involving the use of nullfs in the bento + environment: buildworld -j4 with src and obj mounted via nullfs; the gcc + processes eventually deadlocked in the ufs state. DDB traceback + showed two different codepaths. I've just repeated this, so the bug + still exists.
gdb -k support for alpha--&a.mp;gdb -k doesn't work on alpha
MAC support for NFS Server -- &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.
busdma in all PCI drivers -- -- 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.

Documentation items that must be resolved for 5.2

IssueStatusResponsibleDescription
Bluetooth documentation -- Pav Lucistnik It'd be nice to have some Bluetooth documentation for the Handbook.

Testing focuses for 5.2-RELEASE

IssueStatusResponsibleDescription
&footer;