diff --git a/en/projects/ideas/ideas.xml b/en/projects/ideas/ideas.xml index 01da3bd6d5..e9d5843eb9 100644 --- a/en/projects/ideas/ideas.xml +++ b/en/projects/ideas/ideas.xml @@ -15,7 +15,7 @@ Ideas//EN" - $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 $ @@ -432,6 +432,35 @@ these buses to be a subclass of this new base class.

+ + CPU online/offline project + +

Technical contact: John Baldwin

+ +

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.

+

Requirements:

+
    +
  • Strong knowledge of C.
  • +
  • Experience with multi-threaded programming.
  • +
  • Experience with kernel programming.
  • +
+
+
+ Document all sysctls