Update network stack locking TODO:
Slide jail(2) lockdown forward again, I had to clean Giant out of crfree() after a vnode was added to struct prison. if_tap locking is done. if_tun locking is done. I'm working on UNIX domain socket locking now. Also, fifofs. AARP is done. I'm working on IPv6 also. ip_encap.c is locked down. if_loop.c is locked down. We now use m_tags to track possible looping in if_gif, not a global. I'm also working on the socket layer. I locked down NFS server with a Giant lock, but rick is working on data based locking. Maurycy and I are locking down if_ppp. mlaier, luigi, and brooks are working on ifnet locking. mlaier and maurycy are working on address lists. I'm working on bsd_comp consumers. if_stf is a work in progress. if_sl is a work in progress. rik is working on if_sppp. I'm working on netatalk DDP PCB locking. I'm working on IGMP locking. Need to review TCP timers, not lock them. IP ID code needs locking.
This commit is contained in:
parent
cf25eb9c49
commit
1f700f687e
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/www/; revision=20774
1 changed files with 159 additions and 56 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.123 2004/04/05 14:46:17 phantom Exp $">
|
||||
<!ENTITY date "$FreeBSD: www/en/smp/index.sgml,v 1.124 2004/04/23 22:39:37 rwatson Exp $">
|
||||
<!ENTITY title "FreeBSD SMP Project">
|
||||
<!ENTITY email 'freebsd-smp'>
|
||||
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
|
||||
|
|
@ -1009,13 +1009,6 @@
|
|||
<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>
|
||||
|
|
@ -1173,6 +1166,13 @@
|
|||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Remove Giant from jail(2). </td>
|
||||
<td> &a.arr; &a.rwatson; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<!-- WIP -->
|
||||
|
||||
<tr>
|
||||
|
|
@ -1693,6 +1693,58 @@
|
|||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> if_tap global and softc locking. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> if_tun global and softc locking. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> netatalk/aarp.c locking. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Cache socket MAC label in inpcb label for IPv4 sockets so that
|
||||
the label can be used safely at the inet layer without socket
|
||||
locks. </tD>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> IP encapsulation subroutines (ip_encap.c). </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock globals in loopback interface (if_loop.c). </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Use m_tags in if_gif to limit looping configurations, rather
|
||||
than a non-MPSAFE static coutner. </td>
|
||||
<td> &a.ru; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<!-- WIP -->
|
||||
|
||||
<tr>
|
||||
|
|
@ -1702,24 +1754,10 @@
|
|||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock &unix; domain protocols. </td>
|
||||
<td> &a.hsu;, &a.sam </td>
|
||||
<td> 4 October 2003 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock IPv6. </td>
|
||||
<td> &a.sam;, &a.rwatson;, &a.ume; </td>
|
||||
<td> 11 October 2003 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock socket layer. </td>
|
||||
<td> &a.tanimura;, &a.sam </td>
|
||||
<td> 10 October 2003 </td>
|
||||
<td> &a.sam;, &a.rwatson;, &a.ume;, &a.mlaier; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
|
|
@ -1738,28 +1776,101 @@
|
|||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock in_gif "generic tunnel interface" per-softc variables. </td>
|
||||
<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>
|
||||
<td> 23 April 2004 </td>
|
||||
<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> 9 March 2004 </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>
|
||||
<td> 23 April 2004 </td>
|
||||
<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>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock IPv4 and IPv6 interface address lists. </td>
|
||||
<td> &a.mlaier; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock consumers of BSD compress (bsd_comp.c) code to protect
|
||||
compression state. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock global and softc state for six-to-four converter (if_stf.c). </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock down global and softc state for SLIP (if_sl.c). </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock global and softc state for SPPP (if_sppsubr.c). </td>
|
||||
<td> &a.rik;, &a.rwatson; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> netatalk DDP PCB locking. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> IGMP locking. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<!-- Not Started -->
|
||||
|
||||
<tr>
|
||||
<td> Lock struct ifnet. </td>
|
||||
<td> </td>
|
||||
<td> 19 January 2001 </td>
|
||||
<td> &status.new; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock IPv4 and IPv6 interface address lists. </td>
|
||||
<td> </td>
|
||||
<td> 9 March 2004 </td>
|
||||
<td> &status.new; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Reduce contention upon locking a socket buffer by replacing
|
||||
tsleep() and wakeup() with a condvar. </td>
|
||||
|
|
@ -1768,21 +1879,6 @@
|
|||
<td> &status.new; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock consumers of BSD compress (bsd_comp.c) code to protect
|
||||
compression state. </td>
|
||||
<td> </td>
|
||||
<td> 9 March 2004 </td>
|
||||
<td> &status.new; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> IP encapsulation subroutines (ip_encap.c). </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 9 March 2004 </td>
|
||||
<td> &status.new; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock if_ef "ethernet frame" driver. </td>
|
||||
<td> </td>
|
||||
|
|
@ -1791,12 +1887,19 @@
|
|||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock TCP timed code. </td>
|
||||
<td> Review TCP timer code. </td>
|
||||
<td> </td>
|
||||
<td> 9 March 2004 </td>
|
||||
<td> &status.new; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> IP ID locking. </td>
|
||||
<td> &a.rwatson; </td>
|
||||
<td> 23 April 2004 </td>
|
||||
<td> &status.new; </td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<a name="issues"></a>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue