diff --git a/en/developers.sgml b/en/developers.sgml new file mode 100644 index 0000000000..db430bf44c --- /dev/null +++ b/en/developers.sgml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/en/smp/index.sgml b/en/smp/index.sgml index f9109e3365..5a6fd525d4 100644 --- a/en/smp/index.sgml +++ b/en/smp/index.sgml @@ -1,6 +1,6 @@ - + %includes; @@ -13,27 +13,11 @@ Resolved"> Unresolved"> - - - - - - - - - - - - - - - - - - - - - + + + %developers; + ]> @@ -114,7 +98,7 @@ project page that contains additional information, and goes back further in time than this web page.

-
  • &dillon; is maintaining a +

  • &a.dillon; is maintaining a web page that documents the work he is doing on the SMP project.

  • @@ -135,28 +119,28 @@ Convert the giant lock from spinning to blocking, add the scheduler lock, add per-CPU idle processes. - &dillon; + &a.dillon; 25 June 2000 &status.done; Port the BSD/OS locking primitives (i386). - &jake; + &a.jake; 3 July 2000 &status.done; Implement heavy-weight interrupt threads (i386). - &grog; + &a.grog; 3 August 2000 &status.done; Rewrite the low level interrupt code (i386 UP). - &grog; + &a.grog; 3 August 2000 &status.done; @@ -171,28 +155,28 @@ Port the BSD/OS locking primitives (alpha). - 𝔡 + &a.dfr; 24 August 2000 &status.done; Stub out (disable) spl()s. - &grog; + &a.grog; 30 August 2000 &status.done; Port the BSD/OS ktr code. - &grog;, &jhb; + &a.grog;, &a.jhb; 30 August 2000 &status.done; Rewrite the low level interrupt code (i386 SMP). - &jhb; + &a.jhb; 1 September 2000 &status.done; @@ -215,56 +199,56 @@ Make malloc and friends thread-safe. - &jasone; + &a.jasone; 10 September 2000 &status.done; Implement msleep(), make tsleep() an msleep() wrapper. - &jake; + &a.jake; 11 September 2000 &status.done; Make fxp driver thread-safe. - &cp; + &a.cp; 17 September 2000 &status.done; Make mbuf's thread-safe. - &bmilekic; + &a.bmilekic; 29 September 2000 &status.done; Lock manager re-work. - &jasone; + &a.jasone; 3 October 2000 &status.done; Implement heavy-weight interrupt threads (alpha). - &jhb;, 𝔡 + &a.jhb;, &a.dfr; 5 October 2000 &status.done; Rewrite the low level interrupt code (alpha). - 𝔡, &jhb; + &a.dfr;, &a.jhb; 5 October 2000 &status.done; Process accounting. - Tor Egge, &jhb; + Tor Egge, &a.jhb; 5 October 2000 &status.done; @@ -278,56 +262,56 @@ Make the mutex headers mostly machine-independent. - &jhb; + &a.jhb; 20 October 2000 &status.done; Rename SMP_DEBUG to MUTEX_DEBUG. - &jhb; + &a.jhb; 20 October 2000 &status.done; Give each soft interrupt its own thread. - &cp; + &a.cp; 25 October 2000 &status.done; Make sf_bufs (sendfile(2)) thread-safe. - &bmilekic; + &a.bmilekic; 5 November 2000 &status.done; Make the witness code work correctly. - &jhb; + &a.jhb; 18 November 2000 &status.done; Split the ktr-specific code out of db_interface.c. - &jhb; + &a.jhb; 15 December 2000 &status.done; Convert the sio driver to using a spin mutex. - &jhb; + &a.jhb; 18 December 2000 &status.done; Implement condition variables. - &jake;, &jasone; + &a.jake;, &a.jasone; 15 January 2001 &status.done; @@ -335,7 +319,7 @@ Add a flag to mtx_init() (MTX_RECURSE) that denotes whether a mutex is allowed to recurse. - &bmilekic; + &a.bmilekic; 19 January 2001 &status.done; @@ -349,28 +333,28 @@ Convert simplelocks to mutexes. - &jasone; + &a.jasone; 24 January 2001 &status.done; Make kernel preemptive with respect to interrupts. - &jake; + &a.jake; 31 January 2001 &status.done; Cleanup of mutex API. - &bmilekic; + &a.bmilekic; 8 February 2001 &status.done; Remove COM_LOCK. - &markm; + &a.markm; 11 February 2001 &status.done; @@ -378,14 +362,14 @@ Merge various scheduling classes into one run queue. Modify scheduler to support preemptable kernel. - &jake; + &a.jake; 11 February 2001 &status.done; Make priority propagation work correctly. - &jake; + &a.jake; 11 February 2001 &status.done; @@ -393,21 +377,21 @@ Make most of the interrupt thread code MI and shared between hardware and software interrupts. - &jhb; + &a.jhb; 18 February 2001 &status.done; Add protection to struct jail and jail-related functionality. - &rwatson; + &a.rwatson; 20 February 2001 &status.done; Implement sx (shared/exclusive) locks. - &jasone; + &a.jasone; 5 March 2001 &status.done; @@ -415,7 +399,7 @@ Generalize/improve witness to handle more complex locking primitives (mtx, sx). - &jhb; + &a.jhb; 28 March 2001 &status.done; @@ -423,7 +407,7 @@ Convert the allproc and proctree locks from lockmgr locks to sx locks. - &jhb; + &a.jhb; 28 March 2001 &status.done; @@ -431,7 +415,7 @@ Make mbuf system use condition variables instead of msleep()/wakeup(). - &bmilekic; + &a.bmilekic; 2 April 2001 &status.done; @@ -440,7 +424,7 @@ Remove <sys/mutex.h> includes from other kernel headers such as <vm/vm_zone.h>, <sys/resourcevar.h>, <sys/ucred.h>, and <sys/mbuf.h>. - &markm; + &a.markm; 15 May 2001 &status.done; @@ -448,70 +432,70 @@ Cleanup the various mp_machdep.c's, unify various SMP API's such as IPI delivery, etc. - &jhb; + &a.jhb; 15 May 2001 &status.done; Make most of the forward_* and forwarded_* functions MI. - &jhb; + &a.jhb; 15 May 2001 &status.done; Complete the MD support for SMP on the Alpha platform. - &gallatin;, 𝔡, &jhb; + &a.gallatin;, &a.dfr;, &a.jhb; 15 May 2001 &status.done; Convert select() to use condition variables. - &tanimura; + &a.tanimura; 15 May 2001 &status.done; Add a "giant" lock around the VM subsystem. - &alfred; + &a.alfred; 13 June 2001 &status.done; Introduce a modified slab allocator for the mbuf subsystem. - &bmilekic; + &a.bmilekic; 21 June 2001 &status.done; Add a witness_assert() function to handle lock assertions. - &jhb; + &a.jhb; 27 June 2001 &status.done; Extend sx locks to support try lock operations. - &jhb; + &a.jhb; 27 June 2001 &status.done; Document KTR. - &jhb; + &a.jhb; 28 June 2001 &status.done; Make fork_return, fork_exit, ast, and userret MI. - &jhb; + &a.jhb; 29 June 2001 &status.done; @@ -519,70 +503,70 @@ Make sched_lock's savecrit a per-process property saved and restored in mi_switch and initialized in fork_exit. - &jhb; + &a.jhb; 30 June 2001 &status.done; Make ast() loop. - &jhb; + &a.jhb; 10 August 2001 &status.done; Add upgrade/downgrade sx lock operations. - Alexander Kabaev, &jasone; + Alexander Kabaev, &a.jasone; 13 August 2001 &status.done; Implement semaphores. - &jasone; + &a.jasone; 14 August 2001 &status.done; Add support for upgrade/downgrades in witness. - &jhb; + &a.jhb; 23 August 2001 &status.done; Make most of cpu_wait() and cpu_exit() MI. - &peter; + &a.peter; 9 September 2001 &status.done; Split NFS into client and server. - &peter; + &a.peter; 18 Oct 2001 &status.done; Lock taskqueues. - Andrew Reiter, &jhb; + Andrew Reiter, &a.jhb; 25 October 2001 &status.done; Add a per-thread ucred reference. - &jhb; + &a.jhb; 25 October 2001 &status.done; Make most of the per-CPU stuff MI. - &jhb; + &a.jhb; 11 December 2001 &status.done; @@ -590,7 +574,7 @@ Make critical section saved state per-thread instead of per-lock so that interlocking spin locks work properly. - &jhb; + &a.jhb; 17 December 2001 &status.done; @@ -599,7 +583,7 @@ Replace the APIC-specific imen_mtx with a MI-named icu_lock to protect interrupt controllers and associated data within the kernel for both i386 and alpha. - &jhb; + &a.jhb; 20 December 2001 &status.done; @@ -610,28 +594,28 @@ preempt. This makes the MTX_NOSWITCH, SWI_SWITCH, and SWI_NOSWITCH flags obslete as the kernel will be able to figure out the proper behavior on its own. - &jhb; + &a.jhb; 5 January 2002 &status.done; Lock struct filedesc and struct file. - &tanimura;, &alfred; + &a.tanimura;, &a.alfred; 12 January 2002 &status.done; Lock struct pgrp, struct session, and struct sigio. - &tanimura; + &a.tanimura; 23 February 2002 &status.done; Lock pipe implementation, but not sigio/fown, VM interactions - &alfred; + &a.alfred; 27 February 2002 &status.done; @@ -640,28 +624,28 @@ Lock struct proc. - &jhb; + &a.jhb; 20 February 2001 &status.wip; Make KTRACE write into tracefiles asynchronously. - &jhb; + &a.jhb; 6 September 2001 &status.wip; Make the kernel fully preemptive. - &jhb; + &a.jhb; 7 September 2001 &status.wip; Convert vm_map locks to sx locks. - &green; + &a.green; 18 October 2001 &status.wip; @@ -675,7 +659,7 @@ Fix clock locking to be the same on all platforms. - &jhb; + &a.jhb; 16 November 2001 &status.wip; @@ -683,7 +667,7 @@ Make sleep mutexes spin if the current lock holder is executing on another CPU. - &jhb; + &a.jhb; 16 November 2001 &status.wip; @@ -691,7 +675,7 @@ Add support for the IA32 pause instruction to spin loops in locks. - &jhb; + &a.jhb; 16 November 2001 &status.wip; @@ -699,7 +683,7 @@ Optimize UP support by changing spin locks to only perform critical section enter and exits. - &jhb; + &a.jhb; 20 December 2001 &status.wip; @@ -707,21 +691,21 @@ Implement lazy interrupt thread switching (context stealing) on i386. - &bmilekic; + &a.bmilekic; 4 January 2002 &status.wip; Fix synchronization of TLB flushes and invlpg() on x86 SMP. - &peter; + &a.peter; 4 January 2002 &status.wip; Lock pipe implementation: sigio/fown-related evil - &alfred; + &a.alfred; 27 February 2002 &status.wip; @@ -729,7 +713,7 @@ Broadly transition to td_ucred from p_ucred once KSE dependencies are in place. - &jhb; + &a.jhb; 27 February 2002 &status.wip; @@ -737,14 +721,14 @@ Update suser() and p_can*() APIs to accept threads instead of processes. - &jhb; + &a.jhb; 27 February 2002 &status.wip; Lock down kernel linker and module structures - &arr; + &a.arr; 27 February 2002 &status.wip; @@ -752,7 +736,7 @@ Make use of process locking and process reference counting to protect debugging interfaces (and procfs). - &jhb; + &a.jhb; 27 February 2002 &status.wip; @@ -760,14 +744,14 @@ Make use of process locking to protect process monitoring sysctls, including those employed by 'ps' and related tools. - &jhb; + &a.jhb; 27 February 2002 &status.wip; Lock down TrustedBSD MAC implementation. - &rwatson; + &a.rwatson; 27 February 2002 &status.wip; @@ -775,7 +759,7 @@ Lock down newbus infrastructure to support driver fine-graining. - &imp; + &a.imp; 28 February 2002 &status.wip; @@ -784,14 +768,14 @@ Remove the MP safe syscall flag from the syscall table and add explicit mtx_lock/unlock's of Giant to all syscalls. - &dillon;, &mux; + &a.dillon;, &a.mux; 28 February 2002 &status.wip; SMPng architecture document. - &jhb; + &a.jhb; 28 February 2002 &status.wip; @@ -801,7 +785,7 @@ Create mechanism in cdevsw structure to protect thread-unsafe drivers. - &jhb; + &a.jhb; 15 May 2001 &status.stalled; @@ -809,7 +793,7 @@ Make printf() safe to call in almost any situation to avoid deadlocks. - &cp; + &a.cp; 15 May 2001 &status.stalled; @@ -817,7 +801,7 @@ Implement trap handler for cmpxchgl on 80386 to support generic userland atomic operations. - &jake; + &a.jake; 15 May 2001 &status.stalled; @@ -848,7 +832,7 @@ Reimplement kqueue using condition variables. - &jlemon; + &a.jlemon; 15 March 2001 &status.new; @@ -856,7 +840,7 @@ Conditionalize atomic ops in the SMP code that are used for debugging statistics. - &peter; + &a.peter; 15 March 2001 &status.new; @@ -864,7 +848,7 @@ Add a new witness check for exiting processes to verify that an exiting process holds no locks. - &jhb; + &a.jhb; 13 June 2001 &status.new; @@ -1023,7 +1007,7 @@ Move to explicit reference counting for soft vnode references. - &jeff; + &a.jeff; 27 February 2002 &status.new; @@ -1031,7 +1015,7 @@ Document in-vnode locking strategy, clean it up, remove interlock, switch to sx locks. - &jeff; + &a.jeff; 27 February 2002 &status.new; @@ -1040,7 +1024,7 @@ Move to shared lock for VOP_GETATTR() to reduce blocking during frequent lightweight VFS operations. Review strategy for other vnode operations. - &jeff; + &a.jeff; 27 February 2002 &status.new; @@ -1069,7 +1053,7 @@ Protect network interface queues. - &jlemon; + &a.jlemon; 24 November 2000 &status.done; @@ -1205,7 +1189,7 @@ 15 May 2001