Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.6.9-rc1-bk19 /Documentation/sched-domains.txt

Filename:/Documentation/sched-domains.txt
Lines Added:21
Lines Deleted:6
Also changed in: (Previous) 2.6.9-rc1-bk18  2.6.9-rc1-bk17  2.6.9-rc1-bk16  2.6.9-rc1-bk15  2.6.9-rc1-bk14  2.6.9-rc1-bk13 
(Following) 2.6.9-rc2  2.6.9-rc3  2.6.9-rc4  2.6.9-final  2.6.9  2.6.24-git17 

Location
[  2.6.9-rc1-bk19
  [  Documentation
     o  sched-domains.txt

Patch

diff -Nru a/Documentation/sched-domains.txt b/Documentation/sched-domains.txt
--- a/Documentation/sched-domains.txt   2004-05-10 03:03:57 -07:00
+++ b/Documentation/sched-domains.txt   2004-08-24 02:08:09 -07:00
@@ -5,12 +5,13 @@
 are locklessly updated.
 
 Each scheduling domain spans a number of CPUs (stored in the ->span field).
-A domain's span MUST be a superset of it child's span, and a base domain
-for CPU i MUST span at least i. The top domain for each CPU will generally
-span all CPUs in the system although strictly it doesn't have to, but this
-could lead to a case where some CPUs will never be given tasks to run unless
-the CPUs allowed mask is explicitly set. A sched domain's span means "balance
-process load among these CPUs".
+A domain's span MUST be a superset of it child's span (this restriction could
+be relaxed if the need arises), and a base domain for CPU i MUST span at least
+i. The top domain for each CPU will generally span all CPUs in the system
+although strictly it doesn't have to, but this could lead to a case where some
+CPUs will never be given tasks to run unless the CPUs allowed mask is
+explicitly set. A sched domain's span means "balance process load among these
+CPUs".
 
 Each scheduling domain must have one or more CPU groups (struct sched_group)
 which are organised as a circular one way linked list from the ->groups
@@ -45,6 +46,20 @@
 The implementor should read comments in include/linux/sched.h:
 struct sched_domain fields, SD_FLAG_*, SD_*_INIT to get an idea of
 the specifics and what to tune.
+
+For SMT, the architecture must define CONFIG_SCHED_SMT and provide a
+cpumask_t cpu_sibling_map[NR_CPUS], where cpu_sibling_map[i] is the mask of
+all "i"'s siblings as well as "i" itself.
+
+Architectures may retain the regular override the default SD_*_INIT flags
+while using the generic domain builder in kernel/sched.c if they wish to
+retain the traditional SMT->SMP->NUMA topology (or some subset of that). This
+can be done by #define'ing ARCH_HASH_SCHED_TUNE.
+
+Alternatively, the architecture may completely override the generic domain
+builder by #define'ing ARCH_HASH_SCHED_DOMAIN, and exporting your
+arch_init_sched_domains function. This function will attach domains to all
+CPUs using cpu_attach_domain.
 
 Implementors should change the line
 #undef SCHED_DOMAIN_DEBUG


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.