5.2-RELEASE TODO

Robert Watson rwatson at FreeBSD.org
Sat Nov 15 07:02:24 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         |        |             | The panic reported in PR   |
 | rebuilding         | --     | --          | kern/58228 must be fixed.  |
 | ata-raid arrays    |        |             |                            |
 |--------------------+--------+-------------+----------------------------|
 |                    |        |             | Kris Kennaway reports that |
 |                    |        |             | Alpha packages builds are  |
 | pipe/VM corruption | --     | --          | being silently corrupted   |
 | on Alpha           |        |             | and suspects pipe and vm   |
 |                    |        |             | issues. This must be       |
 |                    |        |             | investigated and resolved. |
 |--------------------+--------+-------------+----------------------------|
 |                    |        |             | The panic reported in PR   |
 | Lingering PSE      | --     | --          | kern/58787 is likely       |
 | instability        |        |             | related to PSE problems    |
 |                    |        |             | and must be fixed.         |
 +------------------------------------------------------------------------+

Required features for 5.2-RELEASE

 +------------------------------------------------------------------------+
 |      Issue      |    Status    |  Responsible  |      Description      |
 |-----------------+--------------+---------------+-----------------------|
 |                 |              |               | Kernel and userland   |
 |                 |              |               | bits are implemented  |
 | KSE support for | In progress  | Jake          | but untested and      |
 | sparc64         |              | Burkholder    | known to be           |
 |                 |              |               | incomplete. Required  |
 |                 |              |               | for 5.2-RELEASE.      |
 |-----------------+--------------+---------------+-----------------------|
 |                 |              |               | Userland bits         |
 | KSE support for |              | Marcel        | implemented, kernel   |
 | alpha           | In progress. | Moolenaar     | bits 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 |
 | Fine-grained    |              |               | without Giant, due to |
 | network stack   |              |               | dependencies on       |
 | locking without | In progress  | Sam Leffler   | sockets, routing,     |
 | Giant           |              |               | etc. A 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.             |
 |-----------------+--------------+---------------+-----------------------|
 |                 |              |               | Brian Feldman has     |
 |                 |              |               | submitted patches to  |
 |                 |              |               | improve the           |
 |                 |              |               | consistency of the    |
 | MAC Framework   |              |               | pathnames passed into |
 | devfs path      | In progress  | Robert Watson | the MAC Framework     |
 | 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    |
 | ACL_MASK        |              |               | entry overrides the   |
 | override of     | In progress  | Robert Watson | umask, rather than    |
 | umask support   |              |               | being intersected     |
 | in UFS          |              |               | with it. The          |
 |                 |              |               | resulting semantics   |
 |                 |              |               | can be useful in      |
 |                 |              |               | group-oriented        |
 |                 |              |               | environments, and as  |
 |                 |              |               | such would be very    |
 |                 |              |               | helpful on FreeBSD.   |
 +------------------------------------------------------------------------+

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  |
 | FAST_IPSEC and     | --        | --             | crypto acceleration. |
 | KAME 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.      |
 |--------------------+-----------+----------------+----------------------|
 |                    |           |                | The FreeBSD KAME     |
 |                    |           |                | IPv6 code is now     |
 |                    |           |                | substantially dated  |
 |                    |           |                | with respect to the  |
 | KAME               | In        |                | KAME vendor source.  |
 | Synchronization    | progress  | Hajimu UMEMOTO | The 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 to    |
 | truss support for  | In        |                | its inherent         |
 | ptrace             | 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     | --        | --             | msdosfs and other    |
 | fixes              |           |                | kernel services;     |
 |                    |           |                | these fixes must be  |
 |                    |           |                | reviewed and merged  |
 |                    |           |                | to the FreeBSD tree. |
 |--------------------+-----------+----------------+----------------------|
 |                    |           |                | Productionable       |
 |                    |           |                | support for the      |
 |                    |           |                | AMD64 platform. It   |
 |                    |           |                | currently meets most |
 | Tier-1 Support for | In        | Peter Wemm,    | of the requirements  |
 | AMD64 Hammer       | progress  | 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   |
 | Revised kld build  | --        | --             | (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.           |
 |--------------------+-----------+----------------+----------------------|
 |                    |           |                | 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, |
 | Light-weight       |           |                | and only when a      |
 | interrupt threads, | --        | --             | full-weight context  |
 | context switches   |           |                | is required (such 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 easy  |
 | of GBDE and        |           |                | 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.   |
 | rpc.lockd(8)       | In        |                | Fixing this requires |
 | stability          | progress  | Robert Watson  | that the RPC 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 |
 | Race conditions in | Errata    | Robert Drehmel | appears to exist     |
 | 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.              |
 |--------------------+-----------+----------------+----------------------|
 | gdb -k support for | --        | Mark Peek      | gdb -k doesn't work  |
 | alpha              |           |                | on alpha             |
 |--------------------+-----------+----------------+----------------------|
 |                    |           |                | 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         | --        | 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 PCI  | --        | --             | will be permitted    |
 | drivers            |           |                | 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 | --        | --             | 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,      |
 |                    |           |                | provided that        |
 | Per object ELF     | In        |                | dependent objects    |
 | Prebinding support | progress  | Matthew Dodd   | 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  |
 | filedesc LOR       | --        | --             | to be fixed.         |
 |                    |           |                | Filedesc locking     |
 |                    |           |                | needs to be heavily  |
 |                    |           |                | reviewed in general. |
 +------------------------------------------------------------------------+

Documentation items desired for 5.2

 +------------------------------------------------------------------------+
 |     Issue     |   Status    |  Responsible  |       Description        |
 |---------------+-------------+---------------+--------------------------|
 |               |             | Pav Lucistnik | It'd be nice to have     |
 | Bluetooth     | Complete    | / Maksim      | some Bluetooth           |
 | documentation |             | Yevmenkin     | documentation for the    |
 |               |             |               | Handbook.                |
 |---------------+-------------+---------------+--------------------------|
 |               |             |               | The Early Adopters Guide |
 |               |             |               | needs to be revised,     |
 | Revise EAG    | --          | Bruce A. Mah  | hopefully for the last   |
 |               |             |               | time, to reflect the     |
 |               |             |               | state of 5.2.            |
 |---------------+-------------+---------------+--------------------------|
 |               |             |               | Ongoing project to       |
 |               |             |               | remove redundancy in     |
 |               |             |               | documentation by         |
 | Trim Hardware | In progress | Bruce A. Mah  | removing lists of        |
 | Notes         |             |               | 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 quite a     |
 |                   |          |                 | while, but LOR        |
 | PCM locking and   |          |                 | problems persist      |
 | performance       | Complete | --              | along with reports of |
 | issues            |          |                 | poor audio            |
 |                   |          |                 | performance under     |
 |                   |          |                 | load. These problems  |
 |                   |          |                 | are believed to have  |
 |                   |          |                 | been corrected, but   |
 |                   |          |                 | more testing is       |
 |                   |          |                 | desired.              |
 |-------------------+----------+-----------------+-----------------------|
 |                   |          |                 | New ATA model has     |
 | ATA driver        |          |                 | arrived, supporting   |
 | structural        |          |                 | fine-grained locking, |
 | improvements,     | Complete | So/ren Schmidt  | and more. Much        |
 | MPsafety          |          |                 | testing is needed to  |
 |                   |          |                 | ensure no             |
 |                   |          |                 | regressions.          |
 |-------------------+----------+-----------------+-----------------------|
 |                   |          |                 | Sysinstall and        |
 | GPT support for   |          | Marcel          | libdisk has been      |
 | sysinstall        | Complete | Moolenaar       | overhauled to support |
 |                   |          |                 | the GPT partition     |
 |                   |          |                 | scheme used on ia64.  |
 |-------------------+----------+-----------------+-----------------------|
 |                   |          |                 | Interrupt routing on  |
 |                   |          |                 | ia32 has been         |
 | Complete the APIC |          |                 | completely re-written |
 | PCI interrupt     | Complete | John Baldwin    | to support ACPI hints |
 | routing support   |          |                 | for PCI interrupt     |
 |                   |          |                 | routing, along with   |
 |                   |          |                 | ACPI hints for CPU    |
 |                   |          |                 | enumeration.          |
 |-------------------+----------+-----------------+-----------------------|
 |                   |          |                 | Performing a          |
 |                   |          |                 | crashdump on an ATA   |
 | ATAng crashdump   |          | So/ren Schmidt, | device can result in  |
 | causes disk       | Complete | Tor Egge        | a corrupted MBR       |
 | corruption        |          |                 | record. Tor has a     |
 |                   |          |                 | possible patch for    |
 |                   |          |                 | this.                 |
 +------------------------------------------------------------------------+

   ----------------------------------------------------------------------

  home   |   contact   |   legal   |   (c) 1995-2003 The FreeBSD Project.
  All rights reserved.
  Last modified: 2003/11/13 05:05:43


More information about the freebsd-current mailing list