Documentation: scheduler: fix outdated information on sched groups
authorAdrian Freund <adrian@freund.io>
Tue, 7 Apr 2020 13:05:25 +0000 (15:05 +0200)
committerJonathan Corbet <corbet@lwn.net>
Tue, 21 Apr 2020 19:38:27 +0000 (13:38 -0600)
The documentation claims that two sched groups must not overlap. This is
no longer true, as overlapping sched groups are used on NUMA systems.
This change has been introduced by commit e3589f6c81e47 and was
documented by an in-code comment in commit 35a566e6e8a18.

Signed-off-by: Adrian Freund <adrian@freund.io>
Link: https://lore.kernel.org/r/20200407130525.76663-1-adrian@freund.io
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Documentation/scheduler/sched-domains.rst

index f750422..5c4b7f4 100644 (file)
@@ -19,10 +19,12 @@ 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
 pointer. The union of cpumasks of these groups MUST be the same as the
-domain's span. The intersection of cpumasks from any two of these groups
-MUST be the empty set. The group pointed to by the ->groups pointer MUST
-contain the CPU to which the domain belongs. Groups may be shared among
-CPUs as they contain read only data after they have been set up.
+domain's span. The group pointed to by the ->groups pointer MUST contain the CPU
+to which the domain belongs. Groups may be shared among CPUs as they contain
+read only data after they have been set up. The intersection of cpumasks from
+any two of these groups may be non empty. If this is the case the SD_OVERLAP
+flag is set on the corresponding scheduling domain and its groups may not be
+shared between CPUs.
 
 Balancing within a sched domain occurs between groups. That is, each group
 is treated as one entity. The load of a group is defined as the sum of the