小编Len*_*lva的帖子

检测是否在具有异构CPU架构的设备上运行

我对这一点非常具体.我需要知道,如果该设备具有具有异构内核的CPU等ARM的技术的big.LITTLE,例如,一组4的ARM Cortex-A53的+另一组4更强大的ARM Cortex-A72,共计8个内核,2基本上处理器在同一芯片中.处理器模型并不重要.

我正在考虑的是读取scaling_max_freq所有内核并将那些具有不同最大频率的内容分组(然后比较它们)但我注意到在某些设备中,任何不是cpu0的内核的路径实际上是/ sys/devices /的符号链接system/cpu/cpu0/cpufreq/scaling_max_freq

也就是说,如果我尝试读取cpu3的scaling_max_freq,它将是cpu0的scaling_max_freq的链接.我想知道在这种情况下我是否可以认为我们不是在异构中运行.

CPU类

public final class CPU {
    // To be formatted with specific core number
    private static final String CPU_DIR = "/sys/devices/system/cpu/cpu%d";
    private static final String CPUFREQ_DIR = CPU_DIR + "/cpufreq";
    public static final String SCALING_MAX_FREQ = CPUFREQ_DIR + "/scaling_max_freq";
    private static final String DEFAULT_FREQS = "200000 400000 800000 1200000";

    private CPU() {

    }

    // Here I'd replace 0 with (other) core number
    @NonNull
    public static …
Run Code Online (Sandbox Code Playgroud)

linux cpu android root linux-kernel

6
推荐指数
1
解决办法
148
查看次数

标签 统计

android ×1

cpu ×1

linux ×1

linux-kernel ×1

root ×1