Add CPU online/offline idea.

Submitted by:	jhb
This commit is contained in:
Robert Watson 2009-03-21 12:08:41 +00:00
parent 696c438426
commit b2abcb5447
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/www/; revision=33988

View file

@ -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.124 2009/03/18 12:03:39 rwatson Exp $
$FreeBSD: www/en/projects/ideas/ideas.xml,v 1.125 2009/03/20 17:35:23 jkoshy Exp $
</cvs:keyword>
</cvs:keywords>
@ -432,6 +432,35 @@ these buses to be a subclass of this new base class.</p>
</desc>
</idea>
<idea id="dynamiccpu" class="soc">
<title>CPU online/offline project</title>
<desc>
<p><strong>Technical contact</strong>: <a
href="mailto:jhb@FreeBSD.org">John Baldwin</a></p>
<p>The project would need to extend the current CPU states of
absent and present to include absent, offline, and online. A
set of event handlers (probably using EVENTHANDLER(9)) will
need to be created to allow subsystems to be notified of CPU
state changes. At a minimum, the functionality of the
current 'hlt_cpus_mask' should be reimplemented in both the
4BSD and ULE schedulers using this mechanism. Note that the
ability to disable all but one thread within a core must
still be supported easily. (This is currently done on x86
via the machdep.hyperthreading_allowed sysctl.) Each
subsystem that uses CPU_ABSENT() will need to be evaluated to
see if it needs updating to handle online vs offline CPUs.
Further improvements may include teaching UMA to free per-CPU
buckets when a CPU is taken offline.</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>