- witness_checkorder() task is done.
- resource limits locking is done. - sleep queues are a WIP now.
This commit is contained in:
parent
34ff945f6a
commit
74cbe833f7
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/www/; revision=19973
1 changed files with 31 additions and 24 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.115 2003/11/10 19:46:16 rwatson Exp $">
|
||||
<!ENTITY date "$FreeBSD: www/en/smp/index.sgml,v 1.116 2003/11/11 22:31:13 jhb Exp $">
|
||||
<!ENTITY title "FreeBSD SMP Project">
|
||||
<!ENTITY email 'freebsd-smp'>
|
||||
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
|
||||
|
@ -1113,6 +1113,25 @@
|
|||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<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> 24 January 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Lock per-process resource limits. </td>
|
||||
<td> &a.mtm;, &a.jhb; </td>
|
||||
<td> 4 February 2004 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<!-- WIP -->
|
||||
|
||||
<tr>
|
||||
|
@ -1288,6 +1307,17 @@
|
|||
<td> &status.wip; </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> 4 February 2004 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<!-- Stalled -->
|
||||
|
||||
<tr>
|
||||
|
@ -1457,17 +1487,6 @@
|
|||
<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>
|
||||
|
@ -1475,18 +1494,6 @@
|
|||
<td> &status.new; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<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>
|
||||
|
|
Loading…
Reference in a new issue