FreeBSD The Power to Serve

FreeBSD 5.2 Open Issues

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

Show stopper defects for 5.2-RELEASE

Issue Status Responsible Description

Required features for 5.2-RELEASE

Issue Status Responsible Description
Fine-grained network stack locking without Giant In progress Sam Leffler 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 forwarding path in the network stack able to run without Giant, which should substantially improve performance of the stack, as well as other system components by reducing contention on Giant. For stability reasons, this will be disabled by default in 5.2.

Desired features for 5.2-RELEASE

Issue Status Responsible Description
KAME Synchronization In progress Hajimu UMEMOTO 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.
Light-weight interrupt threads, context switches Not done -- 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. Bosko Milekic has done substantial prototyping work, and should be coordinated with.
Run-time autoconfiguration of GBDE and related transforms Not done -- 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.
gdb -k support for alpha Not done Mark Peek gdb -k doesn't work on alpha

Documentation items desired for 5.2

Issue Status Responsible Description
Revise EAG Done Bruce A. Mah The Early Adopters Guide needs to be revised, hopefully for the last time, to reflect the state of 5.2.
Trim Hardware Notes In progress Bruce A. Mah Ongoing project to remove redundancy in documentation by removing lists of specific devices from the hardware notes and pointing readers to driver manpages.

Testing focuses for 5.2-RELEASE

Issue Status Responsible Description
PCM locking and performance issues Needs testing -- The PCM audio framework and device drivers have been locked and free of Giant for quite a while, but LOR problems persist along with reports of poor audio performance under load. These problems are believed to have been corrected, but more testing is desired.
ATA driver structural improvements, MPsafety Needs testing Søren Schmidt New ATA model has arrived, supporting fine-grained locking, and more. Much testing is needed to ensure no regressions.
GPT support for sysinstall Needs testing Marcel Moolenaar Sysinstall and libdisk has been overhauled to support the GPT partition scheme used on ia64.
Complete the APIC PCI interrupt routing support Needs testing John Baldwin Interrupt routing on ia32 has been completely re-written to support ACPI hints for PCI interrupt routing, along with ACPI hints for CPU enumeration. There have been reports of interrupt storms or a failure for interrupts to deliver, possibly a result of bad ACPI information. These problems need to be tracked down and resolved.
ATAng crashdump causes disk corruption Needs testing Søren Schmidt, Tor Egge Performing a crashdump on an ATA device can result in a corrupted MBR record. Tor has a possible patch for this.
SMP users report acpi_cpu panic during shutdown Needs testing Nate Lawson The ACPI code registers eventhandlers that are not unregistered when ACPI shuts down during system shutdown. The result can be a panic during shutdown. Nate is circulating a patch that is believed to correct this problem.
random_harvest panic Needs testing Mark Murray There are reports of witness panics in random_harvest_internal() due to last minute changes in interrupt entropy harvesting code. Systems running with INVARIANTS will rapidly panic. Update: a workaround has been committed, but the original change must either be backed out or revised before we can cut the first beta.
Vinum data corruption and memory allocation problems Needs testing Greg Lehey In the last week, reports of two new (and possibly related) Vinum failures have come to light: a warning message of vinum: exiting with malloc table inconsistency at 0xc2053c00 from vinumio.c:755 has been experienced when Vinum auto-configuration fails. Also, even simple test cases for Vinum I/O appear to result in incorrect data being returned from disk, rendering Vinum unusable in several reproduceable configurations.
ACPI kernel module Needs testing John Baldwin The new i386 inpterrupt code should work whether the acpi driver is compiled into the kernel or loaded as a module. The loader should automatically load the module if it's not already compiled in.
Reported NFS failures Unknown   There have been a number of reports of NFS clients and server hangs. Unfortunately, these are difficult to reproduce, and have not yet been traced back to a particular change or reliable reproduction scenario.
Turnstile assertion failure Unknown John Baldwin panic: Assertion td->td_turnstile != NULL failed at ../../../kern/subr_turnstile.c:427 has been affecting several users on multiple platforms. This has hopefully been fixed now, but more testinig is needed.
fsync panic while installing with softupdates enabled Needs testing Doug White, Jeff Roberson There is a repeatable panic happening for many people while installing 5.2-RC1 when softupdates are enabled on the root partition. This was being triggered by sysinstall doing a forced unmount of devfs while node where still active. VFS has been fixed to deal with this better, and sysinstall has bee fixed to not do the forced unmount.