imsngn / i7z

Automatically exported from code.google.com/p/i7z
GNU General Public License v2.0
0 stars 0 forks source link

Freezes on Xeon E5530 2.40GHz #19

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Hello,

When I run this perfect tool on my new box (IBM x3650 M2) with dual socket Xeon 
E5530 with 16 cores, it freezes. For more info please look at attached video.

Original issue reported on code.google.com by iron.udjin@gmail.com on 10 Oct 2010 at 5:17

Attachments:

GoogleCodeExporter commented 9 years ago
Though it sometimes takes a bit of time before it starts up, it shouldnot take 
longer then 10 secs or so. Can you try running it for 30secs or so to see if it 
comes up.

If that doesnot work, can you try changing a bit of code so that the 
single-socket code is run (its more well-debugged).

All you need to do is change the function called on line 88 from Dual_Socket to 
Single_Socket and run again 
http://code.google.com/p/i7z/source/browse/trunk/i7z.c#88
Do see if the single socket code comes up.

Original comment by abhirana on 10 Oct 2010 at 5:41

GoogleCodeExporter commented 9 years ago
I waited 30 minutes, the same stuff.

I just changed the code. Here is output:

Cpu speed from cpuinfo 2400.00Mhz                                               

cpuinfo might be wrong if cpufreq is enabled. To guess correctly try estimating 
via tsc                                                                         

Linux's inbuilt cpu_khz code emulated now                                       

True Frequency (without accounting Turbo) 2400 MHz

...after that it freezes.

Original comment by iron.udjin@gmail.com on 10 Oct 2010 at 7:04

GoogleCodeExporter commented 9 years ago
Thanks for the reply and the bug query in general.

i am thinking that something with reading/writing the msrs is not being done. 
This is an associated bug-report that was due to a kernel that didnot allow for 
reading certain msrs http://code.google.com/p/i7z/issues/detail?id=17

Can you tell me what kernel you are using?

-----------------------------------------
Also, Can you try running the rdmsr/wrmsr commands. They are available at 
http://www.kernel.org/pub/linux/utils/cpu/msr-tools/ and explanation is here 
http://blogs.koolwal.net/2009/09/19/howto-using-cpu-msr-tools-rdmsrwrmsr-in-debi
an-linux/

once installed, these are some commands that you can run
-p specifies the cpu number
0x1ad = prints the turbo mode value
0xCE  = msr platform info

rdmsr -p0 0x1ad 

and

rdmsr -p0 0xCE

in the initial part of the code, if either of these command fail, then the tool 
just doesnot print anything. It keeps on running but as its unable to read 
these msrs, it seems hanged.

-----------------------------------------
Also, can you try out this utility 
http://www.kernel.org/pub/linux/kernel/people/lenb/acpi/utils/pmtools-latest/tur
bostat/turbostat.c

it is a similar to i7z and shows the C states of the cores. you can compile it 
as gcc tubostat.c

if it works then i can resolve that its a bug in my program 

Original comment by abhirana on 10 Oct 2010 at 10:32

GoogleCodeExporter commented 9 years ago
Hello abhirana,

The tool is finally started work after I recompiled kernel with 
CONFIG_X86_MSR=y option. I'm wondering why there aren't any mention in 
documentation of your tool. I think the best way could be to add piece of code 
which will check if kernel compiled with ONFIG_X86_MSR=y.

Here is output:

Cpu speed from cpuinfo 2400.00Mhz                                               

True Frequency (without accounting Turbo) 2400 MHz                              

Socket [0] - [physical cores=4, logical cores=8, max online cores ever=4]       

  CPU Multiplier 18x || Bus clock frequency (BCLK) 133.33 MHz                                                                                                
  TURBO ENABLED on 4 Cores, Hyper Threading ON                                                                                                               
  True Frequency 2533.33 MHz (133.33 x [19])                                                                                                                 
  Max TURBO Multiplier (if Enabled) with 1/2/3/4 cores is  20x/20x/19x/19x                                                                                   
  Current Frequency 2533.78 MHz (Max of below)                                                                                                               
        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %  Temp                                                                         
        Core 1 [0]:       2533.70 (19.00x)         1    99.3       0       0    40                                                                           
        Core 2 [1]:       2533.67 (19.00x)         1    99.4       0       0    36                                                                           
        Core 3 [2]:       2533.78 (19.00x)         1    99.3       0       0    39                                                                           
        Core 4 [3]:       2533.77 (19.00x)         1    99.3       0       0    34                                                                           

Socket [1] - [physical cores=4, logical cores=8, max online cores ever=4]       

  CPU Multiplier 18x || Bus clock frequency (BCLK) 133.33 MHz                                                                                                
  TURBO ENABLED on 4 Cores, Hyper Threading ON                                                                                                               
  True Frequency 2533.33 MHz (133.33 x [19])                                                                                                                 
  Max TURBO Multiplier (if Enabled) with 1/2/3/4 cores is  20x/20x/19x/19x                                                                                   
  Current Frequency 2533.65 MHz (Max of below)                                                                                                               
        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %  Temp                                                                         
        Core 1 [4]:       2533.60 (19.00x)      1.02    98.9       0       0    49                                                                           
        Core 2 [5]:       2533.63 (19.00x)         1      99       0       0    45                                                                           
        Core 3 [6]:       2533.59 (19.00x)      1.05    98.9       0       0    49                                                                           
        Core 4 [7]:       2533.65 (19.00x)         1    99.1       0       0    46                                                                           

C0 = Processor running without halting                                          

C1 = Processor running with halts (States >C0 are power saver)                  

C3 = Cores running with PLL turned off and core cache turned off                

C6 = Everything in C3 + core state saved to last level cache                    

  Above values in table are in percentage over the last 1 sec                                                                                                
[core-id] refers to core-id number in /proc/cpuinfo                             

'Garbage Values' message printed when garbage values are read                   

  Ctrl+C to exit

I see that Turbo is enabled but when I load up CPU, it doesn't increase 
frequency. Probably something wrong with my kernel or BIOS settings. But it's 
an other story.

Thanks for your help and perfect tool.

Original comment by iron.udjin@gmail.com on 11 Oct 2010 at 8:22

GoogleCodeExporter commented 9 years ago
good to hear that things are now working for you. yeh, i thought that this is 
one of those options that are always `y' in the kernel.  guess, i'll do some 
kind of check then...

turbo seems to be working for you. note your chip is defaulted to 18 multiplier 
(2.4ghz), due to turbo you are getting 2.533ghz (if turbo was not working you 
will have gotten only 2.4ghz). Only when 1 or 2 cores are active, then you will 
get to the 2.66ghz. When 3,4 cores are active you will get 2.53ghz.

"Max TURBO Multiplier (if Enabled) with 1/2/3/4 cores is  20x/20x/19x/19x "

Original comment by abhirana on 11 Oct 2010 at 10:44

GoogleCodeExporter commented 9 years ago

Original comment by abhirana on 31 Mar 2012 at 8:23