Giter VIP home page Giter VIP logo

corefreq's People

Contributors

altmind avatar baryluk avatar cyring avatar inglor avatar jlacvdr avatar johnazoidberg avatar kamahat avatar leaty avatar lwiechec avatar paulyc avatar savetherbtz avatar vitaly-zdanevich avatar zegelin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

corefreq's Issues

Can't query IMC due to PCI exclusive access

A device id is locked by the first driver which registered it.
In its uncore.c , Kernel gets an exclusive access to most Home Agents thus CoreFreq is unable to query IMC

The following code ...

pci_register_driver(&CoreFreqK_pci_driver);

... will be changed in favor of :

struct pci_dev *dev = pci_get_device(PCI_VENDOR_ID_XXXXX, did, next);

The PCI query will happen after Processor signature have been detected to avoid collision.

Issue with turning off CPU

I noticed that when putting a specific cpu offline, (echo 0 >/sys/devices/system/cpu/cpu1) The client stop refreshing data.
Restarting daemon and cli doesn't bring back normal operation.

This has to do with the kernel module which seems to stop providing data when the cpu is put offline.

Worst even, is that when i tryed to rmmod the corefreq kernel module, i had a full system freeze which forces me to physically switch off, switch on the computer to restart the OS.

Vcore formula (SNB) wrong

Vcore for Intel SandyBridge and superior architectures is wrong.

Will adopt the specifications:
VID × 1/(2^13)

Building issue

Software looks great. However I'm unable to build it. Getting the following messages under make:

[elx@elsxpc CoreFreq]$ make cc -c corefreqd.c -o corefreqd.o cc -lpthread -lrt -o corefreqd corefreqd.c cc -c corefreq-cli.c -o corefreq-cli.o cc -lm -lrt -o corefreq-cli corefreq-cli.c make -C /lib/modules/4.4.39-1-MANJARO/build M=/home/elx/CoreFreq modules make[1]: Entering directory '/usr/lib/modules/4.4.39-1-MANJARO/build' make[1]: *** No rule to make target 'modules'. Stop. make[1]: Leaving directory '/usr/lib/modules/4.4.39-1-MANJARO/build' make: *** [Makefile:6: all] Error 2
What does this mean? Apologies I'm new to this.

client coredumping a lot

-rw-r-----+ 1 root root 46225 22 avril 16:02 core.corefreq-cli.1000.e9f5528312614f4a889ff9e36bfd86c9.30313.1492869733000000000000.lz4
-rw-r-----+ 1 root root 45999 22 avril 16:03 core.corefreq-cli.1000.e9f5528312614f4a889ff9e36bfd86c9.30367.1492869798000000000000.lz4
-rw-r-----+ 1 root root 53244 22 avril 16:10 core.corefreq-cli.1000.e9f5528312614f4a889ff9e36bfd86c9.31486.1492870200000000000000.lz4
-rw-r-----+ 1 root root 47032 22 avril 16:11 core.corefreq-cli.1000.e9f5528312614f4a889ff9e36bfd86c9.31570.1492870286000000000000.lz4
-rw-r-----+ 1 root root 46208 22 avril 16:11 core.corefreq-cli.1000.e9f5528312614f4a889ff9e36bfd86c9.31746.1492870293000000000000.lz4
-rw-r-----+ 1 root root 46236 22 avril 16:11 core.corefreq-cli.1000.e9f5528312614f4a889ff9e36bfd86c9.31763.1492870301000000000000.lz4
-rw-r-----+ 1 root root 44063 22 avril 16:11 core.corefreq-cli.1000.e9f5528312614f4a889ff9e36bfd86c9.31789.1492870304000000000000.lz4
-rw-r-----+ 1 root root 46158 22 avril 16:11 core.corefreq-cli.1000.e9f5528312614f4a889ff9e36bfd86c9.31807.1492870308000000000000.lz4
-rw-r-----+ 1 root root 46200 22 avril 16:11 core.corefreq-cli.1000.e9f5528312614f4a889ff9e36bfd86c9.31826.1492870315000000000000.lz4

[plonky@netmonk CoreFreq]$ coredumpctl gdb corefreq-cli
PID: 31826 (corefreq-cli)
UID: 1000 (plonky)
GID: 100 (users)
Signal: 11 (SEGV)
Timestamp: Sat 2017-04-22 16:11:55 CEST (2min 9s ago)
Command Line: ./corefreq-cli
Executable: /home/plonky/work/CoreFreq/corefreq-cli
Control Group: /user.slice/user-1000.slice/session-c1.scope
Unit: session-c1.scope
Slice: user-1000.slice
Session: c1
Owner UID: 1000 (plonky)
Boot ID: e9f5528312614f4a889ff9e36bfd86c9
Machine ID: b6b4ab29a58b486a803dfb751f2caca6
Hostname: netmonk
Storage: /var/lib/systemd/coredump/core.corefreq-cli.1000.e9f5528312614f4a889ff9e36bfd86c9.31826.1492870315000000000000.lz4
Message: Process 31826 (corefreq-cli) of user 1000 dumped core.

            Stack trace of thread 31826:
            #0  0x00007f8ca286aeb3 __memcpy_sse2_unaligned_erms (libc.so.6)
            #1  0x000000000040ac3e Top (corefreq-cli)
            #2  0x000000000042530a main (corefreq-cli)
            #3  0x00007f8ca2807291 __libc_start_main (libc.so.6)
            #4  0x0000000000400eea _start (corefreq-cli)

Clock frequency estimation

The estimated base clock (FSB) is not constant. After 10 loops, there are variances between measures of the TSC counter. Gap is arround 3 digits after period.
Any help for a better algorithm is appreciated.

TjMax not present in Core2

Apparently MSR_TEMPERATURE_TARGET (1A2H) is only available for Silvermont, Nehalem, Sandy Bridge and superior Microarchitectures.

A quick workaround for Core2 is programmed as bellow:

#define Core_Thermal(Core)                              \
({                                                      \
        RDMSR(Core->TjMax, MSR_IA32_TEMPERATURE_TARGET);\
        if(!Core->TjMax.Target)                         \
                Core->TjMax.Target=100;                 \
})

Intel i5-6300u bad cpu/thread count

Hi,

I have an intel i5-6300u cpu: ark.intel.com

corefreq badly detect the number of cpu and threads counting 4/8.

CoreFreq git:master > ./corefreq-cli -s                                                                                 ✭
Processor                             [Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz]
|- Vendor ID                                                      [GenuineIntel]
|- Signature                                                             [06_4E]
|- Stepping                                                                [  3]
|- Architecture                                                     [Skylake/UY]
|- Online CPU                                                              [4/8]
|- Base Clock                                                              [ 99]
|- Ratio Boost:                                                                 
|                      Min Max  8C  7C  6C  5C  4C  3C  2C  1C                  
|                        4  25   -   -   -   -  29  29  29  30                  
Instruction set:                                                                
|- 3DNow!/Ext [N,N]           AES [Y]      AVX/AVX2 [Y/Y]        BMI1/BMI2 [Y/Y]
|- CLFSH        [Y]          CMOV [Y]       CMPXCH8   [Y]         CMPXCH16   [Y]
|- F16C         [Y]           FPU [Y]          FXSR   [Y]        LAHF/SAHF   [Y]
|- MMX/Ext    [Y/N]       MONITOR [Y]         MOVBE   [Y]         PCLMULDQ   [Y]
|- POPCNT       [Y]        RDRAND [Y]        RDTSCP   [Y]              SEP   [Y]
|- SSE          [Y]          SSE2 [Y]          SSE3   [Y]            SSSE3   [Y]
|- SSE4.1/4A  [Y/N]        SSE4.2 [Y]       SYSCALL   [Y]                       
                                                                                
