Several updates:

- The cleanup of the MI abuse of cpu_critical_*() is done.
- Note the VM change salc has been comitting.
- Note that jeffr finished making malloc() and free() not require Giant.
- I've just about finished all the td_ucred and p_ucred stuff now.
- Mark all the mutex changes I committed today as done.
- Add two new WIP entries for the work alc is still doing in the VM.
This commit is contained in:
John Baldwin 2002-05-21 22:59:09 +00:00
parent 80885f0df1
commit 67278427e8
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/www/; revision=13184

View file

@ -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.77 2002/04/29 12:32:22 jhb Exp $">
<!ENTITY date "$FreeBSD: www/en/smp/index.sgml,v 1.78 2002/05/05 06:30:39 alc Exp $">
<!ENTITY title "FreeBSD SMP Project">
<!ENTITY email 'freebsd-smp'>
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
@ -677,6 +677,14 @@
<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
@ -739,6 +747,21 @@
<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
@ -748,6 +771,54 @@
<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> 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>
<!-- WIP -->
<tr>
@ -785,30 +856,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>
@ -831,22 +878,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> 1 April 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>
@ -911,22 +942,6 @@
<td> &status.wip; </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.wip; </td>
</tr>
<tr>
<td> Rewrite kernel memory allocator so that Giant is not required
for malloc() or free(). </td>
<td> &a.jeff; </td>
<td> 21 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>
@ -963,6 +978,21 @@
<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>
<!-- Stalled -->
<tr>