summaryrefslogtreecommitdiff
path: root/arch/arm64
diff options
context:
space:
mode:
authorDietmar Eggemann <dietmar.eggemann@arm.com>2016-11-30 20:36:31 +0000
committerAndres Oportus <andresoportus@google.com>2017-06-02 08:01:52 -0700
commit65cad23dcdf7334c785a3c7fd74bdec633156364 (patch)
tree9cca91a93557a6afedecfc6a5ca9a4163c78c081 /arch/arm64
parentc6cc7ca9151303d56b519ffcf129c5ecbca9af58 (diff)
arm64: Set SD_ASYM_CPUCAPACITY sched_domain flag on DIE level
Enable Capacity-Aware_scheduling. This is a shortcut from the EAS integration implementation. We know there are SoCs in use which have asymmetric cpu capacities on DIE level. Change-Id: I7f1326e86b8fc08b65d1c1341da7d1ef1013dcbc Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com> (cherry picked from commit 82f95a8cdff67770f02b7e4f5b1c084f42afc0e2) Signed-off-by: Chris Redpath <chris.redpath@arm.com>
Diffstat (limited to 'arch/arm64')
-rw-r--r--arch/arm64/kernel/topology.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm64/kernel/topology.c b/arch/arm64/kernel/topology.c
index 5b2c67a510d8..7758f7ff131b 100644
--- a/arch/arm64/kernel/topology.c
+++ b/arch/arm64/kernel/topology.c
@@ -258,6 +258,11 @@ const struct cpumask *cpu_coregroup_mask(int cpu)
return &cpu_topology[cpu].core_sibling;
}
+static int cpu_cpu_flags(void)
+{
+ return SD_ASYM_CPUCAPACITY;
+}
+
static inline int cpu_corepower_flags(void)
{
return SD_SHARE_PKG_RESOURCES | SD_SHARE_POWERDOMAIN | \
@@ -268,7 +273,7 @@ static struct sched_domain_topology_level arm64_topology[] = {
#ifdef CONFIG_SCHED_MC
{ cpu_coregroup_mask, cpu_corepower_flags, cpu_core_energy, SD_INIT_NAME(MC) },
#endif
- { cpu_cpu_mask, NULL, cpu_cluster_energy, SD_INIT_NAME(DIE) },
+ { cpu_cpu_mask, cpu_cpu_flags, cpu_cluster_energy, SD_INIT_NAME(DIE) },
{ NULL, },
};