Features:                                                                       
|- 1 GB Pages Support                                      1GB-PAGES   [Present]
|- 100 MHz multiplier Control                            100MHzSteps   [Missing]
|- Advanced Configuration & Power Interface                     ACPI   [Present]
|- Advanced Programmable Interrupt Controller                   APIC   [Present]
|- Core Multi-Processing                                  CMP Legacy   [Missing]
|- L1 Data Cache Context ID                                  CNXT-ID   [Missing]
|- Direct Cache Access                                           DCA   [Missing]
|- Debugging Extension                                            DE   [Present]
|- Debug Store & Precise Event Based Sampling               DS, PEBS   [Present]
|- CPL Qualified Debug Store                                  DS-CPL   [Present]
|- 64-Bit Debug Store                                         DTES64   [Present]
|- Fast-String Operation                                Fast-Strings   [Present]
|- Fused Multiply Add                                       FMA|FMA4   [Present]
|- Hardware Lock Elision                                         HLE   [Present]
|- Long Mode 64 bits                                         IA64|LM   [Present]
|- LightWeight Profiling                                         LWP   [Missing]
|- Machine-Check Architecture                                    MCA   [Present]
|- Model Specific Registers                                      MSR   [Present]
|- Memory Type Range Registers                                  MTRR   [Present]
|- OS-Enabled Ext. State Management                          OSXSAVE   [Present]
|- Physical Address Extension                                    PAE   [Present]
|- Page Attribute Table                                          PAT   [Present]
|- Pending Break Enable                                          PBE   [Present]
|- Process Context Identifiers                                  PCID   [Present]
|- Perfmon and Debug Capability                                 PDCM   [Present]
|- Page Global Enable                                            PGE   [Present]
|- Page Size Extension                                           PSE   [Present]
|- 36-bit Page Size Extension                                  PSE36   [Present]
|- Processor Serial Number                                       PSN   [Missing]
|- Restricted Transactional Memory                               RTM   [Present]
|- Safer Mode Extensions                                         SMX   [Present]
|- Self-Snoop                                                     SS   [Present]
|- Time Stamp Counter                                            TSC [Invariant]
|- Time Stamp Counter Deadline                          TSC-DEADLINE   [Present]
|- Virtual Mode Extension                                        VME   [Present]
|- Virtual Machine Extensions                                    VMX   [Present]
|- Extended xAPIC Support                                     x2APIC   [  xAPIC]
|- Execution Disable Bit Support                              XD-Bit   [Present]
|- XSAVE/XSTOR States                                          XSAVE   [Present]
|- xTPR Update Control                                          xTPR   [Present]
                                                                                
Technologies:                                                                   
|- Hyper-Threading                                               HTT       [ ON]
|- SpeedStep                                                    EIST       [ ON]
|- PowerNow!                                                PowerNow       [OFF]
|- Dynamic Acceleration                                          IDA       [ ON]
|- Turbo Boost                                             TURBO|CPB       [ ON]
                                                                                
Performance Monitoring:                                                         
|- Version                                                        PM       [  4]
|- Counters:          General                   Fixed                           
|                     4 x 48 bits             3 x 48 bits                       
|- Enhanced Halt State                                           C1E       [ ON]
|- C1 Auto Demotion                                              C1A       [ ON]
|- C3 Auto Demotion                                              C3A       [ ON]
|- C1 UnDemotion                                                 C1U       [ ON]
|- C3 UnDemotion                                                 C3U       [ ON]
|- Frequency ID control                                          FID       [OFF]
|- Voltage ID control                                            VID       [OFF]
|- P-State Hardware Coordination Feedback                MPERF/APERF       [ ON]
|- Hardware-Controlled Performance States                        HWP       [ ON]
|- Hardware Duty Cycling                                         HDC       [ ON]
|- MWAIT States:      C0      C1      C2      C3      C4                        
|                      0       2       1       2       4                        
|- Core Cycles                                                         [Present]
|- Instructions Retired                                                [Present]
|- Reference Cycles                                                    [Present]
|- Last Level Cache References                                         [Present]
|- Last Level Cache Misses                                             [Present]
|- Branch Instructions Retired                                         [Present]
|- Branch Mispredicts Retired                                          [Present]
                                                                                
Power & Thermal Monitoring:                                                     
|- Digital Thermal Sensor                                        DTS   [Present]
|- Power Limit Notification                                      PLN   [Present]
|- Package Thermal Management                                    PTM   [Present]
|- Thermal Monitor 1                                         TM1|TTP   [ Enable]
|- Thermal Monitor 2                                         TM2|HTC   [Present]
|- Clock Modulation                                             ODCM   [ 12.50%]
|- Energy Policy                                           Bias Hint   [      6]

If this can help fixing the cpu database of the software.

Thanks

Centos 7 , corefreq-cli segmentation fault

  • kernel - elrepo ml 4.8.7
  • glibc version 2.17-157 rpm

Valgrind output:

=29746== Invalid write of size 8
==29746==    at 0x4C2DEF7: memset (vg_replace_strmem.c:1224)
==29746==    by 0x409EBC: Top (corefreq-cli.c:4410)
==29746==    by 0x423A18: main (corefreq-cli.c:4958)
==29746==  Address 0x5938c60 is 0 bytes after a block of size 9,504 alloc'd
==29746==    at 0x4C29975: calloc (vg_replace_malloc.c:711)
==29746==    by 0x406E4D: CreateLayer (corefreq-cli.c:1738)
==29746==    by 0x4166C6: AllocAll.7656 (corefreq-cli.c:3111)
==29746==    by 0x4098D5: Top (corefreq-cli.c:4345)
==29746==    by 0x423A18: main (corefreq-cli.c:4958)
==29746==

valgrind: m_mallocfree.c:303 (get_bszB_as_is): Assertion 'bszB_lo == bszB_hi' failed.
valgrind: Heap block lo/hi size mismatch: lo = 9568, hi = 9259542123273814144.
This is probably caused by your program erroneously writing past the
end of a heap block and corrupting heap metadata.  If you fix any
invalid writes reported by Memcheck, this assertion failure will
probably go away.  Please try that before reporting this as a bug.


host stacktrace:
==29746==    at 0x3803D208: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux)
==29746==    by 0x3803D334: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux)
==29746==    by 0x3803D4C1: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux)
==29746==    by 0x3804ADA3: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux)
==29746==    by 0x38036A6B: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux)
==29746==    by 0x380352E3: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux)
==29746==    by 0x380394AB: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux)
==29746==    by 0x38034917: ??? (in /usr/lib64/valgrind/memcheck-amd64-linux)
==29746==    by 0x802D7F2A9: ???
==29746==    by 0x802CA9F2F: ???

sched status:
  running_tid=1

Thread 1: status = VgTs_Runnable (lwpid 29746)
==29746==    at 0x4C2DF10: memset (vg_replace_strmem.c:1224)
==29746==    by 0x409EBC: Top (corefreq-cli.c:4410)
==29746==    by 0x423A18: main (corefreq-cli.c:4958)

Paging bug

Below is a bug about "paging"

Intro.
Second times I read it and the answer remains in Chapter 15. Memory Mapping and DMA
DMA @ http://www.makelinux.net/ldd3/chp-15

How did I manage to make it work with remap_vmalloc_range() ?
I don't remember, perhaps in kernel source code.
But I mostly sure that remap_vmalloc_range() requires additional treatment to handle several & consecutive pages.

