5.3-RELEASE TODO
Scott Long
scottl at FreeBSD.org
Wed Aug 4 00:45:08 PDT 2004
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 at FreeBSD.org.
Show stopper defects for 5.3-RELEASE
+------------------------------------------------------------------------+
| Issue | Status | Responsible | Description |
|--------------------+-------------+---------------+---------------------|
| | | | The kernel random |
| | | | number generator's |
| | | | requirement of |
| | | | needing to be fed |
| | | | entropy early on |
| | | | has been disabled |
| | | | so that sysinstall |
| | | | and single-user |
| /dev/random stalls | | | mode apps don't |
| single user and | In progress | Mark Murray | block with strange |
| sysinstall | | | messages. Work is |
| | | | still needed in |
| | | | rc.d to enable the |
| | | | higher-quality |
| | | | entropy before |
| | | | critical startup |
| | | | scripts start and |
| | | | the system reaches |
| | | | multiuser mode. |
|--------------------+-------------+---------------+---------------------|
| | | | Problems persist |
| | | | with crashes and |
| | | | hangs under heavy |
| | | | load, especially |
| | | | under SMP. The |
| | | | recent introduction |
| | | | of full-scale |
| | | | preemption |
| | | | exasperated the |
| | | | problem, though |
| | | | preemption has been |
| | | | turned off |
| General | | | temporarily while |
| instability and | | Scott Long, | this problem is |
| lockups under high | Not done | Julian | debugged. |
| load | | Elischer | Speculation on the |
| | | | source of the |
| | | | problem seems to |
| | | | center around |
| | | | problems in the |
| | | | scheduler and |
| | | | appear to be common |
| | | | to both the 4BSD |
| | | | and ULE schedulers. |
| | | | This needs to be |
| | | | driven to root |
| | | | cause and fixed in |
| | | | order for 5.3 to be |
| | | | considered STABLE. |
|--------------------+-------------+---------------+---------------------|
| | | | Symbols that have |
| | | | moved between libc |
| | | | and libm have made |
| | | | source upgrades |
| Source upgrade | Not done | David Schultz | problematic. The |
| incompatibility | | | 5.3 world sources |
| | | | must be buildable |
| | | | and installable |
| | | | from a 5.2.1 |
| | | | system. |
+------------------------------------------------------------------------+
Required features for 5.3-RELEASE
+------------------------------------------------------------------------+
| Issue | Status | Responsible | Description |
|-----------------+-------------+---------------+------------------------|
| GDB 6.1 kernel | | | GDB 6.1.1 import does |
| debugging | In progress | Marcel | not include FreeBSD |
| support | | Moolenaar | kernel debugging |
| | | | support. |
|-----------------+-------------+---------------+------------------------|
| BIND9 import | In progress | Doug Barton | BIND9 must be imported |
| into 5-CURRENT | | | for 5.3-RELEASE. |
|-----------------+-------------+---------------+------------------------|
| | | | Kernel bits |
| KSE support for | | | implemented, userland |
| sparc64 | -- | -- | not implemented. |
| | | | Required for |
| | | | 5.3-RELEASE. |
|-----------------+-------------+---------------+------------------------|
| | | | Significant parts of |
| | | | the network stack |
| | | | (especially IPv4, UNIX |
| | | | domain IPC, and |
| | | | sockets) now have |
| | | | fine-grained locking |
| | | | of their data |
| | | | structures. It's |
| | | | possible to run many |
| | | | common network |
| | | | subsystems and |
| | | | services without the |
| Fine-grained | | | Giant lock. However, a |
| network stack | In progress | Robert Watson | number of device |
| locking without | | | drivers and less |
| Giant | | | mainstream network |
| | | | subsystems are |
| | | | currently not MPSAFE. |
| | | | By 5.3-RELEASE, it is |
| | | | necessary to have the |
| | | | vast majority of |
| | | | network code running |
| | | | without Giant, |
| | | | including sockets, |
| | | | permitting complete |
| | | | local<->remote |
| | | | delivery without |
| | | | grabbing Giant. |
|-----------------+-------------+---------------+------------------------|
| | | | KLDs work when loaded |
| | | | from userland, but not |
| | | | from the loader. |
| kld support for | In progress | David O'Brien | kldxref might also |
| amd64 | | Peter Wemm | need work. Required |
| | | | for amd64 to be |
| | | | promoted to tier-1 |
| | | | status. |
|-----------------+-------------+---------------+------------------------|
| | | | With improved support |
| | | | for threading |
| | | | primitives, support is |
| | | David | now required to ease |
| GDB thread | In progress | Xu,Marcel | debugging of threaded |
| support | | Moolenaar | applications. Ideally, |
| | | | this support will work |
| | | | for both libthr and |
| | | | libkse threading |
| | | | models. |
|-----------------+-------------+---------------+------------------------|
| | | | Currently, two |
| | | | schedulers are |
| | | | present: SCHED_ULE |
| | | | (default), an |
| | | | SMP-optimized |
| | | | scheduler created as |
| | | | part of SMPng, and |
| | | | SCHED_4BSD, an |
| | | | SMP-adapted version of |
| | | | the original 4BSD |
| | | | scheduler. They have |
| | | | quite different |
| | | | performance |
| | | | properties, with ULE |
| | | | providing strong |
| | | | interactivity |
| Scheduler | | | characteristics, and |
| cleanup and | In progress | -- | performing quite well |
| resolution | | | in a number of |
| | | | benchmarks, and 4BSD |
| | | | showing greater |
| | | | strength in IPC |
| | | | intensive user space |
| | | | benchmarks, such as |
| | | | databases. One of |
| | | | these schedulers must |
| | | | be the default for |
| | | | 5.3, and whichever one |
| | | | it is, it requires |
| | | | careful measurement, |
| | | | analysis, and |
| | | | optimization before |
| | | | the release in order |
| | | | to address its |
| | | | deficiencies. |
|-----------------+-------------+---------------+------------------------|
| | | | There have been |
| | | | several reports that |
| | | | growfs(8) works |
| | | | improperly with large |
| Reports of UFS2 | | | disk sizes, and other |
| "large disk" | In progress | Scott Long | size-related nits in |
| problems | | | the current disk and |
| | | | label management tool |
| | | | set. These must be |
| | | | resolved for |
| | | | 5.3-RELEASE. |
+------------------------------------------------------------------------+
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 |
| truss support | | | risks, it is highly |
| for ptrace | -- | -- | 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. |
| | | | Support for system |
| | | | call tracing has been |
| | | | added to ptrace(). |
|-----------------+-------------+----------------+-----------------------|
| | | | To complete support |
| | | | for thread-local |
| | | | storage on FreeBSD, |
| Per-platform | | Doug Rabson, | per-architecture |
| Thread-Local | In progress | Marcel | changes must be made. |
| Storage | | Moolenaar | Currently pending |
| | | | platforms are amd64, |
| | | | alpha, ia64, i386, |
| | | | sparc64, and powerpc. |
|-----------------+-------------+----------------+-----------------------|
| | | | 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 |
| FAST_IPSEC and | | | hardware crypto |
| KAME | Not done | -- | acceleration. This |
| compatibility | | | 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 |
| | | | for kernel objects |
| Revised kld | | | (such as MAC, PAE, |
| build | Not done | Peter Wemm | etc) that may require |
| infrastructure | | | 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 | | appears to exist |
| in truss | candidate | Robert Drehmel | where in truss will |
| | | | hang if execve() |
| | | | returns ENOENT. A |
| | | | further race appears |
| | | | to exist in which |
| | | | truss will return |
| | | | "PIOCWAIT: |
| | | | Input/output error" |
| | | | occasionally on |
| | | | startup. The fix for |
| | | | this sufficiently |
| | | | changes process |
| | | | execution handling |
| | | | that we will defer |
| | | | the fix to post-5.0 |
| | | | and consider this |
| | | | errata. |
|-----------------+-------------+----------------+-----------------------|
| | | | Many systems |
| | | | supporting POSIX.1e |
| | | | ACLs permit a minor |
| | | | violation to that |
| | | | specification, in |
| | | | which the ACL_MASK |
| ACL_MASK | | | entry overrides the |
| override of | Not done | Robert Watson | umask, rather than |
| umask support | | | 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. |
|-----------------+-------------+----------------+-----------------------|
| | | | 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. Improvements |
| MAC support for | Not done | Robert Watson | in NFS server |
| NFS 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; |
| busdma in all | | | no use of vtophys() |
| PCI drivers | In progress | -- | will be permitted for |
| | | | any recent device |
| | | | driver. ISA drivers |
| | | | may be exempt. |
|-----------------+-------------+----------------+-----------------------|
| KSE support for | | Marcel | Userland bits |
| alpha | In progress | Moolenaar | implemented, kernel |
| | | | bits not implemented. |
|-----------------+-------------+----------------+-----------------------|
| | | | For kernel API/ABI |
| | | | compatibility |
| | | | reasons, it would be |
| CAM locking | In progress | Scott Long, | desirable to have the |
| | | Justin Gibbs | CAM locking strategy |
| | | | determined and |
| | | | loosely implemented |
| | | | for 5.3. |
+------------------------------------------------------------------------+
Documentation items that must be resolved for 5.3
+------------------------------------------------------------------------+
| Issue | Status | Responsible | Description |
|-----------------+-------------+---------------+------------------------|
| | | | The installation |
| | | | documentation doesn't |
| i386 Floppy | | | take into account the |
| Installation | Not done | -- | new floppy images |
| Docs | | | (with a full kernel |
| | | | split across multiple |
| | | | disks). This should be |
| | | | updated. |
|-----------------+-------------+---------------+------------------------|
| | | | Finish removing |
| | | | mention of individual |
| Finish hardware | | | devices in the |
| notes trimming | In progress | Simon Nielsen | hardware notes and use |
| | | | auto-generated lists, |
| | | | based on driver manual |
| | | | pages, instead. |
+------------------------------------------------------------------------+
Testing focuses for 5.3-RELEASE
+------------------------------------------------------------------------+
| Issue | Status | Responsible | Description |
|-----------------+---------------+---------------+----------------------|
| | | | SCHED_ULE provides |
| | | | better |
| | | | interactivity, |
| SCHED_ULE as | | | higher performance, |
| the default | Needs testing | Jeff Roberson | and the ability to |
| scheduler | | | 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 |
| make | | | quickly as a |
| -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 |
| Updated | | | updating in order to |
| binutils for | Needs testing | David O'Brien | support new |
| all platforms | | | platforms, newer GDB |
| | | | versions, and Thread |
| | | | Local Storage. |
|-----------------+---------------+---------------+----------------------|
| | | | The previous GCC 3.3 |
| | | | snapshot included |
| | | | regressions in |
| | | | alignment of |
| gcc 3.3 | | | floating point |
| floating point | | | arguments, resulting |
| alignment | Needs testing | | in a substantial |
| regression | | | performance |
| | | | degradation. The |
| | | | recent GCC 3.4.2 |
| | | | import should fix |
| | | | this, but more |
| | | | testing is needed. |
+------------------------------------------------------------------------+
----------------------------------------------------------------------
home | contact | legal | (c) 1995-2004 The FreeBSD Project.
All rights reserved.
Last modified: 2004/08/04 02:33:13
More information about the freebsd-current
mailing list