[5/6] arm64: wire frequency-invariant accounting support up to the task scheduler

Message ID 20170608075513.12475-6-dietmar.eggemann@arm.com
State New
Headers show
Series
  • Untitled series #2227
Related show

Commit Message

Dietmar Eggemann June 8, 2017, 7:55 a.m.
Commit dfbca41f3479 ("sched: Optimize freq invariant accounting")
changed the wiring which now has to be done by associating
arch_scale_freq_capacity with the actual implementation provided
by the architecture.

Define arch_scale_freq_capacity to use the arch_topology "driver"
function topology_get_freq_scale() for the task scheduler's
frequency-invariant accounting instead of the default
arch_scale_freq_capacity() in kernel/sched/sched.h.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Juri Lelli <juri.lelli@arm.com>
Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>

---
 arch/arm64/include/asm/topology.h | 5 +++++
 arch/arm64/kernel/topology.c      | 1 -
 2 files changed, 5 insertions(+), 1 deletion(-)

-- 
2.11.0

Comments

Catalin Marinas June 12, 2017, 1:06 p.m. | #1
On Thu, Jun 08, 2017 at 08:55:12AM +0100, Dietmar Eggemann wrote:
> Commit dfbca41f3479 ("sched: Optimize freq invariant accounting")

> changed the wiring which now has to be done by associating

> arch_scale_freq_capacity with the actual implementation provided

> by the architecture.

> 

> Define arch_scale_freq_capacity to use the arch_topology "driver"

> function topology_get_freq_scale() for the task scheduler's

> frequency-invariant accounting instead of the default

> arch_scale_freq_capacity() in kernel/sched/sched.h.

> 

> Cc: Catalin Marinas <catalin.marinas@arm.com>

> Cc: Will Deacon <will.deacon@arm.com>

> Cc: Juri Lelli <juri.lelli@arm.com>

> Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>

> ---

>  arch/arm64/include/asm/topology.h | 5 +++++

>  arch/arm64/kernel/topology.c      | 1 -

>  2 files changed, 5 insertions(+), 1 deletion(-)


Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Vincent Guittot June 12, 2017, 2:32 p.m. | #2
On 8 June 2017 at 09:55, Dietmar Eggemann <dietmar.eggemann@arm.com> wrote:
> Commit dfbca41f3479 ("sched: Optimize freq invariant accounting")

> changed the wiring which now has to be done by associating

> arch_scale_freq_capacity with the actual implementation provided

> by the architecture.

>

> Define arch_scale_freq_capacity to use the arch_topology "driver"

> function topology_get_freq_scale() for the task scheduler's

> frequency-invariant accounting instead of the default

> arch_scale_freq_capacity() in kernel/sched/sched.h.

>

> Cc: Catalin Marinas <catalin.marinas@arm.com>

> Cc: Will Deacon <will.deacon@arm.com>

> Cc: Juri Lelli <juri.lelli@arm.com>

> Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>


Acked-by: Vincent Guittot <vincent.guittot@linaro.org>

Patch hide | download patch | download mbox

diff --git a/arch/arm64/include/asm/topology.h b/arch/arm64/include/asm/topology.h
index 8b57339823e9..44598a86ec4a 100644
--- a/arch/arm64/include/asm/topology.h
+++ b/arch/arm64/include/asm/topology.h
@@ -32,6 +32,11 @@  int pcibus_to_node(struct pci_bus *bus);
 
 #endif /* CONFIG_NUMA */
 
+#include <linux/arch_topology.h>
+
+/* Replace task scheduler's default frequency-invariant accounting */
+#define arch_scale_freq_capacity topology_get_freq_scale
+
 #include <asm-generic/topology.h>
 
 #endif /* _ASM_ARM_TOPOLOGY_H */
diff --git a/arch/arm64/kernel/topology.c b/arch/arm64/kernel/topology.c
index 79244c75eaec..6cbb6315e493 100644
--- a/arch/arm64/kernel/topology.c
+++ b/arch/arm64/kernel/topology.c
@@ -11,7 +11,6 @@ 
  * for more details.
  */
 
-#include <linux/arch_topology.h>
 #include <linux/cpu.h>
 #include <linux/cpumask.h>
 #include <linux/init.h>