From owner-freebsd-current@FreeBSD.ORG Fri Aug 27 13:38:21 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4B9A816A4CE; Fri, 27 Aug 2004 13:38:21 +0000 (GMT) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6F1BF43D64; Fri, 27 Aug 2004 13:38:20 +0000 (GMT) (envelope-from scottl@pooker.samsco.org) Received: from pooker.samsco.org (scottl@localhost [127.0.0.1]) by pooker.samsco.org (8.12.11/8.12.10) with ESMTP id i7RDbX6m052802; Fri, 27 Aug 2004 07:37:33 -0600 (MDT) (envelope-from scottl@pooker.samsco.org) Received: (from scottl@localhost) by pooker.samsco.org (8.12.11/8.12.10/Submit) id i7RDbXgu052801; Fri, 27 Aug 2004 07:37:33 -0600 (MDT) (envelope-from scottl) Date: Fri, 27 Aug 2004 07:37:33 -0600 (MDT) Message-Id: <200408271337.i7RDbXgu052801@pooker.samsco.org> From: Scott Long To: current@FreeBSD.org X-Spam-Status: No, hits=0.6 required=3.8 tests=SUBJ_ALL_CAPS autolearn=no version=2.63 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on pooker.samsco.org Subject: 5.3-RELEASE TODO X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: re@FreeBSD.org List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Aug 2004 13:38:21 -0000 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@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