5.2-RELEASE TODO
Robert Watson
rwatson at FreeBSD.org
Mon Dec 1 07:04:32 PST 2003
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 at 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 | | | |
|-----------+-----------+------------+-----------------------------------|
| | | |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/29 20:51:37
More information about the freebsd-current
mailing list