Add a project page for KSE.
Reviewed By: chris
This commit is contained in:
parent
507e7dedfd
commit
97a6af5985
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/www/; revision=14841
4 changed files with 172 additions and 2 deletions
en
|
@ -1,4 +1,4 @@
|
|||
# $FreeBSD: www/en/Makefile,v 1.86 2002/10/05 16:07:45 lioux Exp $
|
||||
# $FreeBSD: www/en/Makefile,v 1.87 2002/10/30 03:48:08 kuriyama Exp $
|
||||
.if exists(Makefile.conf)
|
||||
.include "Makefile.conf"
|
||||
.endif
|
||||
|
@ -51,6 +51,7 @@ SUBDIR+= platforms
|
|||
SUBDIR+= releases
|
||||
SUBDIR+= releng
|
||||
SUBDIR+= smp
|
||||
SUBDIR+= kse
|
||||
SUBDIR+= conspectus
|
||||
SUBDIR+= gnome
|
||||
SUBDIR+= donations
|
||||
|
|
12
en/kse/Makefile
Normal file
12
en/kse/Makefile
Normal file
|
@ -0,0 +1,12 @@
|
|||
# $FreeBSD$
|
||||
|
||||
.if exists(../Makefile.conf)
|
||||
.include "../Makefile.conf"
|
||||
.endif
|
||||
.if exists(../Makefile.inc)
|
||||
.include "../Makefile.inc"
|
||||
.endif
|
||||
|
||||
DOCS= index.sgml
|
||||
|
||||
.include "${WEB_PREFIX}/share/mk/web.site.mk"
|
153
en/kse/index.sgml
Normal file
153
en/kse/index.sgml
Normal file
|
@ -0,0 +1,153 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [
|
||||
<!ENTITY base CDATA "..">
|
||||
<!ENTITY date "$FreeBSD$">
|
||||
<!ENTITY title "FreeBSD KSE Project">
|
||||
<!ENTITY email 'mini'>
|
||||
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
|
||||
|
||||
<!-- Status levels -->
|
||||
<!ENTITY status.done "<font color=green>Done</font>">
|
||||
<!ENTITY status.wip "<font color=blue>In progress</font>">
|
||||
<!ENTITY status.stalled "<font color=purple>Stalled</font>">
|
||||
<!ENTITY status.new "<font color=red>Not Started</font>">
|
||||
<!ENTITY status.resolved "<font color=green>Resolved</font>">
|
||||
<!ENTITY status.unresolved "<font color=red>Unresolved</font>">
|
||||
|
||||
<!-- The list of contributors was moved to a seperate file so that it can
|
||||
be used by other documents in the FreeBSD web site. -->
|
||||
|
||||
<!ENTITY % developers SYSTEM "../developers.sgml"> %developers;
|
||||
|
||||
]>
|
||||
|
||||
<html>
|
||||
&header;
|
||||
|
||||
<h2>Contents</h2>
|
||||
<ul>
|
||||
<li><a href="#overview">Project Overview</a></li>
|
||||
<li><a href="#using">Using KSE</a></li>
|
||||
<li><a href="#status.kernel">Project Status</a></li>
|
||||
</ul>
|
||||
|
||||
<a name="plan"></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 -pthread gcc option.
|
||||
|
||||
<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>In order to use KSE in an application, you need to link it against
|
||||
libpthreads, which is not built by default. To build and install it
|
||||
on your system, either run <tt>make install</tt> from
|
||||
<span class="filename">/usr/src/lib/libpthread</span> (if you have
|
||||
sources installed on your system), or check out the
|
||||
<span class="filename">libpthread</span> module from cvs.</p>
|
||||
|
||||
<p>Linking an application against libpthread is straighforward. In its
|
||||
makefiles, change the <tt>-pthread</tt> option to <tt>-lpthread</tt>
|
||||
and relink. Alternatively, you can copy libpthread.so on top of
|
||||
libc_r.so, but this is not recommended until libpthread.so becomes a
|
||||
bit more stable.
|
||||
|
||||
<a name="status"></a>
|
||||
<h2>Project Status</h2>
|
||||
|
||||
<p>Following is an incomplete general list of tasks:</p>
|
||||
|
||||
<table border=3>
|
||||
<tr>
|
||||
<th> Task </th>
|
||||
<th> Responsible </th>
|
||||
<th> Last updated </th>
|
||||
<th> Status </th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<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> Use KSE to schedule processes. </td>
|
||||
<td> &a.mini; </td>
|
||||
<td> 30 October 2002 </td>
|
||||
<td> &status.done; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Schedule an idle context when appropriate. </td>
|
||||
<td> &a.mini; </td>
|
||||
<td> 2 November 2002 </td>
|
||||
<td> &status.wip; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Deliver signals to threads. </td>
|
||||
<td> </td>
|
||||
<td> 2 November 2002 </td>
|
||||
<td> &status.new; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Locking for SMP. </td>
|
||||
<td> </td>
|
||||
<td> 2 November 2002 </td>
|
||||
<td> &status.new; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Launch multiple KSEs (one per CPU). </td>
|
||||
<td> </td>
|
||||
<td> 2 November 2002 </td>
|
||||
<td> &status.new; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Implement machine-dependant functions for non-x86 platforms. </td>
|
||||
<td> </td>
|
||||
<td> 2 November 2002 </td>
|
||||
<td> &status.new; </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Port NetBSD's liblwp to FreeBSD/KSE. </td>
|
||||
<td> </td>
|
||||
<td> 2 November 2002 </td>
|
||||
<td> &status.new; </td>
|
||||
</tr>
|
||||
|
||||
<!--
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> D M 2002 </td>
|
||||
<td> &status.new; </td>
|
||||
</tr>
|
||||
|
||||
-->
|
||||
</table>
|
||||
|
||||
&footer;
|
||||
</body>
|
||||
</html>
|
|
@ -1,6 +1,6 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [
|
||||
<!ENTITY base CDATA "..">
|
||||
<!ENTITY date "$FreeBSD: www/en/projects/projects.sgml,v 1.130 2002/10/04 14:52:44 trhodes Exp $">
|
||||
<!ENTITY date "$FreeBSD: www/en/projects/projects.sgml,v 1.131 2002/10/05 19:11:21 blackend Exp $">
|
||||
<!ENTITY title "FreeBSD Development Projects">
|
||||
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
|
||||
]>
|
||||
|
@ -268,6 +268,10 @@ was designed with a large academic environment in mind. It's greatest
|
|||
strength is the ability to perform high speed packet filtering for
|
||||
a larger number of individual hosts within an intranetwork.</li>
|
||||
|
||||
<li><a name="kse" href="../kse/index.html">Kernel Scheduler Entities</a>:
|
||||
A project to enhance the threading support on FreeBSD, using a threading
|
||||
system similar in design to Scheduler Activations.</li>
|
||||
|
||||
<li><a name="lotteryscheduling"
|
||||
href="http://www.csua.berkeley.edu/computing/software/lottery-sched.html">
|
||||
Lottery Scheduling Kernel</a>: This work is based on
|
||||
|
|
Loading…
Reference in a new issue