jwmesa412 / i7z

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

non-GUI i7z version does not run when some core are offlined (but i7z_GUI does although partially!) #72

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Step 1. What steps will reproduce the problem?

# ./i7z

that gives in xterm only:

Cpu speed from cpuinfo 2793.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) 2793 MHz

... and just nothing more. It seems to me when I enable all cores it works.

BUG1: The GUI at least prints a message that "GUI VERSION DOESN'T SUPPORT CORE 
OFFLINING". Hmm, but what does that mean. That it cannot display thsoe disabled 
cores? Fine with me? Or does it mean it does not work at all if some cores are 
disabled? Please improve the message.

in contrast, the GUI version work at least a bit and show one core (the other 
still not):

# ./i7z_GUI 
i7z DEBUG: i7z version: svn-r77-(20-Nov-2011)
i7z DEBUG: Found Intel Processor
i7z DEBUG:    Stepping 7
i7z DEBUG:    Model a
i7z DEBUG:    Family 6
i7z DEBUG:    Processor Type 0
i7z DEBUG:    Extended Model 2
i7z DEBUG: msr = Model Specific Register
i7z DEBUG: Detected an i3/i5/i7 - 32nm (sandy bridge - 2nd generation core)
i7z DEBUG: msr device files exist /dev/cpu/*/msr
i7z DEBUG: You have write permissions to msr device files

------------------------------
--[core id]--- Other information
-------------------------------------
--[0] Processor number 0
--[0] Socket number/Hyperthreaded Sibling number  0,1
--[0] Core id number 0
--[0] Display core in i7z Tool: Yes

--[1] Processor number 2
--[1] Socket number/Hyperthreaded Sibling number  0,0
--[1] Core id number 0
--[1] Display core in i7z Tool: No

i7z DEBUG: GUI VERSION DOESN'T SUPPORT CORE OFFLINING

the GUI window shows the C-states for "Core-1 [id:0, socket:0]

BUG2: Please bring also the "GUI VERSION DOESN'T SUPPORT CORE OFFLINING" to 
non-GUI "i7z" as well.

BUG3: The i7z-0.27.2.tar.gz when unpacked and compiled produces "i7z version: 
svn-r77-(20-Nov-2011)". Please fix the version string in the archive so that 
users will see the version 0.27.2. It is really confusing.

# dmesg
[cut]
[   32.255955] microcode: CPU0 sig=0x206a7, pf=0x10, revision=0x1b
[   32.256664] microcode: CPU0 updated to revision 0x28, date = 2012-04-24
[   32.257464] microcode: CPU1 sig=0x206a7, pf=0x10, revision=0x1b
[   32.257874] microcode: CPU1 updated to revision 0x28, date = 2012-04-24
[   32.258853] microcode: CPU2 sig=0x206a7, pf=0x10, revision=0x1b
[   32.259290] microcode: CPU2 updated to revision 0x28, date = 2012-04-24
[   32.260098] microcode: CPU3 sig=0x206a7, pf=0x10, revision=0x1b
[   32.260459] microcode: CPU3 updated to revision 0x28, date = 2012-04-24
[   32.260465] perf_event_intel: PEBS enabled due to microcode update
[   35.915423] coretemp coretemp.0: TjMax is 100 degrees C
[   35.918242] smpboot: CPU 1 is now offline
[   36.017530] smpboot: CPU 3 is now offline
[cut]

# cat /proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 42
model name      : Intel(R) Core(TM) i7-2640M CPU @ 2.80GHz
stepping        : 7
microcode       : 0x28
cpu MHz         : 3472.000
cache size      : 4096 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm 
constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc 
aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 
cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave 
avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority 
ept vpid
bogomips        : 5587.28
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 2
vendor_id       : GenuineIntel
cpu family      : 6
model           : 42
model name      : Intel(R) Core(TM) i7-2640M CPU @ 2.80GHz
stepping        : 7
microcode       : 0x28
cpu MHz         : 3472.000
cache size      : 4096 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
apicid          : 1
initial apicid  : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm 
constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc 
aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 
cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave 
avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority 
ept vpid
bogomips        : 5587.28
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

# uname -a
Linux vostro 3.10.4-default-pciehp #13 SMP Fri Aug 9 00:21:00 MEST 2013 x86_64 
Intel(R) Core(TM) i7-2640M CPU @ 2.80GHz GenuineIntel GNU/Linux
#

# ls -lt /dev/cpu/*/msr 
crw------- 1 root root 202, 0 Aug  9  2013 /dev/cpu/0/msr
crw------- 1 root root 202, 2 Aug  9  2013 /dev/cpu/2/msr
#

# rdmsr 0x19c
8821028a
# rdmsr 0x1a2
640e00
# rdmsr 0x38d
333
# rdmsr 778
19e7f00a178
# rdmsr 779
15980ed0014
# rdmsr 1020
137899eba8
# rdmsr 1021
2848e8320
# 

Original issue reported on code.google.com by mmokr...@gmail.com on 8 Aug 2013 at 11:03

GoogleCodeExporter commented 8 years ago
hi

thanks for the bug report. sorry for a late reply.

could you let me know a few more details. of the four cores, which ones are on 
and which are off. and i am guessing that the core states are being set before 
the application is run, right?

yeh i need to fix that core offlining message. the message is about what will 
happen to the tool if any cores are offlined when the application is running; 
the gui version will crash, the console version will not.

Original comment by abhirana on 25 Aug 2013 at 6:54

GoogleCodeExporter commented 8 years ago
When I do this, i7z does not work in console mode (does in GUI as I said), also 
does not work when just one physical core is enabled. (sometimes people say 
that odd-numbered cores are HT-cores but I think first half of cores are phys 
core and second half of cores are HT-cores):

echo 0 > /sys/devices/system/cpu/cpu1/online
echo 0 > /sys/devices/system/cpu/cpu3/online

When I do this, i7z works in console/GUI mode and claims both physical cores 
are enabled and both HT-cores are disabled:

echo 0 > /sys/devices/system/cpu/cpu2/online
echo 0 > /sys/devices/system/cpu/cpu3/online

My problem is about offlined cores already during boot, before I start i7z.

Original comment by mmokr...@gmail.com on 25 Aug 2013 at 8:16