Combine two suggestions from Attilio for potential SMP-related GSoC
projects, and list him and jhb as potential contacts.
This commit is contained in:
parent
38fc545e52
commit
ee4a78998e
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/www/; revision=35531
1 changed files with 37 additions and 1 deletions
|
@ -15,7 +15,7 @@ Ideas//EN"
|
|||
<ideas>
|
||||
<cvs:keywords xmlns:cvs="http://www.FreeBSD.org/XML/CVS" version="1.0">
|
||||
<cvs:keyword name="freebsd">
|
||||
$FreeBSD: www/en/projects/ideas/ideas.xml,v 1.145 2010/03/14 15:52:47 rwatson Exp $
|
||||
$FreeBSD: www/en/projects/ideas/ideas.xml,v 1.146 2010/03/15 17:58:35 imp Exp $
|
||||
</cvs:keyword>
|
||||
</cvs:keywords>
|
||||
|
||||
|
@ -444,6 +444,42 @@ these buses to be a subclass of this new base class.</p>
|
|||
</desc>
|
||||
</idea>
|
||||
|
||||
<idea id="scalableprimitives" class="soc">
|
||||
<title>SMP scalability improvements for core primitives</title>
|
||||
<desc>
|
||||
<p><strong>Technical contact</strong>: <a
|
||||
href="mailto:attilio@FreeBSD.org">Attilio Rao</a>, <a
|
||||
href="mailto:jhb@FreeBSD.org">John Baldwin</a>.</p>
|
||||
|
||||
<p>FreeBSD SMP scalability has improved dramatically over the last
|
||||
ten years as a result of the now-complete SMPng project, which
|
||||
converted FreeBSD from a single Giant kernel lock to fine-grained
|
||||
locking and strong 8-core scalability. As commodity hardware is
|
||||
now reaching 16-24 cores, some low-level primitives in the SMP
|
||||
implementation must be revisited. In particular, 32 or 64-CPU
|
||||
limits are encoded in the CPU mask primitive (cpumask_t), and
|
||||
spin locks offer higher than desired cache line contention as well
|
||||
as unfairness. This project would combine these two related tasks
|
||||
by improving the expressibility of CPU masks and per-CPU objects
|
||||
and improving the scalability of the spinlock implementation. It
|
||||
is especially important that the latter portion of the work be
|
||||
driven by real-world measurement using workloads that trigger the
|
||||
specific problem, and experimentation with primitives across
|
||||
several types of hardware.</p>
|
||||
|
||||
<p>Note: a spinlock backoff patch has already been proposed, but not
|
||||
yet properly evaluated, and would make a good starting point for
|
||||
this work.</p>
|
||||
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
<ul>
|
||||
<li>Strong knowledge of C.</li>
|
||||
<li>Experience with multi-threaded programming.</li>
|
||||
<li>Experience with kernel programming.</li>
|
||||
</ul>
|
||||
</desc>
|
||||
</idea>
|
||||
|
||||
<idea id="docsysctl">
|
||||
<title>Document all sysctls</title>
|
||||
<desc>
|
||||
|
|
Loading…
Reference in a new issue