Further expand/update SMPng text:
- Mention KSE 1:1 and M:N threading as occuring in parallel, allowing applications to take advantage of parallelism. - Mention WITNESS. - Put in a specific recognition of BSD/OS-BSDi contributions early in the project. - Since a lot of the development work is done, focus less on the project management approach (especially since things have diverged a lot from what was discussed). - Point at the Netperf cluster.
This commit is contained in:
parent
55d1820850
commit
22c8dda348
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/www/; revision=24995
1 changed files with 21 additions and 18 deletions
|
@ -1,6 +1,6 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [
|
||||||
<!ENTITY base CDATA "..">
|
<!ENTITY base CDATA "..">
|
||||||
<!ENTITY date "$FreeBSD: www/en/smp/index.sgml,v 1.141 2005/04/05 20:47:58 jcamou Exp $">
|
<!ENTITY date "$FreeBSD: www/en/smp/index.sgml,v 1.142 2005/07/01 11:32:56 rwatson Exp $">
|
||||||
<!ENTITY title "FreeBSD SMP Project">
|
<!ENTITY title "FreeBSD SMP Project">
|
||||||
<!ENTITY email 'freebsd-smp'>
|
<!ENTITY email 'freebsd-smp'>
|
||||||
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
|
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
|
||||||
|
@ -79,6 +79,8 @@
|
||||||
and also from additional inter-process communication primitives.
|
and also from additional inter-process communication primitives.
|
||||||
The SMP-aware kernel slab allocator is now used almost universally, and
|
The SMP-aware kernel slab allocator is now used almost universally, and
|
||||||
the focus has changed from "make it work", to "optimize it!".
|
the focus has changed from "make it work", to "optimize it!".
|
||||||
|
Simultaneous work on KSE 1:1 and M:N threading has also allowed
|
||||||
|
applications to take advantage of new kernel parallelism.
|
||||||
The FreeBSD 5.3 kernel introduced Giant-free network stack execution
|
The FreeBSD 5.3 kernel introduced Giant-free network stack execution
|
||||||
for most relevant code paths, and the FreeBSD 6.x kernel introduces
|
for most relevant code paths, and the FreeBSD 6.x kernel introduces
|
||||||
MPSAFE VFS, as well as wide-spread performance optimization.</p>
|
MPSAFE VFS, as well as wide-spread performance optimization.</p>
|
||||||
|
@ -91,25 +93,24 @@
|
||||||
which build on and refine the SMPng architecture: the introduction of
|
which build on and refine the SMPng architecture: the introduction of
|
||||||
features such as the kernel trace facility (KTR), hardware performance
|
features such as the kernel trace facility (KTR), hardware performance
|
||||||
monitor counters (hwpmc), lock profiling, and improved memory
|
monitor counters (hwpmc), lock profiling, and improved memory
|
||||||
monitoring play important roles in this process. Other important
|
monitoring play important roles in this process.
|
||||||
debugging and testing facilities include WITNESS, a run-time kernel
|
Other important debugging and testing facilities include WITNESS, a
|
||||||
lock order verifier, and wide-spread use of lock assertions and
|
run-time kernel lock order verifier, and wide-spread use of lock
|
||||||
run-time invariants testing.</p>
|
assertions and run-time invariants testing.</p>
|
||||||
|
|
||||||
|
<p>The FreeBSD Project recognizes, in particular, the contributions of
|
||||||
|
the BSD/OS development team, including architectural direction and
|
||||||
|
suggestions, as well as for initial locking strategies for some system
|
||||||
|
components, and source code for some of the starting primitives, not to
|
||||||
|
mention BSDI's contributions in staffing and resources for early parts
|
||||||
|
of this project.</p>
|
||||||
|
|
||||||
<a name="plan"></a>
|
<a name="plan"></a>
|
||||||
<h2>Project Plan</h2>
|
<h2>Project Plan</h2>
|
||||||
|
|
||||||
<p>This web page contains information related to the effort to
|
<p>This web page contains information relating to the SMPng effort;
|
||||||
improve SMP support in FreeBSD. In general, this project uses
|
because of the large amount of work and rapid pace of development,
|
||||||
what it can from the BSD/OS 5.0 development kernel, and
|
it can fall a bit behind reality.</p>
|
||||||
re-implements what cannot be directly used due to divergence in
|
|
||||||
the code bases.</p>
|
|
||||||
|
|
||||||
<p>As with any free software project, a detailed schedule is not
|
|
||||||
possible. We expect to have significant performance and
|
|
||||||
stability issues that need to be worked through over the first
|
|
||||||
several months of the project, though every effort will be made
|
|
||||||
to keep -current running as well as possible.</p>
|
|
||||||
|
|
||||||
<p>The task list below is not intended to be complete, but does
|
<p>The task list below is not intended to be complete, but does
|
||||||
represent a set of relevant and/or important components of the
|
represent a set of relevant and/or important components of the
|
||||||
|
@ -131,13 +132,15 @@
|
||||||
new tasks, it refers to the date the task was added to the list.</p>
|
new tasks, it refers to the date the task was added to the list.</p>
|
||||||
|
|
||||||
<p>Locking down of individual device drivers is tracked at
|
<p>Locking down of individual device drivers is tracked at
|
||||||
<a href="http://www.FreeBSD.org/projects/busdma">the busdma and
|
<a href="http://www.FreeBSD.org/projects/busdma/">the busdma and
|
||||||
SMPng driver conversion webpage</a>.</p>
|
SMPng driver conversion webpage</a>.</p>
|
||||||
|
|
||||||
<p>Network stack locking information is available at Robert Watson's
|
<p>Network stack locking information is available at Robert Watson's
|
||||||
<a href="http://www.watson.org/~robert/freebsd/netperf/">netperf web
|
<a href="http://www.watson.org/~robert/freebsd/netperf/">netperf web
|
||||||
page</a> and the FreeBSD.org <a href="../projects/netperf/">Netperf
|
page</a> and the FreeBSD.org <a href="../projects/netperf/">Netperf
|
||||||
web page</a>.</p>
|
web page</a>.
|
||||||
|
An SMP <a href="../projects/netperf/cluster.html">network performance
|
||||||
|
cluster</a> has also been created for the purposes of testing.</p>
|
||||||
|
|
||||||
<p>Tasks are sorted first by status, then by date.</p>
|
<p>Tasks are sorted first by status, then by date.</p>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue