Update network locking status.
This commit is contained in:
parent
df44596940
commit
2e4792c9c8
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/www/; revision=21657
1 changed files with 183 additions and 51 deletions
|
@ -1,6 +1,6 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [
|
||||
<!ENTITY base CDATA "..">
|
||||
<!ENTITY date "$FreeBSD: www/en/smp/index.sgml,v 1.129 2004/07/24 15:36:57 rwatson Exp $">
|
||||
<!ENTITY date "$FreeBSD: www/en/smp/index.sgml,v 1.130 2004/07/24 15:49:54 rwatson Exp $">
|
||||
<!ENTITY title "FreeBSD SMP Project">
|
||||
<!ENTITY email 'freebsd-smp'>
|
||||
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
|
||||
|
@ -1173,6 +1173,14 @@
|
|||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Add subsystem locking to NFSv2, NFSv3 server, permitting upcalls
|
||||
and other network-related elements to run Giant-free. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<!-- WIP -->
|
||||
|
||||
<tr>
|
||||
|
@ -1191,8 +1199,8 @@
|
|||
|
||||
<tr>
|
||||
<td> Lock down the tty subsystem. </td>
|
||||
<td> Dick Garner, Jeremy Scofield, &a.tmm; </td>
|
||||
<td> 2 April 2002 </td>
|
||||
<td> Dick Garner, Jeremy Scofield, &a.tmm;, &a.phk; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
|
@ -1238,8 +1246,8 @@
|
|||
<td> Remove the MP safe syscall flag from the syscall table
|
||||
and add explicit mtx_lock/unlock's of Giant to all
|
||||
syscalls. </td>
|
||||
<td> &a.dillon;, &a.mux; </td>
|
||||
<td> 28 February 2002 </td>
|
||||
<td> &a.dillon;, &a.mux;, &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
|
@ -1348,13 +1356,6 @@
|
|||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Add locking to NFS. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<!-- Stalled -->
|
||||
|
||||
<tr>
|
||||
|
@ -1604,8 +1605,8 @@
|
|||
|
||||
<tr>
|
||||
<td> Lock up raw IP. </td>
|
||||
<td> &a.sam; </td>
|
||||
<td> 4 October 2003 </td>
|
||||
<td> &a.sam;, &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
|
@ -1752,6 +1753,167 @@
|
|||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Permit IP forwarding path to run Giant-free. </td>
|
||||
<td> &a.sam; </td>
|
||||
<td> 1 December 2003 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock &unix; domain protocols, fifofs. </td>
|
||||
<td> &a.sam, &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Giant lock over NFS server to protect against so_upcall() w/o Giant </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock interface cloning meta-data. </td>
|
||||
<td> &a.brooks; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Apply combination of socket and socket buffer locks, label caching
|
||||
to MAC labels on sockets so that they can be used safely without
|
||||
Giant. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Make routing socket message dispatch use a netisr to avoid
|
||||
re-entering the socket code from the routing code, resolving lock
|
||||
order issues. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Introduce accept locking to protect accept incomplete and
|
||||
complete queues on listen sockets. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Break out socket buffer wakeup, socket buffer append, socket
|
||||
state change, socket buffer reserve, flush, etc, calls into
|
||||
_locked() and unlocked versions, and avoid conditional locking.
|
||||
</td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock down AARP, AppleTalk Address Resoluton Protocol. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Fix pull/push cache data synchronization issues in sosend(),
|
||||
soreceive(), allowing them to run Giant-free. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Protect socket global counters/limits and generation number
|
||||
with a mutex. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock down unit allocation meta-data in interface related
|
||||
netgraph modules. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock down socket buffer OOB fields across TCP/IP, IPX. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Add MSG_NBIO so that fifofs can avoid frobbing SO_NBIO in
|
||||
a manner that risks races. </td>
|
||||
<td> &a.truckman; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Protect all use of so_count with socket lock. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Move socket buffer related state from so_state to sb_state so
|
||||
it can be properly locked by the socket buffer mutex. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Introduce a temporary global lock to lock the if_label field
|
||||
used by the MAC Framework. </tD>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Push VFS-specific behavior out of fdrop_locked() and acquire
|
||||
Giant in the fo_close per-object methods rather than
|
||||
fdrop_locked(), so that pipes and sockets can run fo_close()
|
||||
Giant-free. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Push Giant acquisition into fo_stat() file descriptor stat
|
||||
operation, rather than acquiring it in fstat(), so that fstat()
|
||||
on sockets and pipes can run Giant-free. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Don't hold socket locks over entry to protocol switch methods,
|
||||
allowing protocol methods to acquire socket locks after protocol
|
||||
locks in the lock order. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<!-- WIP -->
|
||||
|
||||
<tr>
|
||||
|
@ -1768,27 +1930,6 @@
|
|||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Permit IP forwarding path to run Giant-free. </td>
|
||||
<td> &a.sam; </td>
|
||||
<td> 10 October 2003 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock interface cloning meta-data. </td>
|
||||
<td> &a.brooks; </td>
|
||||
<td> 9 March 2004 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock &unix; domain protocols, fifofs. </td>
|
||||
<td> &a.hsu;, &a.sam, &a.rwatson; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock socket layer. </td>
|
||||
<td> &a.tanimura;, &a.sam, &a.rwatson; </td>
|
||||
|
@ -1796,13 +1937,6 @@
|
|||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Giant lock over NFS server to protect against so_upcall() w/o Giant </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> if_ppp global, per-softc locking </td>
|
||||
<td> &a.rwatson;, Maurycy Pawlowski-Wieronski <maurycy@fouk.org> </td>
|
||||
|
@ -1810,15 +1944,6 @@
|
|||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Apply combination of socket and socket buffer locks, label caching
|
||||
to MAC labels on sockets so that they can be used safely without
|
||||
Giant. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.wip </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock struct ifnet. </td>
|
||||
<td> &a.mlaier;, &a.luigi; Maurycy Pawlowski-Wieronski <maurycy@fouk.org> </td>
|
||||
|
@ -1869,6 +1994,13 @@
|
|||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Port inpcb mutex assertions from IPv4 to IPv6 </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 24 July 2004 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<!-- Not Started -->
|
||||
|
||||
<tr>
|
||||
|
|
Loading…
Reference in a new issue