|
@@ -5261,7 +5261,8 @@ static int sd_degenerate(struct sched_domain *sd)
|
|
|
SD_BALANCE_FORK |
|
|
|
SD_BALANCE_EXEC |
|
|
|
SD_SHARE_CPUPOWER |
|
|
|
- SD_SHARE_PKG_RESOURCES)) {
|
|
|
+ SD_SHARE_PKG_RESOURCES |
|
|
|
+ SD_SHARE_POWERDOMAIN)) {
|
|
|
if (sd->groups != sd->groups->next)
|
|
|
return 0;
|
|
|
}
|
|
@@ -5292,7 +5293,8 @@ sd_parent_degenerate(struct sched_domain *sd, struct sched_domain *parent)
|
|
|
SD_BALANCE_EXEC |
|
|
|
SD_SHARE_CPUPOWER |
|
|
|
SD_SHARE_PKG_RESOURCES |
|
|
|
- SD_PREFER_SIBLING);
|
|
|
+ SD_PREFER_SIBLING |
|
|
|
+ SD_SHARE_POWERDOMAIN);
|
|
|
if (nr_node_ids == 1)
|
|
|
pflags &= ~SD_SERIALIZE;
|
|
|
}
|
|
@@ -5901,6 +5903,7 @@ static int sched_domains_curr_level;
|
|
|
* SD_SHARE_CPUPOWER - describes SMT topologies
|
|
|
* SD_SHARE_PKG_RESOURCES - describes shared caches
|
|
|
* SD_NUMA - describes NUMA topologies
|
|
|
+ * SD_SHARE_POWERDOMAIN - describes shared power domain
|
|
|
*
|
|
|
* Odd one out:
|
|
|
* SD_ASYM_PACKING - describes SMT quirks
|
|
@@ -5909,7 +5912,8 @@ static int sched_domains_curr_level;
|
|
|
(SD_SHARE_CPUPOWER | \
|
|
|
SD_SHARE_PKG_RESOURCES | \
|
|
|
SD_NUMA | \
|
|
|
- SD_ASYM_PACKING)
|
|
|
+ SD_ASYM_PACKING | \
|
|
|
+ SD_SHARE_POWERDOMAIN)
|
|
|
|
|
|
static struct sched_domain *
|
|
|
sd_init(struct sched_domain_topology_level *tl, int cpu)
|