微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM Linux 大小核切换

ARM Linux 大小核切换

时间:11-09 来源:互联网 点击:

(真或者假)设置给bL_switching_enabled变量;

初始化互斥锁cluster_lock;

注册cpufreq_driver驱动bL_cpufreq_driver。

如果上面的驱动注册成功,则将bL_switcher_notifier 挂在bL_activation_notifier链表上;

若挂载失败,则卸载驱动bL_cpufreq_driver

bL_cpufreq_driver定义如下:

static struct cpufreq_driver bL_cpufreq_driver = {

.name = "arm-big-little",

.flags = CPUFREQ_STICKY,

.verify = bL_cpufreq_verify_policy,

.target = bL_cpufreq_set_target,

.get = bL_cpufreq_get_rate,

.init = bL_cpufreq_init,

.have_governor_per_policy = true,

.attr = bL_cpufreq_attr,

};

若bL_cpufreq_driver注册成功,执行下面的命令,就可以看到有个驱动是arm-big-little。

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

conservative ondemand userspace powersaveinteractiveperformance

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governors

interactive

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver

arm-big-little

用bL_cpufreq_driver这种调频策略时,就会执行到bL_cpufreq_set_target,然后执行bL_cpufreq_set_rate,则有可能调用到bL_switch_request。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top