My CPU is Ivy-bridge i3770K. My OS is ubuntu 12.04 with kernel 3.5.0-34.
I used to play cpufreq driver a lot. But its behavior is weird on this machine.
It has four physical cores. With SMT enabled, there are totally 8 logical CPUs. And CPU 0 and CPU 4 are in the same physical core.
First I echo 'userspace' to the scaling_governor of all cpus. Then I echo '1600000'(minimum frequency supported) to scaling_setspeed of all cpus. Then I echo '3400000' to scaling_setspeed of CPU0 and CPU4.
What should be expected is that physical core 0 (consists of CPU0 and CPU4)'s frequency should be changed to be 3.4GHz while other cores' frequency should stay at 1.6GHz. However, by repeatedly checking cpuinfo_cur_freq of all the cpus, I have found all cpus' frequency are jumping with 1.6GHz and 3.4GHz all the time.
However, if I set all the cpu's frequency to be 3.4GHz, then they will all stay in 3.4GHz.

This is not expected. I believe though the voltage change probably is socket level, the frequency change should be core level,right?
I used to play cpufreq driver a lot. But its behavior is weird on this machine.
It has four physical cores. With SMT enabled, there are totally 8 logical CPUs. And CPU 0 and CPU 4 are in the same physical core.
First I echo 'userspace' to the scaling_governor of all cpus. Then I echo '1600000'(minimum frequency supported) to scaling_setspeed of all cpus. Then I echo '3400000' to scaling_setspeed of CPU0 and CPU4.
What should be expected is that physical core 0 (consists of CPU0 and CPU4)'s frequency should be changed to be 3.4GHz while other cores' frequency should stay at 1.6GHz. However, by repeatedly checking cpuinfo_cur_freq of all the cpus, I have found all cpus' frequency are jumping with 1.6GHz and 3.4GHz all the time.
However, if I set all the cpu's frequency to be 3.4GHz, then they will all stay in 3.4GHz.
This is not expected. I believe though the voltage change probably is socket level, the frequency change should be core level,right?
