| Issue |
Status |
Responsible |
Description |
| Production-quality M:N threading |
In progress |
Julian Elischer, David Xu, Daniel Eischen |
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 |
-- |
Jake Burkholder, --, -- |
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.2-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 stability |
In Progress |
Marcel Moolenaar |
Kris Kennaway reports high instability of 5-CURRENT
on ia64 machines, such as the pluto* machines. These
problems need to be fixed in order to get a successful
package build. |
| ia64 sio support |
In progress |
Marcel Moolenaar, Warner Losh |
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 |
Robert Drehmel |
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.
Dag-Erling Smorgrav had prototype patches;
Robert Drehmel 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 |
Jake Burkholder |
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 |
Robert Watson |
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 |
Jeffrey Hsu, Seigo 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 |
Søren Schmidt |
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 |
Peter Wemm, David O'Brien |
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. |
| 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. Peter Wemm 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. Bosko Milekic has done substantial
prototyping work, and should be coordinated with. |
| Support for a fully dynamic system |
In progress |
Gordon Tetlow |
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. Gordon Tetlow
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. |
| MAC Framework devfs path fixes |
In progress |
Robert Watson |
Brian Feldman 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. |
| rpc.lockd(8) stability |
In progress |
Robert Watson |
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. |
| panic with ida(4) controllers on boot |
-- |
-- |
PR 53245 includes a number of confirmed reports of
panics with ida(4) controllers under 5.1, which is used
in a number of Compaq systems. |