使用linux3.4内核android 4.2.2和
编译了我自己的内核并设置了默认的cpu调控器是performance。
即使性能调节器,CPU0定期杀死CPU1,
有没有办法每次都取消hotplug和cpu0以及cpu1。
向上CPU1手动(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:/ #
最佳答案
在浏览内核代码时,我认为似乎不能动态禁用热插拔cpu,因为sysfs中没有这样的接口。如果不需要热插拔CPU,可以在构建内核时取消选择配置热插拔CPU。echo 1 > /sys/devices/system/cpu/cpu1/online
仅使此CPU联机,但内核可能会再次判断它是否脱机。
我认为scaling_governor
只影响内核中称为cpufreq
机制的cpu频率。这是一种不同于hotplug cpu
的机制。performance
仅将CPU设置为最大频率。但是当这个cpu上没有任务运行时,hotplug cpu
仍然可以使它离线。