kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
From: pacprnt@gmail.com (pradeep hettiarachchi)
To: kernelnewbies@lists.kernelnewbies.org
Subject: Verify the frequency of a core
Date: Fri, 24 Jun 2011 10:16:42 -0400	[thread overview]
Message-ID: <BANLkTinEo39Cgp+=XKeS=rbprD+sswJ1FA@mail.gmail.com> (raw)
In-Reply-To: <BANLkTikv_--M6_TnhhLNt1XT8Pb3qrRT3Q@mail.gmail.com>

Hi Tharindu,

Re: great effort, unfortunately what you mentioned does not verify the
required fact (In other words, (1) your method requests the governor
to do the frequency change request (FCR), (2) the governor ask the
driver to do the job (trace the kernel code path, you will understand
this). But internally, the CPU has single VID set, which request the
motherboard regulator to change the Vcc. Motherboard (DC-to-DC)
regulator does not have any way of setting different voltages for
individual cores simultaneously. So, different core frequencies are
not possible. However, (still I did not study the code), the scheduler
might take the assigned frequency (by the user) into account when it
schedule any task in the core (might be load balancing: to be
confirmed) still no multiple frequencies are possible ).

The informed frequency from sysfile is not accurate (the low lever
drivers are not even called when you ask governor (sysfiles) to read
the frequency): if you change the CPU frequency by other means (eg
using writing directly to MSR), your sysfiles does not catch it.


Have a look at low level implementation of frequency driver (they all
change the frequency of the processor using MSR- a set of registers
that specifically used to manage the CPU functionality and the
configuration)

So, if you want to verify that the CPU cores can stay in multiple
frequencies simultaneously, the best method is to change the frequency
by user-space governor and try to verify the frequency using direct
MSRs (I did that and found which is not possible).  If you can
successfully show that, let me know.




Sincerely,

Pradeep M. Hettiarachchi



On Thu, Jun 23, 2011 at 9:52 PM, Tharindu Rukshan Bamunuarachchi
<btharindu@gmail.com> wrote:
> Hi Pradeep,
>
> Below commands will do the job.
>
> modprobe acpi-cpufreq
> modprobe cpufreq_userspace
>
> cd /sys/devices/system/cpu/cpu0/cpufreq
> echo userspace > scaling_governor
> echo 2394000 > scaling_setspeed
>
> cd /sys/devices/system/cpu/cpu1/cpufreq
> echo userspace > scaling_governor
> echo 2128000 > scaling_setspeed
>
> cd /sys/devices/system/cpu/cpu2/cpufreq
> echo userspace > scaling_governor
> echo 1862000 > scaling_setspeed
>
> cd /sys/devices/system/cpu/cpu3/cpufreq
> echo userspace > scaling_governor
> echo 1596000 > scaling_setspeed
>
> cat /proc/cpuinfo | grep MHz
> cpu MHz??? ??? : 2394.000
> cpu MHz??? ??? : 2128.000
> cpu MHz??? ??? : 1862.000
> cpu MHz??? ??? : 1596.000
>
> Tested on Q6600
> quadcore:~ # cat /proc/cpuinfo | grep GHz
> model name??? : Intel(R) Core(TM)2 Quad CPU??? Q6600? @ 2.40GHz
> model name??? : Intel(R) Core(TM)2 Quad CPU??? Q6600? @ 2.40GHz
> model name??? : Intel(R) Core(TM)2 Quad CPU??? Q6600? @ 2.40GHz
> model name??? : Intel(R) Core(TM)2 Quad CPU??? Q6600? @ 2.40GHz
>
>
> __
> Tharindu "Rukshan" Bamunuarachchi
>
>
>
>
>
>
> On Fri, Jun 24, 2011 at 3:17 AM, pradeep hettiarachchi <pacprnt@gmail.com>
> wrote:
>>
>> Hi Tharindu,
>>
>> An another round of the old questions:
>>
>> Can you give me any evidence to confirm that the core frequencies can
>> be run in different values from each other. You may try to do (set
>> individual core frequency values) it individually through any governor
>> or MSR methods. However, actually it does not implemented internally.
>> Please show/tell me if you have any methods to show that core
>> frequencies are different at any given time. (Take i7 950 or Q 6600
>> processors applicable approach so that I can verify it so easily)
>>
>>
>>
>>
>> Sincerely,
>>
>> Pradeep M. Hettiarachchi
>>
>>
>>
>> On Sat, Dec 25, 2010 at 2:45 PM, pradeep hettiarachchi
>> <pacprnt@gmail.com> wrote:
>> > Hi,
>> >
>> > Here what I did:
>> > I set the "performance" governor for one of the cores and "ondemand"
>> > governor on an another core. Then I noticed that the cores have
>> > different frequencies.
>> > Based of the above observation on different processors, I have a
>> > couple of questions.
>> >
>> > 1) When I tried to frequency-scale in a core i7 processor, it allows
>> > me to set different governors for individual cores. As per to my
>> > understanding, the processor has 4 physical cores and 2 hardware
>> > threads per core. (totaling 8 cores altogether) ?This means, I should
>> > not be able to set different frequencies in two adjacent cores (say
>> > core 0 and core 1) as they both same hardware. My understanding is I
>> > should not be able to set the individual core frequencies as explained
>> > above.
>> >
>> > 2) When I played with Q6600 processor, I found that trough the
>> > governor, I can set the individual core-frequency. But as per to the
>> > literature, Intel does not provide a facility to frequency-scale in
>> > individual cores but the frequency in the entire processor.
>> >
>> > 3) What does the governor do? Does it set the frequency of the core
>> > directly ?
>> >
>> > 4) Is there any way that I can verify the actual frequency of a core
>> > other than the interface of the governor. ?Do you recommend to use MSR
>> > direly to change and ?measure the frequency ?of the system ?
>> >
>> >
>> >
>> >
>> > Sincerely,
>> >
>> > Pradeep M. Hettiarachchi
>> >
>
>

      parent reply	other threads:[~2011-06-24 14:16 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-25 19:45 Verify the frequency of a core pradeep hettiarachchi
     [not found] ` <BANLkTi=2qYcs-b77eYbtn8odGkpjDQkUpA@mail.gmail.com>
     [not found]   ` <BANLkTikv_--M6_TnhhLNt1XT8Pb3qrRT3Q@mail.gmail.com>
2011-06-24 14:16     ` pradeep hettiarachchi [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='BANLkTinEo39Cgp+=XKeS=rbprD+sswJ1FA@mail.gmail.com' \
    --to=pacprnt@gmail.com \
    --cc=kernelnewbies@lists.kernelnewbies.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).