如何在4.2.2中禁用或关闭CPU HOTPLUG。核心?

时间:2015-08-12 15:21:52

标签: android linux linux-kernel embedded-linux

使用linux3.4 kernel-android 4.2.2和 编译我自己的内核并设置默认的cpu调控器就是性能。

尽管性能调控器,cpu0 kill cpu1 regulary,    有没有办法每次在线取消hotplug和cpu0和cpu1。

up cpu1 manuel (echo 1 > /sys/devices/system/cpu/cpu1/online) 但然后cpu0再次杀死cpu1。

谢谢...

>     <5>[ 1463.823251] **CPU1: shutdown**
>     <6>[ 1463.826297] [hotplug]: cpu(0) try to kill cpu(1)
>     <6>[ 1463.832847] [hotplug]: cpu1 is killed!
>     <7>[ 1464.122323] **cpu up:1**
>     <4>[ 1464.156379] CPU1: Booted secondary processor
>     <5>[ 1464.723240] **CPU1: shutdown**
>     <6>[ 1464.726262] [hotplug]: cpu(0) try to kill cpu(1)
>     <6>[ 1464.732851] **[hotplug]: cpu1 is killed!**
>     <6>[ 1473.123071] [BASE_I2C_DEBUG]receive temperature code: 0x04,0x41,0x01,0x24


>     root@android:/ # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 
>     cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 
>     performance
>     root@android:/ #

1 个答案:

答案 0 :(得分:2)

浏览内核代码,我认为你似乎无法动态禁用hotplug cpu,因为sysfs中没有这样的接口。如果你不需要hotplug cpu,你可以在构建内核时取消选择CONFIG_HOTPLUG_CPU。

echo 1 > /sys/devices/system/cpu/cpu1/online只能使这个cpu联机,但它可能会再次脱机,由内核判断。

我认为scaling_governor只影响内核中机制被称为cpufreq的cpu频率。它与hotplug cpu的机制不同。 performance仅将cpu设置为最大频率。但是,如果此cpu上没有任何任务正在运行,hotplug cpu仍然可以使其脱机。