smp: Documentation

This commit is contained in:
Sebastian Huber
2015-09-04 13:09:17 +02:00
parent 41b5c915e3
commit 06496fba0a
3 changed files with 16 additions and 15 deletions

View File

@@ -4203,26 +4203,26 @@ guidance. For guidance on the configuration macros, please examine
Deterministic Priority Scheduler.
@c
@c === Configuring Clustered/Partitioned Schedulers ===
@c === Configuring Clustered Schedulers ===
@c
@subsection Configuring Clustered/Partitioned Schedulers
@subsection Configuring Clustered Schedulers
Clustered/partitioned scheduling helps to control the worst-case latencies in
the system. The goal is to reduce the amount of shared state in the system and
thus prevention of lock contention. Modern multi-processor systems tend to
have several layers of data and instruction caches. With clustered/partitioned
scheduling it is possible to honour the cache topology of a system and thus
avoid expensive cache synchronization traffic.
Clustered scheduling helps to control the worst-case latencies in a
multi-processor system. The goal is to reduce the amount of shared state in
the system and thus prevention of lock contention. Modern multi-processor
systems tend to have several layers of data and instruction caches. With
clustered scheduling it is possible to honour the cache topology of a system
and thus avoid expensive cache synchronization traffic.
We have clustered scheduling in case the set of processors of a system is
partitioned into non-empty pairwise-disjoint subsets. These subsets are called
clusters. Clusters with a cardinality of one are partitions. Each cluster is
owned by exactly one scheduler instance. In order to use clustered/partitioned
owned by exactly one scheduler instance. In order to use clustered
scheduling the application designer has to answer two questions.
@enumerate
@item How is the set of processors partitioned into clusters/partitions?
@item Which scheduler is used for which cluster/partition?
@item How is the set of processors partitioned into clusters?
@item Which scheduler is used for which cluster?
@end enumerate
@subheading CONFIGURATION:

View File

@@ -92,7 +92,8 @@ array in that it is not limited to a predefined size.
@item cluster
We have clustered scheduling in case the set of processors of a system is
partitioned into non-empty pairwise disjoint subsets. These subsets are called
@dfn{clusters}. Each cluster is owned by exactly one scheduler instance.
@dfn{clusters}. Clusters with a cardinality of one are partitions. Each
cluster is owned by exactly one scheduler instance.
@item coalesce
The process of merging adjacent holes into
@@ -647,7 +648,7 @@ A @dfn{scheduler instance} is a scheduling algorithm with a corresponding
context to store its internal state. Each processor in the system is owned by
at most one scheduler instance. The processor to scheduler instance assignment
is determined at application configuration time. @xref{Configuring a System
Configuring Clustered/Partitioned Schedulers}.
Configuring Clustered Schedulers}.
@item segments
Variable sized memory blocks allocated

View File

@@ -589,8 +589,8 @@ the processor set of this scheduler is empty
@subheading DESCRIPTION:
Identifies a scheduler by its name. The scheduler name is determined by the
scheduler configuration. @xref{Configuring a System Configuring
Clustered/Partitioned Schedulers}.
scheduler configuration. @xref{Configuring a System Configuring Clustered
Schedulers}.
@subheading NOTES: