Merge the following from the English version:

1.35 -> 1.99	www/ja/smp/index.sgml
This commit is contained in:
Ryusuke SUZUKI 2011-11-06 16:11:00 +00:00
parent 8de2913fb0
commit c23230e47b
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/www/; revision=37893

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [
<!ENTITY base CDATA "..">
<!ENTITY date "$FreeBSD: www/ja/smp/index.sgml,v 1.10 2011/08/10 13:03:42 ryusuke Exp $">
<!ENTITY date "$FreeBSD: www/ja/smp/index.sgml,v 1.11 2011/10/31 15:53:20 ryusuke Exp $">
<!ENTITY title "FreeBSD SMP プロジェクト">
<!ENTITY email 'freebsd-smp'>
<!ENTITY % navinclude.developers "INCLUDE">
@ -20,7 +20,7 @@
]>
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.35 -->
<!-- Original revision: 1.99 -->
<html>
&header;
@ -84,6 +84,15 @@
まだ、求められていないようであれば、何かしらの進展がないかどうか、
FreeBSD SMP メーリングリストへメールを送信する価値があります。</p>
<p>日付フィールドの持つ意味は、タスクのステータスに依存します。
完了したタスクについては、そのタスクが完了した日、
または完了が報告された日です。
現在進行中のタスクに関しては、エントリを最後にアップデートした日付を表します。
停止したタスクについては、タスクが停止したことを宣言した日、
新しいタスクについては、タスクが一覧に追加された日を意味します。</p>
<p>タスクはステータス、日付の順に並んでいます。</p>
<a name="resources"></a>
<h2>情報源とリンク</h2>
@ -95,9 +104,9 @@
<li><p>SMP に関連した議論は
<a href="mailto:freebsd-smp@FreeBSD.org">freebsd-smp</a>
メーリングリストにおいて行われています。
<a href="../handbook/index.html">FreeBSD ¥Ï¥ó¥É¥Ö¥Ã¥¯</a>
<a href="../../doc/ja_JP.eucJP/books/handbook/index.html">FreeBSD ハンドブック</a>
<a href="../handbook/eresources.html#ERESOURCES-MAIL">
<a href="../../doc/ja_JP.eucJP/books/handbook/eresources.html#ERESOURCES-MAIL">
インターネット上のリソース</a>
にメーリングリストに関する詳しい情報が載っています。</p></li>
@ -118,7 +127,7 @@
<p>この一般タスクリストは完全ではありません。</p>
<table class="tblbasic">
<table border=3>
<tr>
<th> タスク </th>
<th> 担当者 </th>
@ -258,14 +267,14 @@
<tr>
<td> Process accounting. </td>
<td> Tor Egge, &a.jhb; </td>
<td> &a.tegge;, &a.jhb; </td>
<td> 5 October 2000 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Make ethernet drivers thread-safe. </td>
<td> Bill Paul </td>
<td> &a.wpaul; </td>
<td> 15 October 2000 </td>
<td> &status.done; </td>
</tr>
@ -336,7 +345,7 @@
<tr>
<td> Make the zone allocator thread-safe. </td>
<td> Dag-Erling Smorgrav </td>
<td> &a.des; </td>
<td> 21 January 2001 </td>
<td> &status.done; </td>
</tr>
@ -562,7 +571,7 @@
<tr>
<td> Lock taskqueues. </td>
<td> Andrew Reiter, &a.jhb; </td>
<td> &a.arr;, &a.jhb; </td>
<td> 25 October 2001 </td>
<td> &status.done; </td>
</tr>
@ -602,7 +611,7 @@
<td> Use the per-thread critical section nesting level in the mutex
and interrupt thread code to automatically determine when to not
preempt. This makes the MTX_NOSWITCH, SWI_SWITCH, and
SWI_NOSWITCH flags obslete as the kernel will be able to figure
SWI_NOSWITCH flags obsolete as the kernel will be able to figure
out the proper behavior on its own. </td>
<td> &a.jhb; </td>
<td> 5 January 2002 </td>
@ -630,6 +639,271 @@
<td> &status.done; </td>
</tr>
<tr>
<td> Move to explicit reference counting for soft vnode references.
</td>
<td> &a.phk; </td>
<td> 8 March 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Initialize mutex pools early enough that sx locks can be used
for VM. </td>
<td> &a.green; </td>
<td> 14 March 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Place a global lock (sellock) around selinfo structures to fix a
variety of lock order reversals, and make select() MP-safe. </td>
<td> &a.alfred;, &a.davidc; </td>
<td> 14 March 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Push down Giant on read, write, pread, pwrite system calls,
acquiring Giant in the per-subsystem fileop layer for sockets, VFS,
etc.</td>
<td> &a.alfred; </td>
<td> 15 March 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Lock down kernel module structures. </td>
<td> &a.arr; </td>
<td> 18 March 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Lock down kernel linker globals.</td>
<td> &a.arr; </td>
<td> 18 March 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Rewrite kernel memory allocator to be a slab allocator that
uses per-cpu caches. </td>
<td> &a.jeff; </td>
<td> 21 March 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Replace incorrect use of MD critical section API to disable
interrupts with a specific interrupt disable API. </td>
<td> &a.imp;, &a.dfr;, &a.benno;, &a.jhb; </td>
<td> 21 March 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Lock down access to the shared p_args "process arguments"
structure through appropriate protection of that structure and
references to it. </td>
<td> &a.mini; </td>
<td> 31 March 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Move from flags/tsleep lock to sx locks to protect sysctl
tree from updates during sysctl operations. </td>
<td> &a.mini; </td>
<td> 1 April 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Create/port userland tool to manage KTR event dumps. </td>
<td> &a.jake; </td>
<td> 1 April 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Create MTX_SYSINIT and SX_SYSINIT macros that allow for
initializing locks that are subsystem independent. </td>
<td> &a.arr; </td>
<td> 2 April 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Lock down the global securelevel variable. </td>
<td> &a.arr; </td>
<td> 2 April 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Make grow_stack() MI. Possibly even a macro or inline. </td>
<td> &a.alc; </td>
<td> 6 April 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Lock use of p_fd, which otherwise can result in corrupted
p_fd panics during heavy operation. Start with a global,
and move to per-proc locking. </td>
<td> &a.alfred;, &a.tanimura; </td>
<td> 8 April 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Lock struct pargs. </td>
<td> &a.mini; </td>
<td> 9 April 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Make {o,}sigreturn() MPSAFE. </td>
<td> &a.alc; </td>
<td> 11 April 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Rewrite kernel memory allocator so that Giant is not required
for malloc() or free(). </td>
<td> &a.jeff; </td>
<td> 2 May 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Replace complex shared/exclusive locking scheme in the VM
system with a purely exclusive lockmgr locking scheme, simplifying
locking and removing potential livelock/deadlock scenarios. </td>
<td> &a.green;, &a.alc; </td>
<td> 3 May 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Push down Giant into readv/writev system calls in style of
read/write/pread/pwrite once malloc no longer requires Giant in
the handling of iovec structures for uio. </td>
<td> &a.alc; </td>
<td> 9 May 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Push down Giant in mprotect(), minherit(), and madvise() so
that it is no longer acquired and released directly. </td>
<td> &a.alc; </td>
<td> 18 May 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Update suser() and p_can*() APIs to accept threads instead of
processes. </td>
<td> &a.jhb; </td>
<td> 18 May 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Broadly transition to td_ucred from p_ucred once KSE dependencies
are in place. </td>
<td> &a.jhb; </td>
<td> 18 May 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Add a witness_sleep() check to uma_zalloc() to catch code
calling malloc() or uma_zalloc() while holding non-sleepable
locks. </td>
<td> &a.jhb; </td>
<td> 20 May 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Optimize UP support by changing spin locks to only perform
critical section enter and exits. </td>
<td> &a.jhb; </td>
<td> 21 May 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Make sleep mutexes spin if the current lock holder is
executing on another CPU. </td>
<td> &a.jhb; </td>
<td> 21 May 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Add support for the IA32 pause instruction to spin loops in
locks. </td>
<td> &a.jhb; </td>
<td> 21 May 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Make KTRACE write into tracefiles asynchronously. </td>
<td> &a.jhb; </td>
<td> 7 June 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Remove Giant from jail(2). </td>
<td> &a.arr; </td>
<td> 25 June 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Remove Giant from modnext(2), modfnext(2),
modstat(2),and modfind(2).</td>
<td> &a.arr; </td>
<td> 25 June 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Fix synchronization of TLB flushes and invlpg() on x86 SMP. </td>
<td> &a.peter; </td>
<td> 12 July 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Make cpu_coredump MI. </td>
<td> &a.peter; </td>
<td> 7 September 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Add a subsystem lock to the accounting code. </td>
<td> &a.arr; </td>
<td> 11 September 2002 </td>
<td> &status.done; </td>
</tr>
<tr>
<td> Lock down TrustedBSD MAC implementation. </td>
<td> &a.rwatson; </td>
<td> 11 November 2002 </td>
<td> &status.done; </td>
</tr>
<!-- WIP -->
<tr>
@ -639,13 +913,6 @@
<td> &status.wip; </td>
</tr>
<tr>
<td> Make KTRACE write into tracefiles asynchronously. </td>
<td> &a.jhb; </td>
<td> 6 September 2001 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Make the kernel fully preemptive. </td>
<td> &a.jhb; </td>
@ -653,17 +920,10 @@
<td> &status.wip; </td>
</tr>
<tr>
<td> Convert vm_map locks to sx locks. </td>
<td> &a.green; </td>
<td> 18 October 2001 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Lock down the tty subsystem. </td>
<td> Dick Garner, Jeremy Scofield </td>
<td> 16 November 2001 </td>
<td> Dick Garner, Jeremy Scofield, &a.tmm; </td>
<td> 2 April 2002 </td>
<td> &status.wip; </td>
</tr>
@ -674,45 +934,6 @@
<td> &status.wip; </td>
</tr>
<tr>
<td> Make sleep mutexes spin if the current lock holder is
executing on another CPU. </td>
<td> &a.jhb; </td>
<td> 16 November 2001 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Add support for the IA32 pause instruction to spin loops in
locks. </td>
<td> &a.jhb; </td>
<td> 16 November 2001 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Optimize UP support by changing spin locks to only perform
critical section enter and exits. </td>
<td> &a.jhb; </td>
<td> 20 December 2001 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Implement lazy interrupt thread switching (context
stealing) on i386. </td>
<td> &a.bmilekic; </td>
<td> 4 January 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Fix synchronization of TLB flushes and invlpg() on x86 SMP. </td>
<td> &a.peter; </td>
<td> 4 January 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Lock pipe implementation: sigio/fown-related evil </td>
<td> &a.alfred; </td>
@ -720,29 +941,6 @@
<td> &status.wip; </td>
</tr>
<tr>
<td> Broadly transition to td_ucred from p_ucred once KSE dependencies
are in place. </td>
<td> &a.jhb; </td>
<td> 27 February 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Update suser() and p_can*() APIs to accept threads instead of
processes. </td>
<td> &a.jhb; </td>
<td> 27 February 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Lock down kernel linker and module structures </td>
<td> &a.arr; </td>
<td> 27 February 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Make use of process locking and process reference counting
to protect debugging interfaces (and procfs). </td>
@ -759,13 +957,6 @@
<td> &status.wip; </td>
</tr>
<tr>
<td> Lock down TrustedBSD MAC implementation. </td>
<td> &a.rwatson; </td>
<td> 27 February 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Lock down newbus infrastructure to support driver
fine-graining. </td>
@ -785,11 +976,122 @@
<tr>
<td> SMPng architecture document. </td>
<td> &a.jhb; </td>
<td> &a.jhb;, &a.rwatson; </td>
<td> 28 February 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Move to shared lock for VOP_GETATTR() to reduce blocking during
frequent lightweight VFS operations. Modify namei() to provide
a LOOKUP_SHARED flag to indicate when the lock required may be
shared instead of exclusive. </td>
<td> &a.jeff; </td>
<td> 11 March 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Create mutex profiling tool for the kernel so as to measure
contention and behavior of kernel mutexes. </td>
<td> &a.eivind;, &a.des; </td>
<td> 31 March 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Lock eventhandlers. </td>
<td> &a.msmith;, &a.mini; </td>
<td> 8 April 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Lock sysctl hierarchy and access methods. </td>
<td> &a.mini; </td>
<td> 9 April 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Document existing vm_map locking and verify it's correctness. </td>
<td> &a.alc; </td>
<td> 18 May 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Document existing vm_object locking and verify it's
correctness. </td>
<td> &a.alc; </td>
<td> 4 May 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Implement generic turnstiles to use when blocking on non-sleepable
locks. </td>
<td> &a.jhb; </td>
<td> 23 May 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Lock down linker_file_t structures in the kernel linker.</td>
<td> &a.arr; </td>
<td> 19 June 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Lock down the SysV IPC code. </td>
<td> &a.alfred; </td>
<td> 13 August 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Review locking strategy and correctness of VFS operations
and fix up various failure modes associated with enabling
VFS locking assertions. </td>
<td> &a.jeff; </td>
<td> 10 December 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Document in-vnode locking strategy, clean it up, remove
interlock, switch to sx locks. </td>
<td> &a.jeff; </td>
<td> 10 December 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Implement lazy interrupt thread switching (context
stealing) on i386. </td>
<td> &a.bmilekic;, &a.kan; </td>
<td> 10 December 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Implement lazy interrupt thread switching (context
stealing) on sparc64. </td>
<td> &a.jake; </td>
<td> 10 December 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Switch from using lockmgr in VM to using a mutex or exclusive
sxlock. Push down Giant on all VM except for vm_object/VFS and
vm_page/pmap components. </td>
<td> &a.alc; </td>
<td> 10 December 2002 </td>
<td> &status.wip; </td>
</tr>
<!-- Stalled -->
<tr>
@ -808,14 +1110,6 @@
<td> &status.stalled; </td>
</tr>
<tr>
<td> Implement trap handler for cmpxchgl on 80386 to support
generic userland atomic operations. </td>
<td> &a.jake; </td>
<td> 15 May 2001 </td>
<td> &status.stalled; </td>
</tr>
<!-- Not Started -->
<tr>
@ -825,13 +1119,6 @@
<td> &status.new; </td>
</tr>
<tr>
<td> Use per-CPU buffers for ktr to reduce synchronization. </td>
<td> &nbsp; </td>
<td> 5 September 2000 </td>
<td> &status.new; </td>
</tr>
<tr>
<td> Remove priority argument from tsleep(), msleep(),
cv_*wait*(). </td>
@ -863,20 +1150,6 @@
<td> &status.new; </td>
</tr>
<tr>
<td> Make cpu_core MI. </td>
<td> &nbsp; </td>
<td> 13 June 2001 </td>
<td> &status.new; </td>
</tr>
<tr>
<td> Lock struct pargs. </td>
<td> &nbsp; </td>
<td> 20 June 2001 </td>
<td> &status.new; </td>
</tr>
<tr>
<td> Specify priorities for condition variables, semaphores, and
sx locks. </td>
@ -907,13 +1180,6 @@
<td> &status.new; </td>
</tr>
<tr>
<td> Make grow_stack() MI. Possibly even a macro or inline. </td>
<td> &nbsp; </td>
<td> 7 September 2001 </td>
<td> &status.new; </td>
</tr>
<tr>
<td> Fix *hold (e.g. crhold) to return reference to object. </td>
<td> &nbsp; </td>
@ -928,13 +1194,6 @@
<td> &status.new; </td>
</tr>
<tr>
<td> Convert eventhandlers to sx locks. </td>
<td> &nbsp; </td>
<td> 7 September 2001 </td>
<td> &status.new; </td>
</tr>
<tr>
<td> Add witness checking for lockmgr locks. </td>
<td> &nbsp; </td>
@ -943,19 +1202,12 @@
</tr>
<tr>
<td> Add ICU spin locks on ia64 and sparc64. </td>
<td> Add ICU spin locks on ia64. </td>
<td> &nbsp; </td>
<td> 4 January 2002 </td>
<td> &status.new; </td>
</tr>
<tr>
<td> Lock sysctl hierarchy and access methods. </td>
<td> &nbsp; </td>
<td> 25 February 2002 </td>
<td> &status.new; </td>
</tr>
<tr>
<td> Fast-path push-down of Giant for VOP_READ() and VOP_WRITE(). </td>
<td> &nbsp; </td>
@ -1015,34 +1267,62 @@
</tr>
<tr>
<td> Move to explicit reference counting for soft vnode references.
</td>
<td> &a.jeff; </td>
<td> 27 February 2002 </td>
<td> Expand mutex profiling tool to also profile sx locks. </td>
<td> &a.eivind;, &a.des; </td>
<td> 1 April 2002 </td>
<td> &status.new; </td>
</tr>
<tr>
<td> Document in-vnode locking strategy, clean it up, remove
interlock, switch to sx locks. </td>
<td> &a.jeff; </td>
<td> 27 February 2002 </td>
<td> Implement atomic_fetchadd() for int's and long's with acq and rel
versions. </td>
<td> &nbsp; </td>
<td> 23 May 2002 </td>
<td> &status.new; </td>
</tr>
<tr>
<td> Implement a simple reference count API using atomic operations and
use this to replace locks that just protect a reference count. </td>
<td> &nbsp; </td>
<td> 23 May 2002 </td>
<td> &status.new; </td>
</tr>
<tr>
<td> Implement a sleep queue abstraction to be used by both msleep()
and condition variables. This new abstraction should use a hash
table of sleep queues with a spin lock on each sleep queue chain
similar to turnstile chain locks to make sched_lock finger
grained.</td>
<td> &a.jhb; </td>
<td> 23 May 2002 </td>
<td> &status.new; </td>
</tr>
<tr>
<td> Add a witness_sleep() check to copyin/out() and s/fuword(). </td>
<td> &a.jhb; </td>
<td> 7 June 2002 </td>
<td> &status.new; </td>
</tr>
<tr>
<td> Move to shared lock for VOP_GETATTR() to reduce blocking during
frequent lightweight VFS operations. Review strategy for other
vnode operations. </td>
<td> &a.jeff; </td>
<td> 27 February 2002 </td>
<td> Split witness_lock() into witness_checkorder() and
witness_lock(). witness_checkorder() would be called before
acquiring a lock to increase the changes of detecting and warning
about a reversal prior to deadlocking. witness_lock() would
simply update witness' internal state to note that a lock has
been acquired. </td>
<td> &a.jhb; </td>
<td> 7 June 2002 </td>
<td> &status.new; </td>
</tr>
<!--
<tr>
<td> </td>
<td> </td>
<td> &nbsp; </td>
<td> D M 2002 </td>
<td> &status.new; </td>
</tr>
@ -1053,7 +1333,7 @@
<p>以下のテーブルは、ネットワークスタックのマルチスレッド化に関するサブタスクの
TODO リストです。</p>
<table class="tblbasic">
<table border=3>
<tr>
<th> タスク </th>
<th> 担当者 </th>
@ -1070,20 +1350,42 @@
<!-- WIP -->
<!-- Not Started -->
<tr>
<td> Lock down struct socket. </td>
<td> &a.tanimura; </td>
<td> 21 April 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Lock down struct inpcb. </td>
<td> &a.hsu; </td>
<td> 29 April 2002 </td>
<td> &status.wip; </td>
</tr>
<tr>
<td> Lock struct ifnet. </td>
<td> &nbsp; </td>
<td> 19 January 2001 </td>
<td> &a.hsu; </td>
<td> 29 January 2003 </td>
<td> &status.wip; </td>
</tr>
<!-- Not Started -->
<tr>
<td> Reduce contention upon locking a socket buffer by replacing
tsleep() and wakeup() with a condvar. </td>
<td> &a.tanimura; </td>
<td> 21 April 2002 </td>
<td> &status.new; </td>
</tr>
</tr>
</table>
<a name="issues"></a>
<h2>既知の問題点</h2>
<table class="tblbasic">
<table border=3>
<tr>
<th> 問題点 </th>
<th> 最終更新 </th>
@ -1144,27 +1446,41 @@
<td> &status.resolved; </td>
</tr>
<!-- unresolved -->
<tr>
<td> Serial gdb does not work if boot_ddb and boot_gdb options
are specified. </td>
<td> 5 September 2000 </td>
<td> &status.unresolved; </td>
<td> 14 July 2002 </td>
<td> &status.resolved; </td>
</tr>
<tr>
<td> Serial gdb does not work at 115200 baud. </td>
<td> 5 September 2000 </td>
<td> &status.unresolved; </td>
<td> 14 July 2002 </td>
<td> &status.resolved; </td>
</tr>
<tr>
<td> Serial gdb never regains control once 'cont' has been
entered. </td>
<td> 14 July 2002 </td>
<td> &status.resolved; </td>
</tr>
<!-- unresolved -->
<tr>
<td> Profiling is broken. </td>
<td> 20 February 2001 </td>
<td> &status.unresolved; </td>
</tr>
<tr>
<td> jail_sysvipc_allowed is checked in an unsafe manner in
the SYSV IPC syscalls. </td>
<td> 5 March 2002 </td>
<td> &status.unresolved; </td>
</tr>
<!--
<tr>
<td> </td>
@ -1270,7 +1586,7 @@
<li>
<p>An updated <a
href="http://people.freebsd.org/~jasone/smp/smpng_patch_9.7">patch</a>
is available for download. This patch is proably what will
is available for download. This patch is probably what will
actually get committed.</p>
</li>
</ul>
@ -1357,8 +1673,8 @@
<li>
<p>&a.cp; has provided the PostScript versions of his
presentation slides for the
<a href="smp_meeting_slides_1.ps">first day</a> and
<a href="smp_meeting_slides_2.ps">second day</a> of the
<a href="http://people.FreeBSD.org/~jasone/smp/smp_meeting_slides_1.ps">first day</a> and
<a href="http://people.FreeBSD.org/~jasone/smp/smp_meeting_slides_2.ps">second day</a> of the
SMP meeting.</p>
</li>
</ul>
@ -1367,7 +1683,7 @@
<ul>
<li>
<p>Here's a copy of the
<a href="smp_meeting_summary.txt">SMP meeting summary</a>
<a href="http://docs.freebsd.org/cgi/getmsg.cgi?fetch=226208+0+archive/2000/freebsd-smp/20000625.freebsd-smp">SMP meeting summary</a>
that was posted to the -smp mailing list.</p>
</li>
</ul>
@ -1376,7 +1692,7 @@
<ul>
<li>
<p>Here's a copy of the
<a href="smp_project_announcement.txt">SMP project announcement</a>
<a href="http://docs.freebsd.org/cgi/getmsg.cgi?fetch=154884+0+archive/2000/freebsd-current/20000625.freebsd-current">SMP project announcement</a>
that was posted to the -current mailing list.</p>
</li>
</ul>