diff options
Diffstat (limited to 'en_US.ISO8859-1/htdocs/kse/index.sgml')
-rw-r--r-- | en_US.ISO8859-1/htdocs/kse/index.sgml | 243 |
1 files changed, 0 insertions, 243 deletions
diff --git a/en_US.ISO8859-1/htdocs/kse/index.sgml b/en_US.ISO8859-1/htdocs/kse/index.sgml deleted file mode 100644 index 175ca67ecf..0000000000 --- a/en_US.ISO8859-1/htdocs/kse/index.sgml +++ /dev/null @@ -1,243 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN" -"http://www.FreeBSD.org/XML/doc/share/sgml/xhtml10-freebsd.dtd" [ -<!ENTITY title "FreeBSD KSE Project"> -<!ENTITY email 'mini'> - -<!-- Status levels --> -<!ENTITY status.done "<font xmlns='http://www.w3.org/1999/xhtml' color='green'>Done</font>"> -<!ENTITY status.wip "<font xmlns='http://www.w3.org/1999/xhtml' color='blue'>In progress</font>"> -<!ENTITY status.stalled "<font xmlns='http://www.w3.org/1999/xhtml' color='purple'>Stalled</font>"> -<!ENTITY status.new "<font xmlns='http://www.w3.org/1999/xhtml' color='red'>Not Started</font>"> -<!ENTITY status.resolved "<font xmlns='http://www.w3.org/1999/xhtml' color='green'>Resolved</font>"> -<!ENTITY status.unresolved "<font xmlns='http://www.w3.org/1999/xhtml' color='red'>Unresolved</font>"> - -<!-- The list of contributors was moved to a separate file so that it can - be used by other documents in the FreeBSD web site. --> - - -]> - -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <title>&title;</title> - - <cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword> - </head> - - <body class="navinclude.about"> - - <h2>Contents</h2> - <ul> - <li><a href="#overview">Project Overview</a></li> - <li><a href="#using">Using KSE</a></li> - <li><a href="#further.reading">Further Reading</a></li> - <li><a href="#status.kernel">Project Status</a></li> - </ul> - - <a id="overview" name="overview"></a> - <h2>Overview</h2> - - <p>Kernel Scheduler Entities (KSE), is a kernel-supported threading - system similar in design to Scheduler Activations [Anderson, et. al.]. It - strikes a balance between user-level (1:N) and kernel-level (1:1) - threading models, giving most of the advantages of both, and - few of the disadvantages of either.</p> - - <p>There are two halves of this project: kernel support and user - support. The kernel support consists of modifications to the - FreeBSD scheduler; The user half is a &posix; threads implementation - which takes advantage of the extra facilities the kernel provides.</p> - - <p>The goal is to replace the current user threading system provided by - the libc_r library, and the <tt>-pthread</tt> gcc option, with a new - libpthread library which will be linked with the <tt>-lpthread</tt> - gcc option.</p> - - <a name="using"></a> - <h2>Using KSE</h2> - - <p>All KSE development is being done in 5.0-CURRENT. No special - kernel configuration options are required to build a kernel with - the KSE-related changes (the changes are inextricable from the - FreeBSD scheduler).</p> - - <p>In order to use KSE in an application, you need to link it against - libpthread; this is straightforward. In the application's makefile(s), - change the <tt>-pthread</tt> compiler switch or <tt>-lc_r</tt> link - option to <tt>-lpthread</tt> and relink. Alternatively, you can use - <tt>/etc/libmap.conf</tt> to map libc_r to libpthread (see - <tt>libmap.conf(5)</tt>).</p> - - <a name="further.reading"></a> - <h2>Further Reading</h2> - - <ul> - <li><a href="http://www.aims.net.au/chris/kse/"> - Kernel-Scheduled Entities for FreeBSD</a>, by Jason Evans. - (Slightly out of date). - </li> - <li><a href="http://www.FreeBSD.org/cgi/man.cgi?query=kse&apropos=0&sektion=0&manpath=FreeBSD+5.0-current&format=html">KSE man page</a> - </li> - <li><a href="http://people.FreeBSD.org/~deischen/docs/Scheduler.pdf"> - Scheduler Activations</a>, by Anderson, et al. - </li> - </ul> - - <a name="status.kernel"></a> - <a name="status"></a> - <h2>Project Status</h2> - - <p>Following is an incomplete general list of tasks:</p> - - <table class="tblbasic"> - <tr> - <th> Module </th> - <th> Task </th> - <th> Responsible </th> - <th> Last updated </th> - <th> Status </th> - </tr> - - <tr> - <td> libpthread </td> - <td> Write kse(2) man page documenting new system calls. </td> - <td> &a.archie; </td> - <td> 10 September 2002 </td> - <td> &status.done; </td> - </tr> - - <tr> - <td> libpthread </td> - <td> Repo-copy the libpthread library from libc_r. </td> - <td> cvs meister </td> - <td> 16 September 2002 </td> - <td> &status.done; </td> - </tr> - - <tr> - <td> libpthread </td> - <td> Use KSE to schedule processes. </td> - <td> &a.mini; </td> - <td> 30 October 2002 </td> - <td> &status.done; </td> - </tr> - - <tr> - <td> libpthread </td> - <td> Schedule an idle context when appropriate. </td> - <td> &a.mini; </td> - <td> 2 November 2002 </td> - <td> &status.done; </td> - </tr> - - <tr> - <td> libpthread </td> - <td> Deliver signals to threads. </td> - <td> &a.deischen; &a.davidxu; </td> - <td> 28 June 2003 </td> - <td> &status.done; </td> - </tr> - - <tr> - <td> libpthread </td> - <td> Locking for SMP. </td> - <td> &a.deischen; </td> - <td> 3 May 2003 </td> - <td> &status.done; </td> - </tr> - - <tr> - <td> kernel </td> - <td> Locking for SMP. </td> - <td> &a.davidxu; </td> - <td> 3 May 2003 </td> - <td> &status.done; </td> - </tr> - - <tr> - <td> libpthread </td> - <td> Launch multiple KSEs (one per CPU). </td> - <td> &a.davidxu; </td> - <td> 3 May 2003 </td> - <td> &status.done; </td> - </tr> - - <tr> - <td> libpthread, kernel </td> - <td> Implement alpha machine-dependent functions. </td> - <td> &a.marcel; </td> - <td> 30 Aug 2003 </td> - <td> &status.wip; </td> - </tr> - - <tr> - <td> libpthread, kernel </td> - <td> Implement amd64 machine-dependent functions. </td> - <td> &a.davidxu; &a.deischen; </td> - <td> 30 Aug 2003 </td> - <td> &status.done; </td> - </tr> - - <tr> - <td> libpthread, kernel </td> - <td> Implement i386 machine-dependent functions. </td> - <td> &a.davidxu; &a.deischen; </td> - <td> 30 Aug 2003 </td> - <td> &status.done; </td> - </tr> - - <tr> - <td> libpthread, kernel </td> - <td> Implement ia64 machine-dependent functions. </td> - <td> &a.marcel; </td> - <td> 30 Aug 2003 </td> - <td> &status.done; </td> - </tr> - - <tr> - <td> libpthread, kernel </td> - <td> Implement sparc64 machine-dependent functions. </td> - <td> &a.jake; </td> - <td> 30 Aug 2003 </td> - <td> &status.wip; </td> - </tr> - - <tr> - <td> kernel </td> - <td> Implement KSE-specific signaling. </td> - <td> &a.davidxu; </td> - <td> 28 June 2003 </td> - <td> &status.done; </td> - </tr> - - <tr> - <td> libpthread </td> - <td> Implement scope system threads. </td> - <td> &a.deischen; </td> - <td> 3 May 2003 </td> - <td> &status.done; </td> - </tr> - - <tr> - <td> kernel </td> - <td> Efficient scope system threads (no upcalls when they block). </td> - <td> &a.davidxu; </td> - <td> 30 Aug 2003 </td> - <td> &status.done; </td> - </tr> - -<!-- - <tr> - <td> </td> - <td> </td> - <td> </td> - <td> D M 2002 </td> - <td> &status.new; </td> - </tr> - ---> - </table> - - </body> -</html> |