5.3-RELEASE TODO
Scott Long
scottl at FreeBSD.org
Fri Aug 27 06:38:21 PDT 2004
This is an automated weekly mailing of the FreeBSD 5.3 open issues list.
The live version of this list is available at:
http://www.FreeBSD.org/releases/5.3R/todo.html
Automated mailing of this list will continue through the release of
FreeBSD 5.3
FreeBSD 5.3 Open Issues
Open Issues
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 at FreeBSD.org.
Show stopper defects for 5.3-RELEASE
+------------------------------------------------------------------------+
| Issue | Status | Responsible | Description |
|----------------------+-------------+-------------+---------------------|
| | | | PREEMPTION appears |
| | | | to increase the |
| | | | chances of |
| | | | triggering a race |
| | | | condition in the |
| | | | thread context |
| PREEMPTION-related | | Scott Long, | management and |
| hangs involving | In progress | Julian | scheduling code. |
| threads | | Elischer | Patches to mitigate |
| | | | the problem have |
| | | | been developed, |
| | | | with on-going work |
| | | | to come up with the |
| | | | correct solution |
| | | | prior to 5.3. |
|----------------------+-------------+-------------+---------------------|
| | | | High load on SMP |
| | | | systems appears to |
| | | | result in a hard |
| | | | hang related to VM |
| | | | IPI. Doug White has |
| SMP instability | | Doug White, | prepared a |
| under load | In progress | Alan L. Cox | candidate patch |
| | | | that appears to |
| | | | resolve this |
| | | | instability, which |
| | | | is currently in |
| | | | testing for merge |
| | | | to the CVS HEAD. |
|----------------------+-------------+-------------+---------------------|
| | | | Jun Kuriyama has |
| | | | reported problems |
| | | | with NFS over IPv6 |
| NFS over IPv6 | | | not functioning |
| problems | Not done | - | correctly as of the |
| | | | improved NFS |
| | | | support for |
| | | | disconnection |
| | | | changes. |
|----------------------+-------------+-------------+---------------------|
| | | | There are reports |
| | | | of applications |
| | | | wedging in poll() |
| | | | and select() while |
| | | | running the network |
| | | | stack without the |
| poll()/select() | | | Giant lock. A |
| application wedge | In progress | Robert | recent sleepq |
| reports with | | Watson | change appears to |
| debug.mpsafenet=1 | | | have caused some of |
| | | | the observed |
| | | | problems to go away |
| | | | (others are |
| | | | difficult to test |
| | | | for due to recent |
| | | | SMP instability). |
|----------------------+-------------+-------------+---------------------|
| | | | ether_input() calls |
| | | | random_harvest() on |
| | | | the mbuf after it |
| | | | has been handed off |
| | | | to ether_demux(), |
| ether_input() may | | | at which point it |
| harvest entropy from | In progress | Mark Murray | may have been |
| free()'d mbuf | | | free()'d back to |
| | | | the mbuf allocator. |
| | | | It also passes in a |
| | | | pointer to the mbuf |
| | | | itself, rather than |
| | | | ethernet frame |
| | | | header. |
+------------------------------------------------------------------------+
Required features for 5.3-RELEASE
+------------------------------------------------------------------------+
| Issue | Status | Responsible | Description |
|-----------------+-------------+---------------+------------------------|
| GDB 6.1 kernel | | | GDB 6.1.1 import does |
| debugging | In progress | Marcel | not include FreeBSD |
| support | | Moolenaar | kernel debugging |
| | | | support. |
|-----------------+-------------+---------------+------------------------|
| BIND9 import | In progress | Doug Barton | BIND9 must be imported |
| into 5-CURRENT | | | for 5.3-RELEASE. |
|-----------------+-------------+---------------+------------------------|
| | | | Kernel bits |
| KSE support for | | | implemented, userland |
| sparc64 | -- | -- | not implemented. |
| | | | Required for |
| | | | 5.3-RELEASE. |
|-----------------+-------------+---------------+------------------------|
| | | | Significant parts of |
| | | | the network stack |
| | | | (especially IPv4, UNIX |
| | | | domain IPC, and |
| | | | sockets) now have |
| | | | fine-grained locking |
| | | | of their data |
| | | | structures. It's |
| | | | possible to run many |
| | | | common network |
| | | | subsystems and |
| | | | services without the |
| Fine-grained | | | Giant lock. However, a |
| network stack | In progress | Robert Watson | number of device |
| locking without | | | drivers and less |
| Giant | | | mainstream network |
| | | | subsystems are |
| | | | currently not MPSAFE. |
| | | | By 5.3-RELEASE, it is |
| | | | necessary to have the |
| | | | vast majority of |
| | | | network code running |
| | | | without Giant, |
| | | | including sockets, |
| | | | permitting complete |
| | | | local<->remote |
| | | | delivery without |
| | | | grabbing Giant. |
|-----------------+-------------+---------------+------------------------|
| | | | KLDs work when loaded |
| | | | from userland, but not |
| | | David | from the loader. |
| kld support for | In progress | O'Brien, | kldxref might also |
| amd64 | | Peter Wemm | need work. Required |
| | | | for amd64 to be |
| | | | promoted to tier-1 |
| | | | status. |
|-----------------+-------------+---------------+------------------------|
| | | | With improved support |
| | | | for threading |
| | | | primitives, support is |
| | | David Xu, | now required to ease |
| GDB thread | In progress | Marcel | debugging of threaded |
| support | | Moolenaar | applications. Ideally, |
| | | | this support will work |
| | | | for both libthr and |
| | | | libkse threading |
| | | | models. |
|-----------------+-------------+---------------+------------------------|
| | | | Currently, two |
| | | | schedulers are |
| | | | present: SCHED_ULE |
| | | | (default), an |
| | | | SMP-optimized |
| | | | scheduler created as |
| | | | part of SMPng, and |
| | | | SCHED_4BSD, an |
| | | | SMP-adapted version of |
| | | | the original 4BSD |
| | | | scheduler. They have |
| | | | quite different |
| | | | performance |
| | | | properties, with ULE |
| | | | providing strong |
| | | | interactivity |
| Scheduler | | | characteristics, and |
| cleanup and | In progress | -- | performing quite well |
| resolution | | | in a number of |
| | | | benchmarks, and 4BSD |
| | | | showing greater |
| | | | strength in IPC |
| | | | intensive user space |
| | | | benchmarks, such as |
| | | | databases. One of |
| | | | these schedulers must |
| | | | be the default for |
| | | | 5.3, and whichever one |
| | | | it is, it requires |
| | | | careful measurement, |
| | | | analysis, and |
| | | | optimization before |
| | | | the release in order |
| | | | to address its |
| | | | deficiencies. |
|-----------------+-------------+---------------+------------------------|
| | | | There have been |
| | | | several reports that |
| | | | growfs(8) works |
| | | | improperly with large |
| Reports of UFS2 | | | disk sizes, and other |
| "large disk" | In progress | Scott Long | size-related nits in |
| problems | | | the current disk and |
| | | | label management tool |
| | | | set. These must be |
| | | | resolved for |
| | | | 5.3-RELEASE. |
|-----------------+-------------+---------------+------------------------|
| | | | Recent modifications |
| | | | to the ATA driver |
| DMA problems on | | | expect data alignment |
| sparc64 | Not done | Scott Long | issues to be handled |
| | | | by busdma. Support for |
| | | | that is missing in |
| | | | sparc64. |
|-----------------+-------------+---------------+------------------------|
| | | | Synaptics updates to |
| Synaptics | | | the psm(4) driver have |
| touchpad | In progress | Philip Paeps | resulted in poor |
| problems | | | interactivity for taps |
| | | | and button press |
| | | | events for some users. |
|-----------------+-------------+---------------+------------------------|
| | | | As part of the MPSAFE |
| | | | network stack work, |
| | | | delivery of routing |
| | | | socket messages was |
| | | | moved to queued |
| | | | dispatch via netisr |
| | | | rather than direct |
| | | | dispatch from the |
| | | | routing code. However, |
| Increased and | | | the risks of lost |
| configurable | | | routing messages for |
| netisr queue | In progress | Robert Watson | routing daemons are |
| max depth for | | | high; respond by |
| routing sockets | | | increasing the max |
| | | | depth beyond a default |
| | | | interface max depth of |
| | | | 50 to 128, and allow |
| | | | it to be |
| | | | user-configured. This |
| | | | change is in CVS HEAD, |
| | | | and needs to be merged |
| | | | to RELENG_5 after |
| | | | testing. |
+------------------------------------------------------------------------+
Desired features for 5.3-RELEASE
+------------------------------------------------------------------------+
| Issue | Status | Responsible | Description |
|------------------+-------------+----------------+----------------------|
| | | | 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 |
| truss support | | | is highly desirable |
| for ptrace | -- | -- | to update truss to |
| | | | operate in a |
| | | | post-procfs world. |
| | | | Dag-Erling Smorgrav |
| | | | had prototype |
| | | | patches; |
| | | | Robert Drehmel is |
| | | | developing and |
| | | | testing patches now. |
| | | | Support for system |
| | | | call tracing has |
| | | | been added to |
| | | | ptrace(). |
|------------------+-------------+----------------+----------------------|
| | | | FAST_IPSEC currently |
| | | | cannot be used |
| | | | directly with the |
| | | | KAME IPv6 |
| | | | implementation, |
| | | | requiring an |
| | | | additional level of |
| | | | IP tunnel |
| | | | indirection to |
| | | | protect IPv6 packets |
| FAST_IPSEC and | | | when using hardware |
| KAME | Not done | -- | crypto acceleration. |
| compatibility | | | 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. |
|------------------+-------------+----------------+----------------------|
| | | | A process cannot be |
| | | | interrupted while |
| | | | waiting on a lock. |
| rpc.lockd(8) | | | Fixing this requires |
| stability | -- | -- | that the RPC code be |
| | | | taught how to deal |
| | | | with lock |
| | | | cancellation and |
| | | | interruption events. |
|------------------+-------------+----------------+----------------------|
| | | | 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 |
| Revised kld | | | for kernel objects |
| build | Not done | Peter Wemm | (such as MAC, PAE, |
| infrastructure | | | 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. |
|------------------+-------------+----------------+----------------------|
| | | | Apple's Darwin |
| | | | operating system has |
| | | | fairly extensive |
| Merge of Darwin | | | improvements to |
| msdosfs, other | Not done | -- | msdosfs and other |
| fixes | | | kernel services; |
| | | | these fixes must be |
| | | | reviewed and merged |
| | | | to the FreeBSD tree. |
|------------------+-------------+----------------+----------------------|
| | | | 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 |
| Race conditions | Errata | Robert Drehmel | appears to exist |
| in truss | candidate | | 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. |
|------------------+-------------+----------------+----------------------|
| | | | Many systems |
| | | | supporting POSIX.1e |
| | | | ACLs permit a minor |
| | | | violation to that |
| | | | specification, in |
| | | | which the ACL_MASK |
| ACL_MASK | | | entry overrides the |
| override of | Not done | Robert Watson | umask, rather than |
| umask support in | | | being intersected |
| UFS | | | with it. The |
| | | | resulting semantics |
| | | | can be useful in |
| | | | group-oriented |
| | | | environments, and as |
| | | | such would be very |
| | | | helpful on FreeBSD. |
|------------------+-------------+----------------+----------------------|
| | | | The LOR reported in |
| | | | PR kern/55175 needs |
| filedesc LOR | Not done | -- | to be fixed. |
| | | | Filedesc locking |
| | | | needs to be heavily |
| | | | reviewed in general. |
|------------------+-------------+----------------+----------------------|
| | | | Currently, MAC |
| | | | protections are |
| | | | enforced only on |
| | | | locally originated |
| | | | file system |
| | | | operations (VOPs), |
| | | | and not on RPCs |
| | | | generated via the |
| | | | NFS server. |
| MAC support for | | | Improvements in NFS |
| NFS Server | Not done | Robert Watson | 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. |
|------------------+-------------+----------------+----------------------|
| | | | All PCI drivers must |
| | | | use busdma for DMA; |
| | | | no use of vtophys() |
| busdma in all | In progress | -- | will be permitted |
| PCI drivers | | | for any recent |
| | | | device driver. ISA |
| | | | drivers may be |
| | | | exempt. |
|------------------+-------------+----------------+----------------------|
| | | | Userland bits |
| KSE support for | In progress | Marcel | implemented, kernel |
| alpha | | Moolenaar | bits not |
| | | | implemented. |
|------------------+-------------+----------------+----------------------|
| | | | For kernel API/ABI |
| | | | compatibility |
| | | | reasons, it would be |
| CAM locking | In progress | Scott Long, | desirable to have |
| | | Justin Gibbs | the CAM locking |
| | | | strategy determined |
| | | | and loosely |
| | | | implemented for 5.3. |
+------------------------------------------------------------------------+
Documentation items that must be resolved for 5.3
+------------------------------------------------------------------------+
| Issue | Status | Responsible | Description |
|-------------------+-------------+---------------+----------------------|
| | | | The installation |
| | | | documentation |
| | | | doesn't take into |
| i386 Floppy | | | account the new |
| Installation Docs | Not done | -- | floppy images (with |
| | | | a full kernel split |
| | | | across multiple |
| | | | disks). This should |
| | | | be updated. |
|-------------------+-------------+---------------+----------------------|
| | | | Finish removing |
| | | | mention of |
| | | | individual devices |
| Finish hardware | | | in the hardware |
| notes trimming | In progress | Simon Nielsen | notes and use |
| | | | auto-generated |
| | | | lists, based on |
| | | | driver manual pages, |
| | | | instead. |
|-------------------+-------------+---------------+----------------------|
| | | | The snd(4) and |
| | | | pcm(4) drivers have |
| | | | been renamed but |
| | | | their manual pages |
| | | | are still outdated. |
| | | | sound(4) has to be |
| | | | added and pcm(4), |
| | | | csa(4), gusc(4), |
| sound(4) related | Not done | -- | sbc(4), and |
| manual pages | | | uaudio(4) should be |
| | | | revised. Other |
| | | | manual pages which |
| | | | refer to pcm(4) (if |
| | | | any) should possibly |
| | | | be revised, too. In |
| | | | addition, supported |
| | | | cards list needs to |
| | | | be updated. |
|-------------------+-------------+---------------+----------------------|
| | | | This section is |
| Sound section in | Not done | Marc | outdated, some |
| the Handbook | | Fonvieille | rewrites are needed |
| | | | for 5.3-RELEASE. |
|-------------------+-------------+---------------+----------------------|
| | | | With the snd(4) and |
| | | | pcm(4) drivers |
| FDP | | | changes, |
| documentations | Not done | -- | documentations (FAQ) |
| related pcm(4) | | | regarding the use of |
| | | | these drivers need |
| | | | an update. |
|-------------------+-------------+---------------+----------------------|
| | | | Xin LI pointed out |
| | | | that FreeBSD |
| | | | 5.3-RELEASE is the |
| | | | first stable release |
| | | | on 5.X and it is |
| | | | (hopefully) not for |
| | | | early adopters. |
| | | | Early Adopter's |
| | | | Guide is still |
| Early Adopter's | Not done | Bruce A. Mah | useful, but contains |
| Guide | | | a bit old |
| | | | information. Some |
| | | | parts of this guide |
| | | | need a rewrite, and |
| | | | this document should |
| | | | be published as "4.X |
| | | | to 5.X Migration |
| | | | Guide", which |
| | | | focuses difference |
| | | | between 4.X and 5.X. |
|-------------------+-------------+---------------+----------------------|
| | | | Some parts are |
| | | | outdated. doc/70485 |
| | | | has been committed, |
| | | | but more work is |
| | | | needed to reflect |
| | | | the realities. bmah@ |
| | | | pointed out that we |
| Installation | Not done | -- | should have |
| Notes | | | "quick-start" |
| | | | installation guide |
| | | | for each platform |
| | | | instead of the |
| | | | current ones because |
| | | | they become too long |
| | | | and difficult to be |
| | | | maintained. |
|-------------------+-------------+---------------+----------------------|
| | | | Update the X11 |
| Xorg | In progress | Ken Tom, Marc | chapter of the |
| | | Fonvieille | Handbook for X.Org's |
| | | | X11 server. |
|-------------------+-------------+---------------+----------------------|
| | | | Ch.11.4 and 11.5 of |
| | | | the Handbook must be |
| | | | updated to mention |
| rc.d scripts | Not done | -- | the new rc.d scripts |
| | | | and some ports use |
| | | | /etc/rc.conf for |
| | | | their configuration. |
|-------------------+-------------+---------------+----------------------|
| Handbook's kernel | | Ceri | Chapter 8 must be |
| configuration | In progress | Daviestd> | updated to match |
| chapter | | | 5.3-RELEASE. |
|-------------------+-------------+---------------+----------------------|
| | | | Some parts of |
| Handbook's IPsec | | | Section 14.10 are |
| section | Not done | -- | outdated and are not |
| | | | correct for 5.X |
| | | | systems. |
|-------------------+-------------+---------------+----------------------|
| Handbook's Vinum | | | Vinum chapter needs |
| chapter | Not done | -- | to be revised for |
| | | | 5.X systems. |
+------------------------------------------------------------------------+
Testing focuses for 5.3-RELEASE
+------------------------------------------------------------------------+
| Issue | Status | Responsible | Description |
|-------------------+---------------+--------------+---------------------|
| | | | SCHED_ULE provides |
| | | | better |
| | | | interactivity, |
| | | | higher performance, |
| SCHED_ULE as the | Needs testing | Jeff | and the ability to |
| default scheduler | | Roberson | support pinning and |
| | | | affinity. Basic HTT |
| | | | scheduling policies |
| | | | should be in place |
| | | | for 5.3 also. |
|-------------------+---------------+--------------+---------------------|
| | | | 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 |
| make -DUSE_KQUEUE | | Brian | developer, but also |
| causes lockup | Needs testing | Feldman, | because it's an |
| with buildworld | | John-Mark | instability that |
| -jBIGNUM | | Gurney | 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.3. |
|-------------------+---------------+--------------+---------------------|
| | | | KSE has matured to |
| | | | the point of being |
| | | | more stable and |
| | | | POSIX-compliant |
| | | | than the |
| | | | traditional libc_r. |
| | | | All Tier-1 |
| | | | platforms MUST have |
| KSE as the | | David Xu, | stable KSE support |
| default threads | Needs testing | Daniel | for 5.3 in order to |
| library | | Eischen | 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. |
|-------------------+---------------+--------------+---------------------|
| | | | Binutils needs |
| | | | updating in order |
| Updated binutils | | David | to support new |
| for all platforms | Needs testing | O'Brien | platforms, newer |
| | | | GDB versions, and |
| | | | Thread Local |
| | | | Storage. |
|-------------------+---------------+--------------+---------------------|
| | | | The previous GCC |
| | | | 3.3 snapshot |
| | | | included |
| | | | regressions in |
| | | | alignment of |
| | | | floating point |
| gcc 3.3 floating | | | arguments, |
| point alignment | Needs testing | | resulting in a |
| regression | | | substantial |
| | | | performance |
| | | | degradation. The |
| | | | recent GCC 3.4.2 |
| | | | import should fix |
| | | | this, but more |
| | | | testing is needed. |
|-------------------+---------------+--------------+---------------------|
| | | | Jun Kuriyama has |
| | | | reportged a failed |
| | | | locking assertion |
| | | | with IPv6 TCP |
| in6_pcbnotify() | Needs testing | Robert | notifications. A |
| panic with TCP | | Watson | patch has been |
| | | | committed to the |
| | | | CVS HEAD and |
| | | | RELENG_5 and needs |
| | | | further testing. |
|-------------------+---------------+--------------+---------------------|
| | | | To complete support |
| | | | for thread-local |
| | | | storage on FreeBSD, |
| | | | per-architecture |
| Per-platform | | Doug Rabson, | changes must be |
| Thread-Local | Needs testing | Marcel | made. Currently |
| Storage | | Moolenaar | pending platforms |
| | | | are amd64, alpha, |
| | | | ia64, i386, |
| | | | sparc64, and |
| | | | powerpc. |
+------------------------------------------------------------------------+
----------------------------------------------------------------------
home | contact | legal | (c) 1995-2004 The FreeBSD Project.
All rights reserved.
Last modified: 2004/08/26 18:22:33
More information about the freebsd-current
mailing list