Skip to content

Commit c4b52d8

Browse files
Song Shuaipalmer-dabbelt
authored andcommitted
riscv: export cpu/freq invariant to scheduler
RISC-V now manages CPU topology using arch_topology which provides CPU capacity and frequency related interfaces to access the cpu/freq invariant in possible heterogeneous or DVFS-enabled platforms. Here adds topology.h file to export the arch_topology interfaces for replacing the scheduler's constant-based cpu/freq invariant accounting. Signed-off-by: Song Shuai <suagrfillet@gmail.com> Reviewed-by: Andrew Jones <ajones@ventanamicro.com> Reviewed-by: Ley Foon Tan <lftan@kernel.org> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Link: https://lore.kernel.org/r/20230323123924.3032174-1-suagrfillet@gmail.com [Palmer: Fix the whitespace issues.] Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
1 parent eb04e72 commit c4b52d8

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

arch/riscv/include/asm/topology.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/* SPDX-License-Identifier: GPL-2.0 */
2+
#ifndef _ASM_RISCV_TOPOLOGY_H
3+
#define _ASM_RISCV_TOPOLOGY_H
4+
5+
#include <linux/arch_topology.h>
6+
7+
/* Replace task scheduler's default frequency-invariant accounting */
8+
#define arch_scale_freq_tick topology_scale_freq_tick
9+
#define arch_set_freq_scale topology_set_freq_scale
10+
#define arch_scale_freq_capacity topology_get_freq_scale
11+
#define arch_scale_freq_invariant topology_scale_freq_invariant
12+
13+
/* Replace task scheduler's default cpu-invariant accounting */
14+
#define arch_scale_cpu_capacity topology_get_cpu_scale
15+
16+
/* Enable topology flag updates */
17+
#define arch_update_cpu_topology topology_update_cpu_topology
18+
19+
#include <asm-generic/topology.h>
20+
#endif /* _ASM_RISCV_TOPOLOGY_H */

0 commit comments

Comments
 (0)