Date: Fri, 3 Sep 2004 01:41:12 -0600 (MDT) From: Scott Long <scottl@FreeBSD.org> To: current@FreeBSD.org Subject: 5.3-RELEASE TODO Message-ID: <200409030741.i837fCvb084588@pooker.samsco.org>
next in thread | raw e-mail | index | archive | help
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. | |--------------------+-------------+-------------+-----------------------| | | | | Jun Kuriyama has | | | | | reported problems | | | | | with NFS over IPv6 | | NFS over IPv6 | Not done | - | not functioning | | problems | | | correctly as of the | | | | | improved NFS support | | | | | for disconnection | | | | | changes. | |--------------------+-------------+-------------+-----------------------| | | | | There are reports of | | | | | applications wedging | | | | | in poll() and | | | | | select() while | | | | | running the network | | poll()/select() | | | stack without the | | application wedge | | Robert | Giant lock. A recent | | reports with | In progress | Watson | sleepq change appears | | debug.mpsafenet=1 | | | to 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(), at | | ether_input() may | | | which point it may | | harvest entropy | In progress | Mark Murray | have been free()'d | | from free()'d mbuf | | | back to the mbuf | | | | | allocator. It also | | | | | passes in a pointer | | | | | to the mbuf itself, | | | | | rather than ethernet | | | | | frame header. | |--------------------+-------------+-------------+-----------------------| | | | | Recent changes to the | | | | | ATA driver trigger a | | | | So/ren | bug on sparc64 that | | ATA panics under | In progress | Schmidt, | causes a panic on | | sparc64 | | Scott Long | boot. A work-around | | | | | has been developed | | | | | but needs to be | | | | | committed. | |--------------------+-------------+-------------+-----------------------| | | | | Kris Kennaway has | | | | | reported problems | | | | | with boot time | | | | | panic's, mutex Giant | | boot time panic | Not done | - | not owned at | | | | | kern/vfs_subr.c:1365. | | | | | See "Re: 5.3-RELEASE | | | | | TODO" thread in | | | | | -current@. | +------------------------------------------------------------------------+ 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. | |-----------------+-------------+--------------+-------------------------| | | | | KLDs work when loaded | | | | | from userland, but not | | | | | from the loader. | | kld support for | | David | kldxref and loader | | amd64 | In progress | O'Brien, Ian | support has been | | | | Dowse | committed to 6-CURRENT | | | | | and will hopefully be | | | | | backported to RELENG_5 | | | | | once it is tested. | |-----------------+-------------+--------------+-------------------------| | | | | 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 | | | | | characteristics, and | | Scheduler | | | performing quite well | | cleanup and | In progress | -- | in a number of | | resolution | | | 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 | | Reports of UFS2 | | | large disk sizes, and | | "large disk" | In progress | Scott Long | other size-related nits | | problems | | | in the current disk and | | | | | label management tool | | | | | set. These must be | | | | | resolved for | | | | | 5.3-RELEASE. | |-----------------+-------------+--------------+-------------------------| | | | | 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. | |-----------------+-------------+--------------+-------------------------| | | | | Entropy harvesting in | | | | | the interrupt and | | | | | incoming packet paths | | | | | currently involves a | | | | | large number of mutex | | | | | operations. In order to | | | | | improve performance, it | | Entropy | | Robert | is desirable to reduce | | harvesting | In progress | Watson, | the number of mutex | | optimizations | | Mark Murray | operations | | | | | substantially. Work is | | | | | in progress to improve | | | | | the harvesting code | | | | | along these lines, but | | | | | has not yet been | | | | | properly measured, and | | | | | therefore not yet | | | | | merged to CVS. | +------------------------------------------------------------------------+ 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. | |------------------+-------------+----------------+----------------------| | | | | Truss appears to | | | | | have another | | | | | problem. It is | | | | | repeatable by | | | | | running "truss -f | | More truss | Not done | -- | fsck -p /", | | problems | | | suspending it with | | | | | ^Z, and then killing | | | | | truss. It will leave | | | | | behind the fsck | | | | | processes which will | | | | | be unkillable. | |------------------+-------------+----------------+----------------------| | | | | 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. | |------------------+-------------+----------------+----------------------| | | | | When running syscons | | | | | on an Ultra-30 with | | | | | Creator-3D typing | | | | | characters on the | | | | | keyboard produces | | | | | garbage. Problem | | | | | reported by Kris | | syscons not | | | Kennaway. Debugging | | working on | Not done | -- | difficult due to | | Sparc64 Ultra-30 | | | lack of this | | | | | particular | | | | | configuration among | | | | | developers and | | | | | problem isn't | | | | | present on similar | | | | | hardware (e.g. no | | | | | problem on Ultra-60 | | | | | w/Creator-3D). | +------------------------------------------------------------------------+ Documentation items that must be resolved for 5.3 +------------------------------------------------------------------------+ | Issue | Status | Responsible | Description | |-------------------+-------------+---------------+----------------------| | | | | The installation | | | | | documentation | | | | | doesn't take into | | i386 Floppy | | Gavin | account the new | | Installation Docs | Done | Atkinson, | floppy images (with | | | | Bruce A. Mah | a full kernel split | | | | | across multiple | | | | | disks). This should | | | | | be updated. | |-------------------+-------------+---------------+----------------------| | | | | Finish removing | | | | | mention of | | | | Simon L. | individual devices | | Finish hardware | | Nielsen, | in the hardware | | notes trimming | In progress | Christian | notes and use | | | | Brueffer | 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), | | | | Ruslan | csa(4), gusc(4), | | sound(4) related | In progress | Ermilov, | sbc(4), and | | manual pages | | Simon L. | uaudio(4) should be | | | | Nielsen | 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 | In progress | 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 | In progress | Bruce A. Mah, | useful, but contains | | Guide | | Tom Rhodes | 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 | Tom Rhodes | 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 | Done | 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 | In progress | Tom Rhodes | the new rc.d scripts | | | | | and some ports use | | | | | /etc/rc.conf for | | | | | their configuration. | |-------------------+-------------+---------------+----------------------| | Handbook's kernel | | | Chapter 8 must be | | configuration | In progress | Ceri Davies | 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. | |-------------------+---------------+--------------+---------------------| | | | | 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 | Needs testing | Alan L. Cox | candidate patch | | | | | that appears to | | | | | resolve this | | | | | instability, which | | | | | is currently in | | | | | testing for merge | | | | | to the CVS HEAD. | |-------------------+---------------+--------------+---------------------| | | | | 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 Giant | | Fine-grained | | | lock. However, a | | network stack | Needs testing | Robert | number of device | | locking without | | Watson | 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. | |-------------------+---------------+--------------+---------------------| | | | | 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. | | Increased and | | | However, the risks | | configurable | | Robert | of lost routing | | netisr queue max | Needs testing | Watson | messages for | | depth for routing | | | routing daemons are | | sockets | | | high; respond by | | | | | increasing the max | | | | | depth beyond a | | | | | default interface | | | | | max depth of 50 to | | | | | 128, and allow it | | | | | to be | | | | | user-configured. | | | | | This change is now | | | | | present in CVS HEAD | | | | | and RELENG_5. | +------------------------------------------------------------------------+ ---------------------------------------------------------------------- home | contact | legal | (c) 1995-2004 The FreeBSD Project. All rights reserved. Last modified: 2004/09/03 03:59:35
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200409030741.i837fCvb084588>