I will also try the remap_pfn_range() way

Recently I was thinking if I could dedicate one memory page per cpu , whatever the page address & allocation kind are.
I mean : a page-cpu-cache L1 affinity running in a dedicated kthread.
Why ? Because each cpu has its own set of msr counters registers. This algorithm should not meet a race condition.

--- BUG BEGIN ---
juil. 01 07:56:39 RAM kernel: BUG: unable to handle kernel paging request at 0000000001c000eb
juil. 01 07:56:39 RAM kernel: IP: [] IntelFreq_init+0x185/0x1000 [intelfreq]
juil. 01 07:56:39 RAM kernel: PGD 2f79b9067 PUD 2f79ba067 PMD 0 
juil. 01 07:56:39 RAM kernel: Oops: 0002 [#1] PREEMPT SMP 
juil. 01 07:56:39 RAM kernel: Modules linked in: intelfreq(O+) cfg80211 rfkill snd_hda_codec_hdmi snd_hda_codec_analog snd_hda_codec_generic mousedev nvidia(PO) snd_hda_intel snd_hda_controller iTCO_wdt evdev iTCO_vendor_support mac_hid mxm_wmi snd_hda_codec snd_hwdep snd_pcm snd_timer snd psmouse r8169 soundcore se
juil. 01 07:56:39 RAM kernel:  usbcore usb_common i8042 serio
juil. 01 07:56:39 RAM kernel: CPU: 6 PID: 1817 Comm: insmod Tainted: P          IO    4.0.6-1-ARCH #1
juil. 01 07:56:39 RAM kernel: Hardware name: System manufacturer System Product Name/Rampage II GENE, BIOS 1701    09/19/2011
juil. 01 07:56:39 RAM kernel: task: ffff88031512bcc0 ti: ffff8802f20f8000 task.ti: ffff8802f20f8000
juil. 01 07:56:39 RAM kernel: RIP: 0010:[]  [] IntelFreq_init+0x185/0x1000 [intelfreq]
juil. 01 07:56:39 RAM kernel: RSP: 0018:ffff8802f20fbbe8  EFLAGS: 00010246
juil. 01 07:56:39 RAM kernel: RAX: 0000000000000008 RBX: 0000000001c0003f RCX: 000000000000003f
juil. 01 07:56:39 RAM kernel: RDX: 0000000000000000 RSI: ffff8802f20fbbe8 RDI: ffffffff818c7f70
juil. 01 07:56:39 RAM kernel: RBP: ffff8802f20fbca8 R08: ffffffff818c7f90 R09: ffffea000c9ce800
juil. 01 07:56:39 RAM kernel: R10: ffffffff812c3640 R11: 0000000000000000 R12: ffff8802f8835e00
juil. 01 07:56:39 RAM kernel: R13: 0000000000000000 R14: ffffffffa000c000 R15: 0000000000000001
juil. 01 07:56:39 RAM kernel: FS:  00007f4176686700(0000) GS:ffff88033fcc0000(0000) knlGS:0000000000000000
juil. 01 07:56:39 RAM kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
juil. 01 07:56:39 RAM kernel: CR2: 0000000001c000eb CR3: 00000002f8957000 CR4: 00000000000007e0
juil. 01 07:56:39 RAM kernel: Stack:
juil. 01 07:56:39 RAM kernel:  49656e69756e6547 000000006c65746e 05100800000106a4 bfebfbff0098e3bd
juil. 01 07:56:39 RAM kernel:  0000004000000040 0000112000000003 0000000200000003 0000000000000001
juil. 01 07:56:39 RAM kernel:  0000004007300403 0000060300000000 0000000000000000 0000000000000000
juil. 01 07:56:39 RAM kernel: Call Trace:
juil. 01 07:56:39 RAM kernel:  [] ? 0xffffffffa000c000
juil. 01 07:56:39 RAM kernel:  [] do_one_initcall+0xb8/0x200
juil. 01 07:56:39 RAM kernel:  [] do_init_module+0x60/0x1cb
juil. 01 07:56:39 RAM kernel:  [] load_module+0x216a/0x27c0
juil. 01 07:56:39 RAM kernel:  [] ? store_uevent+0x70/0x70
juil. 01 07:56:39 RAM kernel:  [] SyS_finit_module+0xbe/0xf0
juil. 01 07:56:39 RAM kernel:  [] system_call_fastpath+0x12/0x17
juil. 01 07:56:39 RAM kernel: Code: 48 31 c9 0f a2 48 c1 e8 1a 48 83 e0 3f 48 83 c0 01 ba 01 00 00 00 85 c0 4c 8b 05 6f 1e 60 e1 48 8b 3d 58 1e 60 e1 0f 44 c2 31 d2 <89> 83 ac 00 00 00 48 8b 35 ce 11 3f 00 3b 96 ac 00 00 00 73 62 
juil. 01 07:56:39 RAM kernel: RIP  [] IntelFreq_init+0x185/0x1000 [intelfreq]
juil. 01 07:56:39 RAM kernel:  RSP
juil. 01 07:56:39 RAM kernel: CR2: 0000000001c000eb
juil. 01 07:56:39 RAM kernel: ---[ end trace e2aa353375bb4913 ]-

On Gentoo with specific flag it aborted and by default menu is not showing

One,

I need to press q to get the top menu.

Second,

While running with -s flag , it aborted like below

`
bhaskar@GentooLinux_21:33:10_Thu Feb 09:~/git-linux/CoreFreq>./corefreq-cli -s
Processor [Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz]
|- Vendor ID [GenuineIntel]
|- Signature [06_3D]
|- Stepping [ 4]
|- Architecture [Broadwell/Mobile]
|- Online CPU [4/8]
|- Base Clock [ 99]
|- Ratio Boost:
| Min Max 8C 7C 6C 5C 4C 3C 2C 1C
| 5 22 - - 25 25 25 25 25 27
Instruction set:
|- 3DNow!/Ext [N,N] AES [Y] AVX/AVX2 [Y/Y] BMI1/BMI2 [Y/Y]
|- CLFSH [Y] CMOV [Y] CMPXCH8 [Y] CMPXCH16 [Y]
|- F16C [Y] FPU [Y] FXSR [Y] LAHF/SAHF [Y]
|- MMX/Ext [Y/N] MONITOR [Y] MOVBE [Y] PCLMULDQ [Y]
|- POPCNT [Y] RDRAND [Y] RDTSCP [Y] SEP [Y]
|- SSE [Y] SSE2 [Y] SSE3 [Y] SSSE3 [Y]
|- SSE4.1/4A [Y/N] SSE4.2 [Y] SYSCALL [Y]

Features:
|- 1 GB Pages Support 1GB-PAGES [Present]
|- 100 MHz multiplier Control 100MHzSteps [Missing]
|- Advanced Configuration & Power Interface ACPI [Present]
|- Advanced Programmable Interrupt Controller APIC [Present]
|- Core Multi-Processing CMP Legacy [Missing]
|- L1 Data Cache Context ID CNXT-ID [Missing]
|- Direct Cache Access DCA [Missing]
|- Debugging Extension DE [Present]
|- Debug Store & Precise Event Based Sampling DS, PEBS [Present]
|- CPL Qualified Debug Store DS-CPL [Present]
|- 64-Bit Debug Store DTES64 [Present]
|- Fast-String Operation Fast-Strings [Present]
|- Fused Multiply Add FMA|FMA4 [Present]
|- Hardware Lock Elision HLE [Missing]
|- Long Mode 64 bits IA64|LM [Present]
|- LightWeight Profiling LWP [Missing]
|- Machine-Check Architecture MCA [Present]
|- Model Specific Registers MSR [Present]
|- Memory Type Range Registers MTRR [Present]
|- OS-Enabled Ext. State Management OSXSAVE [Present]
|- Physical Address Extension PAE [Present]
|- Page Attribute Table PAT [Present]
|- Pending Break Enable PBE [Present]
|- Process Context Identifiers PCID [Present]
|- Perfmon and Debug Capability PDCM [Present]
|- Page Global Enable PGE [Present]
|- Page Size Extension PSE [Present]
|- 36-bit Page Size Extension PSE36 [Present]
|- Processor Serial Number PSN [Missing]
|- Restricted Transactional Memory RTM [Missing]
|- Safer Mode Extensions SMX [Missing]
|- Self-Snoop SS [Present]
|- Time Stamp Counter TSC [ Variant]
|- Time Stamp Counter Deadline TSC-DEADLINE [Present]
|- Virtual Mode Extension VME [Present]
|- Virtual Machine Extensions VMX [Present]
|- Extended xAPIC Support x2APIC [ xAPIC]
*** Error in ./corefreq-cli': free(): invalid next size (fast): 0x0000000000cfe090 *** ======= Backtrace: ========= /lib64/libc.so.6(+0x6f133)[0x7f0ce321b133] /lib64/libc.so.6(+0x74796)[0x7f0ce3220796] /lib64/libc.so.6(+0x74f9e)[0x7f0ce3220f9e] ./corefreq-cli[0x4014c0] ./corefreq-cli[0x4039f7] ./corefreq-cli[0x424238] /lib64/libc.so.6(__libc_start_main+0xf0)[0x7f0ce31cc790] ./corefreq-cli[0x401029] ======= Memory map: ======== 00400000-00428000 r-xp 00000000 fb:00 65345 /home/bhaskar/git-linux/CoreFreq/corefreq-cli 00627000-00628000 r-xp 00027000 fb:00 65345 /home/bhaskar/git-linux/CoreFreq/corefreq-cli 00628000-00629000 rwxp 00028000 fb:00 65345 /home/bhaskar/git-linux/CoreFreq/corefreq-cli 00cfe000-00d1f000 rwxp 00000000 00:00 0 [heap] 7f0cdc000000-7f0cdc021000 rwxp 00000000 00:00 0 7f0cdc021000-7f0ce0000000 ---p 00000000 00:00 0 7f0ce2b76000-7f0ce2b8c000 r-xp 00000000 08:07 21666003 /usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.4/libgcc_s.so.1 7f0ce2b8c000-7f0ce2d8b000 ---p 00016000 08:07 21666003 /usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.4/libgcc_s.so.1 7f0ce2d8b000-7f0ce2d8c000 r-xp 00015000 08:07 21666003 /usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.4/libgcc_s.so.1 7f0ce2d8c000-7f0ce2d8d000 rwxp 00016000 08:07 21666003 /usr/lib64/gcc/x86_64-pc-linux-gnu/4.9.4/libgcc_s.so.1 7f0ce2d8d000-7f0ce2f90000 rw-s 00000000 00:17 80559 /dev/shm/corefreq-shm 7f0ce2f90000-7f0ce2fa7000 r-xp 00000000 08:07 54505121 /lib64/libpthread-2.23.so 7f0ce2fa7000-7f0ce31a6000 ---p 00017000 08:07 54505121 /lib64/libpthread-2.23.so 7f0ce31a6000-7f0ce31a7000 r-xp 00016000 08:07 54505121 /lib64/libpthread-2.23.so 7f0ce31a7000-7f0ce31a8000 rwxp 00017000 08:07 54505121 /lib64/libpthread-2.23.so 7f0ce31a8000-7f0ce31ac000 rwxp 00000000 00:00 0 7f0ce31ac000-7f0ce333c000 r-xp 00000000 08:07 54505142 /lib64/libc-2.23.so 7f0ce333c000-7f0ce353b000 ---p 00190000 08:07 54505142 /lib64/libc-2.23.so 7f0ce353b000-7f0ce353f000 r-xp 0018f000 08:07 54505142 /lib64/libc-2.23.so 7f0ce353f000-7f0ce3541000 rwxp 00193000 08:07 54505142 /lib64/libc-2.23.so 7f0ce3541000-7f0ce3545000 rwxp 00000000 00:00 0 7f0ce3545000-7f0ce354b000 r-xp 00000000 08:07 54505120 /lib64/librt-2.23.so 7f0ce354b000-7f0ce374b000 ---p 00006000 08:07 54505120 /lib64/librt-2.23.so 7f0ce374b000-7f0ce374c000 r-xp 00006000 08:07 54505120 /lib64/librt-2.23.so 7f0ce374c000-7f0ce374d000 rwxp 00007000 08:07 54505120 /lib64/librt-2.23.so 7f0ce374d000-7f0ce3851000 r-xp 00000000 08:07 54505111 /lib64/libm-2.23.so 7f0ce3851000-7f0ce3a50000 ---p 00104000 08:07 54505111 /lib64/libm-2.23.so 7f0ce3a50000-7f0ce3a51000 r-xp 00103000 08:07 54505111 /lib64/libm-2.23.so 7f0ce3a51000-7f0ce3a52000 rwxp 00104000 08:07 54505111 /lib64/libm-2.23.so 7f0ce3a52000-7f0ce3a75000 r-xp 00000000 08:07 54459364 /lib64/ld-2.23.so 7f0ce3c54000-7f0ce3c58000 rwxp 00000000 00:00 0 7f0ce3c73000-7f0ce3c75000 rwxp 00000000 00:00 0 7f0ce3c75000-7f0ce3c76000 r-xp 00023000 08:07 54459364 /lib64/ld-2.23.so 7f0ce3c76000-7f0ce3c77000 rwxp 00024000 08:07 54459364 /lib64/ld-2.23.so 7f0ce3c77000-7f0ce3c78000 rwxp 00000000 00:00 0 7ffe754b9000-7ffe754da000 rwxp 00000000 00:00 0 [stack] 7ffe75503000-7ffe75505000 r--p 00000000 00:00 0 [vvar] 7ffe75505000-7ffe75507000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] Aborted

Processor crash due to code regression

Last commit has changed the Experimental driver argument non longer checked when querying PCI. Code is OK with Nehalem class processors.
However other architectures may involve the same function, such as QPI, where PCI registers are differently configured.

A white list with the successful architectures tests will be implemented to limit access to PCI

Wrong Clock & Topology computed with Core2 CPU T5500

               IntelFreq [Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz]
               Signature [06_0F] Architecture [Core2/Conroe]
               2/2 CPU Online , Clock @ {1/12723190} MHz
               Ratio={6,10,0,0,0,0,0,0,0,10}
               Topology(0) Apic[  0] Core[ -1] Thread[ -1]
               Topology(1) Apic[  0] Core[ -1] Thread[ -1]

Early query of the [in]variant TSC bit

edx register returns zero from the early cpuid 0x80000007 call.
TSC bit is thus marked as variant.
However, the cpuid table filled later will dump edx = 0x100

It would be great to see the uncore clocks

Much of this tool shows is already included in the turbostat tool included in most distributions (but the UI is much nicer!) - but showing the uncore clock(s) would be something awesome and new.

Reading VID (vcore)

Thank you for this useful project.
I would like to ask you if there is a possibility to read the core voltage (vcore) using coreFreq?
If it is currently not available feature. Do you know how can one do it ?

QEMU: no factory frequency

For example, using qemu-system-x86_64 -cpu SandyBridge , the cpuid brand of this Intel virtualized processor does not contain the factory frequency in Hz : Intel Xeon E312xx (Sandy Bridge)
This appears not compliant with the SDM in which a pseudo code explains how to extract the frequency.

The following function is impacted:

unsigned int Intel_Brand(char *pBrand)

However, such case has been programmed for AMD processors and can be reused; the driver checks if the function results in zero Hz then estimates the factory frequency with:

  • BCLK multiplied by Max_Non_Turbo_Ratio

i have same problem too

hi i have same problem too what should i do?

[root@s129644 CoreFreq]# make
make -C /lib/modules/3.10.0-693.21.1.el7.x86_64/build M=/root/CoreFreq modules
make: *** /lib/modules/3.10.0-693.21.1.el7.x86_64/build: No such file or directory. Stop.
make: *** [all] Error 2
[root@s129644 CoreFreq]#

Check unused code

void DynamicAcceleration(void)
{
	if (Proc->Features.Info.LargestStdFunc >= 0x6) {
		struct THERMAL_POWER_LEAF Power = {{0}};
		asm volatile
		(
			"movq	$0x6,  %%rax	\n\t"
			"xorq	%%rbx, %%rbx	\n\t"
			"xorq	%%rcx, %%rcx	\n\t"
			"xorq	%%rdx, %%rdx	\n\t"
			"cpuid			\n\t"
			"mov	%%eax, %0	\n\t"
			"mov	%%ebx, %1	\n\t"
			"mov	%%ecx, %2	\n\t"
			"mov	%%edx, %3"
			: "=r" (Power.AX),
			  "=r" (Power.BX),
			  "=r" (Power.CX),
			  "=r" (Power.DX)
			:
			: "%rax", "%rbx", "%rcx", "%rdx"
		);
	}
}

Intel Xeon Processor 7500, E7 Family based on microarchitecture Westmere

These processors of architecture Westmere have a CPUID signature with DisplayFamily_DisplayModel equal to 06_2EH , 06_2FH

MSR_TURBO_RATIO_LIMIT (1ADH) : Attempt to read/write will cause #UD.

Don't run CoreFreq with these processors : it requires a new algorithm to enumerate ratios.

More information in tables § 35.6.2 and § 35-17 from the Intel® 64 and IA-32 Architectures Software Developer’s Manual Vol. 3C

Q: How to query Turbo ratios ?

CLI segfaults on AMD EPYC when stressing system

Hello Cyril,

When testing on an AMD 7551 EPYC 2x32 / Signature 8F_01, frequency monitoring is crashing when one of the CPU is under stress and monitoring frequency/cycles/cstate.... Works correctly under dashboard, and shows value of ~2492.

Processor Window shows:

  • Arch: 17h
  • base clock: 0.83
  • Frequency max: 1996.26MHz / 2400 ratio
  • Factory: 2400000 MHz / 2400 Ratio
  • 1C TurboBoost: 2079.44 / 2500 Ratio
  • 2C TurboBoost: 1996.26 / 2400 Ratio

Segfault comes from memcpy, from define "LayerFillAt()" called by Draw_Load:4625.
When commenting this LayerFillAt and adding stress, the bar goes beyond the end of line, thus back to newline, and displays freq of 2500 & Turbo 124%.

Seems because the max value of turbo is the 2400 advertised instead of the 2500 really used.

Any idea ?

Core 2 Duo T7xxx : UI memory fault

Issue:
With Core 2 Duo T7xxx processors UCC URC TSC msr counters have unexpected values when IDA is engaged.
This results in unknown ratios computation and those ratios are used to index arrays in the UI, thus addresses are read & write out of the buffer limits.

kmalloc : requested size exceeds limits

if ((Proc->SysGate = kmalloc(pageSize, GFP_KERNEL)) != NULL) {

With an order of 4 MB, the allocation may fail and the SysGate map in the daemon consequently.

To avoid errors in kernel, start the daemon without the SysGate

corefreqd -goff

As a result, UI features, such as tasks monitoring, memory usage, kernel data (idle driver, governor), won't be displayed.

SysGate algorithm has to be improved.

error: ‘MSR_NHM_TURBO_RATIO_LIMIT’ undeclared

Trying to install from Arch AUR and I get the build error:

aur-corefreq-git/src/CoreFreq/corefreqk.c:824:15: error: ‘MSR_NHM_TURBO_RATIO_LIMIT’ undeclared (first use in this function)
  RDMSR(Turbo, MSR_NHM_TURBO_RATIO_LIMIT);
               ^
==> Starting build()...
make: Entering directory 'aur-corefreq-git/src/CoreFreq'
cc -c corefreqd.c -o corefreqd.o
cc -lpthread -lrt -o corefreqd corefreqd.c
cc -c corefreq-cli.c -o corefreq-cli.o
cc -lrt -o corefreq-cli corefreq-cli.c
make -C /lib/modules/4.8.2-1-ARCH/build M=aur-corefreq-git/src/CoreFreq modules
make[1]: Entering directory '/usr/lib/modules/4.8.2-1-ARCH/build'
  CC [M]  aur-corefreq-git/src/CoreFreq/corefreqk.o
In file included from aur-corefreq-git/src/CoreFreq/corefreqk.c:23:0:
aur-corefreq-git/src/CoreFreq/corefreqk.c: In function ‘Nehalem_Platform_Info’:
aur-corefreq-git/src/CoreFreq/corefreqk.c:824:15: error: ‘MSR_NHM_TURBO_RATIO_LIMIT’ undeclared (first use in this function)
  RDMSR(Turbo, MSR_NHM_TURBO_RATIO_LIMIT);
               ^
aur-corefreq-git/src/CoreFreq/corefreqk.h:51:10: note: in definition of macro ‘RDMSR’
   : "c" (_reg)      \
          ^~~~
aur-corefreq-git/src/CoreFreq/corefreqk.c:824:15: note: each undeclared identifier is reported only once for each function it appears in
  RDMSR(Turbo, MSR_NHM_TURBO_RATIO_LIMIT);
               ^
aur-corefreq-git/src/CoreFreq/corefreqk.h:51:10: note: in definition of macro ‘RDMSR’
   : "c" (_reg)      \
          ^~~~
make[2]: *** [scripts/Makefile.build:296: aur-corefreq-git/src/CoreFreq/corefreqk.o] Error 1
make[1]: *** [Makefile:1471: _module_aur-corefreq-git/src/CoreFreq] Error 2
make[1]: Leaving directory '/usr/lib/modules/4.8.2-1-ARCH/build'
make: *** [Makefile:6: all] Error 2
make: Leaving directory 'aur-corefreq-git/src/CoreFreq'
==> ERROR: A failure occurred in build().
    Aborting...
==> ERROR: Makepkg was unable to build corefreq-git.

cat /proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 60
model name      : Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
stepping        : 3
microcode       : 0x19
cpu MHz         : 3902.343
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 0
cpu cores       : 4
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 pdpe1gb 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 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm xsaveopt dtherm ida arat pln pts
bugs            :
bogomips        : 7198.35
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

<snip for other 7 cores>

cannot compile with gcc 4.8.5

Hi, I am trying to build CoreFreq but I am getting this:

⏚ [luke:~/fun/CoreFreq]↥ master ± make
cc -Wall -pthread -c corefreqd.c -o corefreqd.o
cc corefreqd.c -o corefreqd -lpthread -lrt
cc -Wall -c corefreq-cli.c -o corefreq-cli.o
cc corefreq-cli.c -o corefreq-cli -lm -lrt
make -C /lib/modules/4.4.8-040408-generic/build M=/home/luke/fun/CoreFreq modules
make[1]: Entering directory `/usr/src/linux-headers-4.4.8-040408-generic'
Makefile:660: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler
  CC [M]  /home/luke/fun/CoreFreq/corefreqk.o
gcc: error: unrecognized command line option ‘-fstack-protector-strong’
make[2]: *** [/home/luke/fun/CoreFreq/corefreqk.o] Error 1
make[1]: *** [_module_/home/luke/fun/CoreFreq] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-4.4.8-040408-generic'
make: *** [all] Error 2

The full version of gcc is:

gcc (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc

Do I need to upgrade my gcc ?...

Software incompatibility

CoreFreq is incompatible with the below softwares.
(due to processor registers conflicts)

  • numatop

  • nmi_watchdog

  1. watchdog_hld.c:
    int watchdog_nmi_enable(unsigned int cpu)
  • pmu_intel
  1. pmu_intel.c:
    static void reprogram_fixed_counters(struct kvm_pmu *pmu, u64 data)

  2. core.c:
    static void intel_pmu_nhm_workaround(void)

  3. qemu-system-x86_64
    when running qemu with argument -cpu , QEMU takes the leadership on the PMC counters;
    some MSR registers are not implemented thus ratios are unavailable.

CoreFreq does not run well with the followings:

  • Kernel Crash Dump
  1. Using kernel 3.10 , issues with kmem_cache_alloc() and kmem_cache_destroy() functions

compile warning and induce losing efficancy "pci.h:1206:2: warning: ignoring return value of ‘__pci_register_driver’"

compile warning

cc -Wall -pthread -c corefreqd.c -o corefreqd.o
cc corefreqd.c -o corefreqd -lpthread -lrt
cc -Wall -c corefreq-cli.c -o corefreq-cli.o
cc corefreq-cli.c -o corefreq-cli -lm -lrt
make -C /lib/modules/4.9.10-200.fc25.x86_64/build M=/home/lixun/rpm/CoreFreq modules
make[1]: Entering directory '/usr/src/kernels/4.9.10-200.fc25.x86_64'
  CC [M]  /home/lixun/rpm/CoreFreq/corefreqk.o
In file included from /home/lixun/rpm/CoreFreq/corefreqk.c:9:0:
/home/lixun/rpm/CoreFreq/corefreqk.c: In function ‘CoreFreqK_init’:
./include/linux/pci.h:1206:2: warning: ignoring return value of ‘__pci_register_driver’, declared with attribute warn_unused_result [-Wunused-result]
  __pci_register_driver(driver, THIS_MODULE, KBUILD_MODNAME)
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/lixun/rpm/CoreFreq/corefreqk.c:3064:5: note: in expansion of macro ‘pci_register_driver’
     pci_register_driver(&CoreFreqK_pci_driver);
     ^~~~~~~~~~~~~~~~~~~
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/lixun/rpm/CoreFreq/corefreqk.mod.o
  LD [M]  /home/lixun/rpm/CoreFreq/corefreqk.ko
make[1]: Leaving directory '/usr/src/kernels/4.9.10-200.fc25.x86_64'

error of insmod

insmod  corefreqk.ko 
insmod: ERROR: could not insert module corefreqk.ko: Required key not available

computer info

cpu info

cat /proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 61
model name      : Intel(R) Core(TM) M-5Y71 CPU @ 1.20GHz
stepping        : 4
microcode       : 0x24
cpu MHz         : 1262.512
cache size      : 4096 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 20
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 pdpe1gb 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 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt dtherm ida arat pln pts
bugs            :
bogomips        : 2793.58
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 61
model name      : Intel(R) Core(TM) M-5Y71 CPU @ 1.20GHz
stepping        : 4
microcode       : 0x24
cpu MHz         : 1200.134
cache size      : 4096 KB
physical id     : 0
siblings        : 4
core id         : 1
cpu cores       : 2
apicid          : 2
initial apicid  : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 20
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 pdpe1gb 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 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt dtherm ida arat pln pts
bugs            :
bogomips        : 2795.73
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor       : 2
vendor_id       : GenuineIntel
cpu family      : 6
model           : 61
model name      : Intel(R) Core(TM) M-5Y71 CPU @ 1.20GHz
stepping        : 4
microcode       : 0x24
cpu MHz         : 1199.963
cache size      : 4096 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 20
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 pdpe1gb 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 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt dtherm ida arat pln pts
bugs            :
bogomips        : 2796.87
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor       : 3
vendor_id       : GenuineIntel
cpu family      : 6
model           : 61
model name      : Intel(R) Core(TM) M-5Y71 CPU @ 1.20GHz
stepping        : 4
microcode       : 0x24
cpu MHz         : 1199.963
cache size      : 4096 KB
physical id     : 0
siblings        : 4
core id         : 1
cpu cores       : 2
apicid          : 3
initial apicid  : 3
fpu             : yes
fpu_exception   : yes
cpuid level     : 20
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 pdpe1gb 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 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt dtherm ida arat pln pts
bugs            :
bogomips        : 2795.84
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

linux version

uname -r
4.9.10-200.fc25.x86_64

laptop ASUS u305

Pentium N3540 power msr unsupported

N3540
Architecture for N3540 needs to be implemented.
In the function PowerThermal() , reading some of those msr are invalid.

void PowerThermal(CORE *Core, unsigned int cpu)

  • MSR_IA32_ENERGY_PERF_BIAS = 0x000001b0
  • MSR_MISC_PWR_MGMT = 0x000001aa
  • MSR_IA32_THERM_CONTROL = 0x0000019a

Garbage colors in Technology window

Between last right character and vertical border appears garbage or transparent color.

Apparently the Attributes buffer length is not long enough to cover the inside window area.

Program received signal SIGSEGV, Segmentation fault.

Crashes when pushing cpu to 100%. (compiling nodejs with make -j8)

Program received signal SIGSEGV, Segmentation fault.
#0  0x00007ffff764a99f in __memset_avx2_unaligned_erms () from /usr/lib/libc.so.6
#1  0x000000000040ab37 in Top () at corefreq-cli.c:4473
#2  0x000000000042530a in main (argc=1, argv=0x7fffffffde78) at corefreq-cli.c:5028

Detects only 16Cores/16THreads (2x xeon x5650, 12Cores/24Threads)

Hi

my setup is a dual Xeon x5650 (Westmere), this cpu have 6 physical cores (12Threads) each one

corefreqk show this in dmesg:

[102105.255176] CoreFreq: Processor [06_2C] Architecture [Westmere/EP] CPU [16/16]

and the program show

(yakuake in Plasma5)

also have a little deface in it (see the top)

greetings

Errors

Hi guys

Can you somone help mi with this ?

corefreq-cli.c:6430: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6430: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6430: warning: excess elements in union initializer
corefreq-cli.c:6430: warning: (near initialization for ‘hUncore.attr[8]’)
corefreq-cli.c:6430: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6430: warning: excess elements in union initializer
corefreq-cli.c:6430: warning: (near initialization for ‘hUncore.attr[8]’)
corefreq-cli.c:6430: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6430: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6430: warning: excess elements in union initializer
corefreq-cli.c:6430: warning: (near initialization for ‘hUncore.attr[9]’)
corefreq-cli.c:6430: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6430: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6430: warning: excess elements in union initializer
corefreq-cli.c:6430: warning: (near initialization for ‘hUncore.attr[10]’)
corefreq-cli.c:6430: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6430: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6430: warning: excess elements in union initializer
corefreq-cli.c:6430: warning: (near initialization for ‘hUncore.attr[11]’)
corefreq-cli.c:6430: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6430: warning: excess elements in union initializer
corefreq-cli.c:6430: warning: (near initialization for ‘hUncore.attr[11]’)
corefreq-cli.c: In function ‘Layout_Card_Bus’:
corefreq-cli.c:6451: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6451: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[0]’)
corefreq-cli.c:6451: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[0]’)
corefreq-cli.c:6451: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6451: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[1]’)
corefreq-cli.c:6451: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6451: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[2]’)
corefreq-cli.c:6451: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6451: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[3]’)
corefreq-cli.c:6451: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6451: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[4]’)
corefreq-cli.c:6451: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[4]’)
corefreq-cli.c:6451: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6451: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[5]’)
corefreq-cli.c:6451: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[5]’)
corefreq-cli.c:6451: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6451: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[6]’)
corefreq-cli.c:6451: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[6]’)
corefreq-cli.c:6451: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6451: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[7]’)
corefreq-cli.c:6451: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[7]’)
corefreq-cli.c:6451: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6451: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[8]’)
corefreq-cli.c:6451: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[8]’)
corefreq-cli.c:6451: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6451: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[9]’)
corefreq-cli.c:6451: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6451: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[10]’)
corefreq-cli.c:6451: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6451: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[11]’)
corefreq-cli.c:6451: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6451: warning: excess elements in union initializer
corefreq-cli.c:6451: warning: (near initialization for ‘hBus.attr[11]’)
corefreq-cli.c: In function ‘Layout_Card_MC’:
corefreq-cli.c:6491: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6491: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6491: warning: excess elements in union initializer
corefreq-cli.c:6491: warning: (near initialization for ‘hRAM.attr[0]’)
corefreq-cli.c:6491: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6491: warning: excess elements in union initializer
corefreq-cli.c:6491: warning: (near initialization for ‘hRAM.attr[0]’)
corefreq-cli.c:6491: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6491: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6491: warning: excess elements in union initializer
corefreq-cli.c:6491: warning: (near initialization for ‘hRAM.attr[1]’)
corefreq-cli.c:6491: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6491: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6491: warning: excess elements in union initializer
corefreq-cli.c:6491: warning: (near initialization for ‘hRAM.attr[2]’)
corefreq-cli.c:6491: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6491: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6491: warning: excess elements in union initializer
corefreq-cli.c:6491: warning: (near initialization for ‘hRAM.attr[3]’)
corefreq-cli.c:6491: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6491: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6491: warning: excess elements in union initializer
corefreq-cli.c:6491: warning: (near initialization for ‘hRAM.attr[4]’)
corefreq-cli.c:6491: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6491: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6491: warning: excess elements in union initializer
corefreq-cli.c:6491: warning: (near initialization for ‘hRAM.attr[5]’)
corefreq-cli.c:6491: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6491: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6491: warning: excess elements in union initializer
corefreq-cli.c:6491: warning: (near initialization for ‘hRAM.attr[6]’)
corefreq-cli.c:6491: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6491: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6491: warning: excess elements in union initializer
corefreq-cli.c:6491: warning: (near initialization for ‘hRAM.attr[7]’)
corefreq-cli.c:6491: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6491: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6491: warning: excess elements in union initializer
corefreq-cli.c:6491: warning: (near initialization for ‘hRAM.attr[8]’)
corefreq-cli.c:6491: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6491: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6491: warning: excess elements in union initializer
corefreq-cli.c:6491: warning: (near initialization for ‘hRAM.attr[9]’)
corefreq-cli.c:6491: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6491: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6491: warning: excess elements in union initializer
corefreq-cli.c:6491: warning: (near initialization for ‘hRAM.attr[10]’)
corefreq-cli.c:6491: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6491: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6491: warning: excess elements in union initializer
corefreq-cli.c:6491: warning: (near initialization for ‘hRAM.attr[11]’)
corefreq-cli.c:6491: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6491: warning: excess elements in union initializer
corefreq-cli.c:6491: warning: (near initialization for ‘hRAM.attr[11]’)
corefreq-cli.c: In function ‘Layout_Card_Load’:
corefreq-cli.c:6530: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6530: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[0]’)
corefreq-cli.c:6530: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[0]’)
corefreq-cli.c:6530: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6530: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[1]’)
corefreq-cli.c:6530: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[1]’)
corefreq-cli.c:6530: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6530: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[2]’)
corefreq-cli.c:6530: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[2]’)
corefreq-cli.c:6530: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6530: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[3]’)
corefreq-cli.c:6530: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[3]’)
corefreq-cli.c:6530: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6530: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[4]’)
corefreq-cli.c:6530: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6530: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[5]’)
corefreq-cli.c:6530: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6530: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[6]’)
corefreq-cli.c:6530: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6530: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[7]’)
corefreq-cli.c:6530: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6530: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[8]’)
corefreq-cli.c:6530: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[8]’)
corefreq-cli.c:6530: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6530: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[9]’)
corefreq-cli.c:6530: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[9]’)
corefreq-cli.c:6530: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6530: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[10]’)
corefreq-cli.c:6530: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[10]’)
corefreq-cli.c:6530: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6530: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[11]’)
corefreq-cli.c:6530: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6530: warning: excess elements in union initializer
corefreq-cli.c:6530: warning: (near initialization for ‘hLoad.attr[11]’)
corefreq-cli.c: In function ‘Layout_Card_Idle’:
corefreq-cli.c:6545: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6545: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[0]’)
corefreq-cli.c:6545: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[0]’)
corefreq-cli.c:6545: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6545: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[1]’)
corefreq-cli.c:6545: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[1]’)
corefreq-cli.c:6545: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6545: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[2]’)
corefreq-cli.c:6545: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[2]’)
corefreq-cli.c:6545: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6545: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[3]’)
corefreq-cli.c:6545: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[3]’)
corefreq-cli.c:6545: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6545: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[4]’)
corefreq-cli.c:6545: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6545: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[5]’)
corefreq-cli.c:6545: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6545: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[6]’)
corefreq-cli.c:6545: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6545: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[7]’)
corefreq-cli.c:6545: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6545: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[8]’)
corefreq-cli.c:6545: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[8]’)
corefreq-cli.c:6545: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6545: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[9]’)
corefreq-cli.c:6545: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[9]’)
corefreq-cli.c:6545: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6545: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[10]’)
corefreq-cli.c:6545: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[10]’)
corefreq-cli.c:6545: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6545: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[11]’)
corefreq-cli.c:6545: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6545: warning: excess elements in union initializer
corefreq-cli.c:6545: warning: (near initialization for ‘hIdle.attr[11]’)
corefreq-cli.c: In function ‘Layout_Card_RAM’:
corefreq-cli.c:6560: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6560: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[0]’)
corefreq-cli.c:6560: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[0]’)
corefreq-cli.c:6560: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6560: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[1]’)
corefreq-cli.c:6560: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[1]’)
corefreq-cli.c:6560: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6560: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[2]’)
corefreq-cli.c:6560: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[2]’)
corefreq-cli.c:6560: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6560: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[3]’)
corefreq-cli.c:6560: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[3]’)
corefreq-cli.c:6560: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6560: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[4]’)
corefreq-cli.c:6560: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[4]’)
corefreq-cli.c:6560: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6560: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[5]’)
corefreq-cli.c:6560: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[5]’)
corefreq-cli.c:6560: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6560: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[6]’)
corefreq-cli.c:6560: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6560: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[7]’)
corefreq-cli.c:6560: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[7]’)
corefreq-cli.c:6560: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6560: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[8]’)
corefreq-cli.c:6560: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[8]’)
corefreq-cli.c:6560: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6560: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[9]’)
corefreq-cli.c:6560: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[9]’)
corefreq-cli.c:6560: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6560: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[10]’)
corefreq-cli.c:6560: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6560: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[11]’)
corefreq-cli.c:6560: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6560: warning: excess elements in union initializer
corefreq-cli.c:6560: warning: (near initialization for ‘hMem.attr[11]’)
corefreq-cli.c: In function ‘Layout_Card_Task’:
corefreq-cli.c:6605: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6605: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[0]’)
corefreq-cli.c:6605: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[0]’)
corefreq-cli.c:6605: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6605: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[1]’)
corefreq-cli.c:6605: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6605: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[2]’)
corefreq-cli.c:6605: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6605: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[3]’)
corefreq-cli.c:6605: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6605: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[4]’)
corefreq-cli.c:6605: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6605: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[5]’)
corefreq-cli.c:6605: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6605: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[6]’)
corefreq-cli.c:6605: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[6]’)
corefreq-cli.c:6605: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6605: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[7]’)
corefreq-cli.c:6605: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[7]’)
corefreq-cli.c:6605: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6605: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[8]’)
corefreq-cli.c:6605: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[8]’)
corefreq-cli.c:6605: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6605: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[9]’)
corefreq-cli.c:6605: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[9]’)
corefreq-cli.c:6605: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6605: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[10]’)
corefreq-cli.c:6605: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[10]’)
corefreq-cli.c:6605: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6605: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[11]’)
corefreq-cli.c:6605: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6605: warning: excess elements in union initializer
corefreq-cli.c:6605: warning: (near initialization for ‘hSystem.attr[11]’)
corefreq-cli.c: In function ‘Draw_Card_Core’:
corefreq-cli.c:6654: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6654: error: unknown field ‘un’ specified in initializer
corefreq-cli.c:6654: warning: excess elements in union initializer
corefreq-cli.c:6654: warning: (near initialization for ‘warning’)
corefreq-cli.c:6654: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6654: warning: excess elements in union initializer
corefreq-cli.c:6654: warning: (near initialization for ‘warning’)
corefreq-cli.c:6654: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6654: warning: excess elements in union initializer
corefreq-cli.c:6654: warning: (near initialization for ‘warning’)
corefreq-cli.c:6660: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6660: error: unknown field ‘un’ specified in initializer
corefreq-cli.c:6660: warning: excess elements in union initializer
corefreq-cli.c:6660: warning: (near initialization for ‘_attr’)
corefreq-cli.c:6660: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6660: warning: excess elements in union initializer
corefreq-cli.c:6660: warning: (near initialization for ‘_attr’)
corefreq-cli.c:6660: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6660: warning: excess elements in union initializer
corefreq-cli.c:6660: warning: (near initialization for ‘_attr’)
corefreq-cli.c:6662: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6662: error: unknown field ‘un’ specified in initializer
corefreq-cli.c:6662: warning: excess elements in union initializer
corefreq-cli.c:6662: warning: (near initialization for ‘_attr’)
corefreq-cli.c:6662: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6662: warning: excess elements in union initializer
corefreq-cli.c:6662: warning: (near initialization for ‘_attr’)
corefreq-cli.c:6662: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6662: warning: excess elements in union initializer
corefreq-cli.c:6662: warning: (near initialization for ‘_attr’)
corefreq-cli.c:6665: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6665: error: unknown field ‘un’ specified in initializer
corefreq-cli.c:6665: warning: excess elements in union initializer
corefreq-cli.c:6665: warning: (near initialization for ‘_attr’)
corefreq-cli.c:6665: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6665: warning: excess elements in union initializer
corefreq-cli.c:6665: warning: (near initialization for ‘_attr’)
corefreq-cli.c:6665: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6665: warning: excess elements in union initializer
corefreq-cli.c:6665: warning: (near initialization for ‘_attr’)
corefreq-cli.c: In function ‘Draw_Card_Task’:
corefreq-cli.c:6789: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6789: error: unknown field ‘un’ specified in initializer
corefreq-cli.c:6789: warning: excess elements in union initializer
corefreq-cli.c:6789: warning: (near initialization for ‘_attr’)
corefreq-cli.c:6789: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6789: warning: excess elements in union initializer
corefreq-cli.c:6789: warning: (near initialization for ‘_attr’)
corefreq-cli.c:6789: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6789: warning: excess elements in union initializer
corefreq-cli.c:6789: warning: (near initialization for ‘_attr’)
corefreq-cli.c: In function ‘Top’:
corefreq-cli.c:6990: error: unknown field ‘fg’ specified in initializer
corefreq-cli.c:6990: error: unknown field ‘un’ specified in initializer
corefreq-cli.c:6990: warning: excess elements in union initializer
corefreq-cli.c:6990: warning: (near initialization for ‘_attr’)
corefreq-cli.c:6990: error: unknown field ‘bg’ specified in initializer
corefreq-cli.c:6990: warning: excess elements in union initializer
corefreq-cli.c:6990: warning: (near initialization for ‘_attr’)
corefreq-cli.c:6990: error: unknown field ‘bf’ specified in initializer
corefreq-cli.c:6990: warning: excess elements in union initializer
corefreq-cli.c:6990: warning: (near initialization for ‘_attr’)

