From owner-freebsd-current@FreeBSD.ORG Sat Nov 29 07:15:20 2003 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 36E2916A4CE for ; Sat, 29 Nov 2003 07:15:20 -0800 (PST) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id BB05F43F85 for ; Sat, 29 Nov 2003 07:15:14 -0800 (PST) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.12.9p2/8.12.9) with ESMTP id hATFCdMg057249 for ; Sat, 29 Nov 2003 10:12:39 -0500 (EST) (envelope-from robert@fledge.watson.org) Received: (from robert@localhost) by fledge.watson.org (8.12.9p2/8.12.9/Submit) id hATFCdRW057248 for current@FreeBSD.org; Sat, 29 Nov 2003 10:12:39 -0500 (EST) (envelope-from robert) Date: Sat, 29 Nov 2003 10:12:39 -0500 (EST) Message-Id: <200311291512.hATFCdRW057248@fledge.watson.org> From: Robert Watson To: current@FreeBSD.org Subject: 5.2-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: Sat, 29 Nov 2003 15:15:20 -0000 [NOTE: This is being resent due to a cvs update error that caused an un-updated version of the TODO list to be sent out earlier] This is an automated bi-weekly mailing of the FreeBSD 5.2 open issues list. The live version of this list is available at: http://www.FreeBSD.org/releases/5.2R/todo.html Automated mailing of this list will continue through the release of FreeBSD 5.2. 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 re@FreeBSD.org. Show stopper defects for 5.2-RELEASE +------------------------------------------------------------------------+ | Issue | Status |Responsible | Description | |-----------+-----------+------------+-----------------------------------| |Panic when | | | | |rebuilding |Not done |-- |The panic reported in PR kern/58228| |ata-raid | | |must be fixed. | |arrays | | | | |-----------+-----------+------------+-----------------------------------| | | | |Kris Kennaway reports that Alpha | |pipe/VM | | |packages builds are being silently | |corruption |Not done |-- |corrupted and suspects pipe and vm | |on Alpha | | |issues. This must be investigated | | | | |and resolved. | |-----------+-----------+------------+-----------------------------------| | | | |panic: Assertion td->td_turnstile | | | | |!= NULL failed at | | | | |../../../kern/subr_turnstile.c:427 | | | | |has been affecting several users on| | | | |multiple platforms. Note: further | |Turnstile | | |research indicates that these | |assertion |In progress|John Baldwin|panics tend to be "double panics" | |failure | | |that are a side effect of the | | | | |turnstile code in the context of an| | | | |existing panic. Reporters of this | | | | |panic should make sure to include a| | | | |full stack trace so that it's clear| | | | |if a second panic is also present. | |-----------+-----------+------------+-----------------------------------| | | | |The new i386 interrupt code | |ACPI kernel| | |requires that ACPI be compiled into| |module |In progress|John Baldwin|the kernel if it to be used. Work | | | | |is underway to restore the ability | | | | |to load it as a module. | |-----------+-----------+------------+-----------------------------------| | | | |There have been a number of reports| |Reported | | |of NFS clients and server hangs. | |NFS |In progress| |Unfortunately, these are difficult | |failures | | |to reproduce, and have not yet been| | | | |traced back to a particular change | | | | |or reliable reproduction scenario. | +------------------------------------------------------------------------+ Required features for 5.2-RELEASE +------------------------------------------------------------------------+ | Issue | Status | Responsible | Description | |-----------------+-------------+-------------+--------------------------| | | | | Kernel and userland bits | | KSE support for | | Jake | are implemented but | | sparc64 | In progress | Burkholder | untested and known to be | | | | | incomplete. Required for | | | | | 5.2-RELEASE. | |-----------------+-------------+-------------+--------------------------| | | | | Userland bits | | KSE support for | | Marcel | implemented, kernel bits | | alpha | In progress | Moolenaar | not implemented. | | | | | Required for | | | | | 5.2-RELEASE. | |-----------------+-------------+-------------+--------------------------| | | | | 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 | | Fine-grained | | | Giant, due to | | network stack | In progress | Sam Leffler | dependencies on sockets, | | locking without | | | routing, etc. A | | Giant | | | 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. | +------------------------------------------------------------------------+ Desired features for 5.2-RELEASE +------------------------------------------------------------------------+ | Issue | Status | Responsible | Description | |--------------------+---------------+----------------+------------------| | | | | 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 | | FAST_IPSEC and | | | acceleration. | | KAME compatibility | Not done | -- | 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. | |--------------------+---------------+----------------+------------------| | | | | The FreeBSD KAME | | | | | IPv6 code is now | | | | | substantially | | | | | dated with | | | | | respect to the | | | | | KAME vendor | | KAME | In progress | Hajimu UMEMOTO | source. The | | Synchronization | | | FreeBSD Project | | | | | needs to take | | | | | initiative in | | | | | driving the | | | | | merge of new bug | | | | | fixes, features, | | | | | et al. | |--------------------+---------------+----------------+------------------| | | | | 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 | | truss support for | | | to its inherent | | ptrace | In progress | Robert Drehmel | 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. | |--------------------+---------------+----------------+------------------| | | | | Apple's Darwin | | | | | operating system | | | | | has fairly | | | | | extensive | | Merge of Darwin | | | improvements to | | msdosfs, other | Not done | -- | msdosfs and | | fixes | | | other kernel | | | | | services; these | | | | | fixes must be | | | | | reviewed and | | | | | merged to the | | | | | FreeBSD tree. | |--------------------+---------------+----------------+------------------| | | | | Productionable | | | | | support for the | | | | | AMD64 platform. | | | | | It currently | | | | | meets most of | | Tier-1 Support for | In progress | Peter Wemm, | the requirements | | AMD64 Hammer | | David O'Brien | for the Tier-1 | | | | | classification, | | | | | but a formal | | | | | ruling must be | | | | | made in time for | | | | | 5.2-RELEASE. | |--------------------+---------------+----------------+------------------| | | | | 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, | | Revised kld build | Not done | -- | PAE, etc) that | | infrastructure | | | 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. | |--------------------+---------------+----------------+------------------| | | | | 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 | | Light-weight | | | context is | | interrupt threads, | Not done | -- | required (such | | context switches | | | 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. | |--------------------+---------------+----------------+------------------| | | | | Currently, gbde | | | | | must be manually | | | | | configured at | | | | | run-time each | | | | | time an | | | | | encrypted disk | | | | | device is | | | | | mounted. This | | | | | prevents easy | | Run-time | | | integration into | | autoconfiguration | | | /etc/fstab and | | of GBDE and | Not done | -- | easy automated | | related transforms | | | deployment. | | | | | Improved | | | | | integration with | | | | | the | | | | | configuration, | | | | | mounting, and | | | | | boot process is | | | | | required to make | | | | | this feature | | | | | more easily | | | | | accessible. | |--------------------+---------------+----------------+------------------| | | | | A process cannot | | | | | be interrupted | | | | | while waiting on | | | | | a lock. Fixing | | | | | this requires | | rpc.lockd(8) | In progress | Robert Watson | that the RPC | | stability | | | code be taught | | | | | how to deal with | | | | | lock | | | | | cancellation and | | | | | interruption | | | | | events. | |--------------------+---------------+----------------+------------------| | | | | 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 | | Race conditions in | Errata | | where in truss | | truss | candidate | Robert Drehmel | 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. | |--------------------+---------------+----------------+------------------| | gdb -k support for | Not done | Mark Peek | gdb -k doesn't | | alpha | | | work on alpha | |--------------------+---------------+----------------+------------------| | | | | Currently, MAC | | | | | protections are | | | | | enforced only on | | | | | locally | | | | | originated file | | | | | system | | | | | operations | | | | | (VOPs), and not | | | | | on RPCs | | | | | generated via | | | | | the NFS server. | | | | | Improvements in | | MAC support for | | | NFS server | | NFS Server | Not done | Robert Watson | 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 PCI | In progress | -- | will be | | drivers | | | permitted for | | | | | any recent | | | | | device driver. | | | | | ISA drivers may | | | | | be exempt. | |--------------------+---------------+----------------+------------------| | | | | With improved | | | | | support for | | | | | threading | | | | | primitives, | | | | | support is now | | | | | required to ease | | | | | debugging of | | GDB thread support | In progress | Glenn Gombert | threaded | | | | | applications. | | | | | Ideally, this | | | | | support will | | | | | work for both | | | | | libthr and | | | | | libkse threading | | | | | models. | |--------------------+---------------+----------------+------------------| | | | | Prebinding | | | | | reduces | | | | | executable | | | | | startup time by | | | | | lowering the | | | | | expense of | | | | | symbol lookup, | | | | | binding and | | | | | relocation. This | | | | | is accomplished | | | | | by a prebinding | | | | | data file or ELF | | | | | segment that | | | | | contains | | | | | intermediate | | | | | lookup results | | | | | allowing fast | | | | | symbol binding | | | | | and relocation, | | Per object ELF | | | provided that | | Prebinding support | In progress | Matthew Dodd | dependent | | | | | objects remain | | | | | unchanged since | | | | | the prebinding | | | | | information was | | | | | generated. | | | | | | | | | | The benefits of | | | | | prebinding are | | | | | realized when | | | | | running | | | | | executables that | | | | | use a large | | | | | (>10) number of | | | | | shared | | | | | libraries. C++ | | | | | applications | | | | | also benefit as | | | | | they contain a | | | | | large number of | | | | | relocations. | |--------------------+---------------+----------------+------------------| | | | | The LOR reported | | | | | in PR kern/55175 | | | | | needs to be | | filedesc LOR | Not done | -- | fixed. Filedesc | | | | | locking needs to | | | | | be heavily | | | | | reviewed in | | | | | general. | |--------------------+---------------+----------------+------------------| | | | | Brian Feldman | | | | | has submitted | | | | | patches to | | | | | improve the | | | | | consistency of | | | | | the pathnames | | | | | passed into the | | MAC Framework | In progress | Robert Watson | MAC Framework | | devfs path fixes | | | devfs labeling | | | | | entry points. | | | | | These patches | | | | | need to be | | | | | thoroughly | | | | | reviewed and | | | | | tested, then | | | | | merged. | |--------------------+---------------+----------------+------------------| | | | | Many systems | | | | | supporting | | | | | POSIX.1e ACLs | | | | | permit a minor | | | | | violation to | | | | | that | | | | | specification, | | | | | in which the | | | | | ACL_MASK entry | | | | | overrides the | | ACL_MASK override | | | umask, rather | | of umask support | In progress | Robert Watson | than being | | in UFS | | | intersected with | | | | | it. The | | | | | resulting | | | | | semantics can be | | | | | useful in | | | | | group-oriented | | | | | environments, | | | | | and as such | | | | | would be very | | | | | helpful on | | | | | FreeBSD. | |--------------------+---------------+----------------+------------------| | | | | 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 | | make -DUSE_KQUEUE | | | perspective of | | causes lockup with | | | building FreeBSD | | buildworld | Needs testing | | quickly as a | | -jBIGNUM | | | developer, but | | | | | also because | | | | | it's an | | | | | instability that | | | | | could show up | | | | | under other high | | | | | load and heavy | | | | | use of KQueues. | | | | | See PR | | | | | kern/57945 for a | | | | | proposed patch | | | | | and details. | +------------------------------------------------------------------------+ Documentation items desired for 5.2 +------------------------------------------------------------------------+ | Issue | Status | Responsible | Description | |---------------+-------------+--------------+---------------------------| | | | | The Early Adopters Guide | | | | | needs to be revised, | | Revise EAG | In progress | Bruce A. Mah | hopefully for the last | | | | | time, to reflect the | | | | | state of 5.2. | |---------------+-------------+--------------+---------------------------| | | | | Ongoing project to remove | | | | | redundancy in | | Trim Hardware | | | documentation by removing | | Notes | In progress | Bruce A. Mah | lists of specific devices | | | | | from the hardware notes | | | | | and pointing readers to | | | | | driver manpages. | +------------------------------------------------------------------------+ Testing focuses for 5.2-RELEASE +------------------------------------------------------------------------+ | Issue | Status |Responsible | Description | |----------------+-------------+------------+----------------------------| | | | |The PCM audio framework and | | | | |device drivers have been | | | | |locked and free of Giant for| |PCM locking and | | |quite a while, but LOR | |performance |Needs testing|-- |problems persist along with | |issues | | |reports of poor audio | | | | |performance under load. | | | | |These problems are believed | | | | |to have been corrected, but | | | | |more testing is desired. | |----------------+-------------+------------+----------------------------| |ATA driver | | |New ATA model has arrived, | |structural | |So/ren |supporting fine-grained | |improvements, |Needs testing|Schmidt |locking, and more. Much | |MPsafety | | |testing is needed to ensure | | | | |no regressions. | |----------------+-------------+------------+----------------------------| | | | |Sysinstall and libdisk has | |GPT support for |Needs testing|Marcel |been overhauled to support | |sysinstall | |Moolenaar |the GPT partition scheme | | | | |used on ia64. | |----------------+-------------+------------+----------------------------| | | | |Interrupt routing on ia32 | | | | |has been completely | | | | |re-written to support ACPI | | | | |hints for PCI interrupt | |Complete the | | |routing, along with ACPI | |APIC PCI | | |hints for CPU enumeration. | |interrupt |Needs testing|John Baldwin|There have been reports of | |routing support | | |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. | |----------------+-------------+------------+----------------------------| | | | |Performing a crashdump on an| |ATAng crashdump | |So/ren |ATA device can result in a | |causes disk |Needs testing|Schmidt, Tor|corrupted MBR record. Tor | |corruption | |Egge |has a possible patch for | | | | |this. | |----------------+-------------+------------+----------------------------| | | | |The ACPI code registers | | | | |eventhandlers that are not | | | | |unregistered when ACPI shuts| |SMP users report| | |down during system shutdown.| |acpi_cpu panic |Needs testing|Nate Lawson |The result can be a panic | |during shutdown | | |during shutdown. Nate is | | | | |circulating a patch that is | | | | |believed to correct this | | | | |problem. | |----------------+-------------+------------+----------------------------| | | | |There are reports of witness| | | | |panics in | | | | |random_harvest_internal() | | | | |due to last minute changes | | | | |in interrupt entropy | |random_harvest | | |harvesting code. Systems | |panic |Needs testing|Mark Murray |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. | |----------------+-------------+------------+----------------------------| | | | |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 | |Vinum data | | |inconsistency at 0xc2053c00 | |corruption and | | |from vinumio.c:755 has been | |memory |Needs testing|Greg Lehey |experienced when Vinum | |allocation | | |auto-configuration fails. | |problems | | |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. | +------------------------------------------------------------------------+ ---------------------------------------------------------------------- home | contact | legal | (c) 1995-2003 The FreeBSD Project. All rights reserved. Last modified: 2003/11/25 20:16:25