More updates:
- alc did the push down of Giant into readv/writev. - Move networking stack related items out of the main list and into the networking list. - Add some new entries: - wip for turnstiles - new for sleep queue abstraction - new for atomic_fetchadd() - new for a reference count API
This commit is contained in:
parent
a03f083f95
commit
49e28c41c9
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/www/; revision=13218
1 changed files with 64 additions and 29 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.78 2002/05/05 06:30:39 alc Exp $">
|
||||
<!ENTITY date "$FreeBSD: www/en/smp/index.sgml,v 1.79 2002/05/21 22:59:09 jhb Exp $">
|
||||
<!ENTITY title "FreeBSD SMP Project">
|
||||
<!ENTITY email 'freebsd-smp'>
|
||||
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
|
||||
|
@ -771,6 +771,15 @@
|
|||
<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>
|
||||
|
@ -964,20 +973,6 @@
|
|||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<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> Document existing vm_map locking and verify it's correctness. </td>
|
||||
<td> &a.alc; </td>
|
||||
|
@ -993,6 +988,14 @@
|
|||
<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>
|
||||
|
||||
<!-- Stalled -->
|
||||
|
||||
<tr>
|
||||
|
@ -1191,15 +1194,6 @@
|
|||
<td> &status.new; </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> </td>
|
||||
<td> 15 March 2002 </td>
|
||||
<td> &status.new; </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
|
||||
|
@ -1217,11 +1211,30 @@
|
|||
</tr>
|
||||
|
||||
<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>
|
||||
<td> Implement atomic_fetchadd() for int's and long's with acq and rel
|
||||
versions. </td>
|
||||
<td> </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> </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>
|
||||
|
||||
<!--
|
||||
|
@ -1255,6 +1268,20 @@
|
|||
|
||||
<!-- WIP -->
|
||||
|
||||
<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>
|
||||
|
||||
<!-- Not Started -->
|
||||
|
||||
<tr>
|
||||
|
@ -1263,6 +1290,14 @@
|
|||
<td> 19 January 2001 </td>
|
||||
<td> &status.new; </td>
|
||||
</tr>
|
||||
|
||||
<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>
|
||||
</table>
|
||||
|
||||
<a name="issues"></a>
|
||||
|
|
Loading…
Reference in a new issue