after i run " make " this is happend

Query the Kernel idle driver per CPU

Impacted source code:

IDLEDRIVER IdleDriver;

long SysGate_OnDemand(void)

long Sys_IdleDriver_Query(SYSGATE *SysGate)

IDLEDRIVER IdleDriver;

int SysGate_OnDemand(FD *fd, SYSGATE **SysGate, int operation)

void SysGate_IdleDriver(SHM_STRUCT *Shm, SYSGATE *SysGate)

void SysInfoKernel( SHM_STRUCT *Shm, CUINT width,

len, Shm->SysGate.IdleDriver.Name,

Topology

  • Hyperthreading state through Proc->Features.HTT_enabled=1 can be set during the final loop. Right after kthread_stop()
  • Disabled cpus by Kernel should be accounted by the topology algorithm. It appears that a core deactivation from Linux or from the BIOS differs , isn't ?

Ubuntu 14.04 segmentation fault

Hi man, this software is amazing, but when i start the client, i two or three seconds it give me a segmentation fault.

Environment:
Ubuntu 14.04
64 bits
Intel Core 2 duo
4GB RAM

Here is a screenshot:

segmentation

Missing parentheses in macro

win->matrix.origin.col + win->lazyComp.rowLen,

LayerFillAt(layer, hProc0.origin.col + hProc0.length, hProc0.origin.row,

LayerFillAt(layer, hProc0.origin.col + hProc0.length + len,

LayerFillAt(layer, hArch0.origin.col + hArch0.length, hArch0.origin.row,

LayerFillAt(layer, hArch0.origin.col + hArch0.length + len,

hBClk1.origin.col - hBClk0.origin.col + hBClk0.length,

.origin = { .col = LOAD_LEAD - 1,

.length = MAX_WIDTH - LOAD_LEAD + 1,

.col = drawSize.width - 18,

.col = drawSize.width - 34,

LayerAt(layer, code, LOAD_LEAD - 1, row) = (cpu == iClock)?

Won't have side effects with define constant but would be if changed to integer variable.

LayerAt(layer, attr, LOAD_LEAD + 69, row) =

LayerAt(layer, attr, LOAD_LEAD + 70, row) =

LayerAt(layer, attr, LOAD_LEAD + 71, row) = warning;

sprintf((char *) &LayerAt(layer,code,LOAD_LEAD+24,row), \

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.