cyring / CoreFreq

CoreFreq : CPU monitoring and tuning software designed for 64-bit processors.
https://www.cyring.fr
GNU General Public License v2.0
1.94k stars 127 forks source link

FIXED. Chat & Screens & Benchs: Various Intel Gen CPUs & X570 + Ryzen 3rd Gen #129

Closed olejon closed 4 years ago

olejon commented 5 years ago
$ make
...
make -j1 -C /lib/modules/4.15.0-52-generic/build M=/home/username/Downloads/CoreFreq modules
make[1]: Entering directory '/usr/src/linux-headers-4.15.0-52-generic'
  CC [M]  /home/username/Downloads/CoreFreq/corefreqk.o
/home/username/Downloads/CoreFreq/corefreqk.c: In function ‘SMBIOS_Collect’:
/home/username/Downloads/CoreFreq/corefreqk.c:9107:5: error: ‘DMI_PRODUCT_SKU’ undeclared (first use in this function); did you mean ‘DMI_PRODUCT_UUID’?
   { DMI_PRODUCT_SKU, Proc->SMB.Product.SKU },
     ^~~~~~~~~~~~~~~
     DMI_PRODUCT_UUID
/home/username/Downloads/CoreFreq/corefreqk.c:9107:5: note: each undeclared identifier is reported only once for each function it appears in
scripts/Makefile.build:337: recipe for target '/home/username/Downloads/CoreFreq/corefreqk.o' failed
make[2]: *** [/home/username/Downloads/CoreFreq/corefreqk.o] Error 1
Makefile:1552: recipe for target '_module_/home/username/Downloads/CoreFreq' failed
make[1]: *** [_module_/home/username/Downloads/CoreFreq] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-52-generic'
Makefile:70: recipe for target 'all' failed
make: *** [all] Error 2

I see you did varios SMBIOS 6 days ago. That is what failing it seems.

I haven't installed/purged or changed anything that should have anything to do with building from source code.

olejon commented 5 years ago

First of all, why would I want to change the SMBIOS name, for what purpose? Does it do anything permanent? Interesting that my MacBook basically shows exactly what an iPhone/iPad shows in dmesg and lsusb when plugged in. Manufacturer, Specific Model - but what looks like being the serial number is not. It begins with the same characters but then totally different.

Didn't know about the H shortcut, guess it's on the Shortcuts menu option, should've known. Tried stopping the daemon and unloading the module, but didn't cleared the "HOT"/red colors. Suppose it writes something to registers or similar. Anyway people can see current temperature.

If I were a new user, it would just be nice to see that CoreFreq has this feature, storing max temperatures and storing if "hot" has been triggered, which any, including newer, MacBooks and iMacs will show anyway if something heavy has run just for a few seconds, as they are infamous for their throttling, and Apple's lies (legally correct but fooling users into expecting something more), since on their website they're just using that Intel's CPU specs and not expected frequencies to see in real life on that Mac.

Actually you've created the EASIEST tool to show Apple's bad cooling/firmware/etc!. I've seen tools people use, from official Intel ones to third party, but they tend to combine tools. CoreFreq shows it all on one panel. Understandable on an Air from 2013, but NOT for those having paid thousands of USD for a top specced iMac Pro. Only fix they've put out has reduced spikes and make it less likely to turbo to max and instead keep it just under 100 Celsius so processes where such spikes are noticed well runs stable, but at a cost of lower freq.

If I had left the stresstests run longer you'd seen way more throttling. As you can see, starting one then setting screenshot timer for 5 seconds immediately afterwards, even that shows it reaches 100 Celsius. When run longer the throttling is very visible, frequencies go down so much that color of the bars change to yellow/orange and stays a little above the middle of max turbo frequency, even just stressing one core. Guess that's not important for these screenshots.

Regarding colors, I had this one actually set to the "white on black" custom palette (IDK if it changes other colors than those two) which I used to prefer. CoreFreq ignores this anyway, say "black on white" doesn't change CoreFreq's colors.

Changed to system default palette to match the others, but really because, with newer versions of GNOME Terminal, I find the default dark theme with its palette more esthetically pleasing, but more importantly, easier on the eye.

If you refer to the missing values between the commas to the right of "TURBO", they aren't there no matter what color palette or terminal program.

I've used CoreFreq a lot with SSH-ing in with Termius on Android, which is set (by default) to xterm-256color and "white on black". Shows the same colors. And nothing between those commas at least.

I find the darker colors that do show, absolutely visible enough, and my guess is GNOME Terminal (which uses dark theme by default) is the most used terminal, so my screenshots will reflect what most users will see.

If the output suggests those values between the commas should show(?), they simply DON'T on the MacBook. Change the code to show "N/A"? That CoreFreq ignores like "black on white" is just a good idea for such a feature rich program which needs many colors, similar in all terminals, including mobile apps. GNOME Terminal use xterm-256color AFAIK.

Only thing changed is font. On Fedora used the default Source Code Pro Regular 12, which Termius on Android/iOS uses as well. On the workstation with Ubuntu, it's changed to Google's Noto Monospace, since it goes very well (also one of the recommend IIRC) with the fantastic (!) "Materia" GTK3+ theme, which you definitely should check out if you like Google's Material Design - or anyway - just those beautiful ripple animations everywhere, from window buttons to toggles to clickable sections like in the GNOME Control Center.

Animations, toggles, radio and check buttons and icons just like on Android in other words. Blew my mind, and I've like tried all kinds of themes from gnome/kde-looks.org since like year 1999 (when I was 11). Now included in the official Ubuntu repos, which says something (not in the Fedora ones, just one of the two shitty ones that says it's based on Material Design, but so ugly, and in Ubuntu's repos there are all three). Not many themes are included in any distro's official repos. I use the official PPA to always have the latest version, but no update yet IIRC, it's dead stable anyway. IIRC Materia is in the Arch Community repos (if not AUR). My main desktop VM runs Arch and XFCE. Looks nice there too. But really shines on newer GNOME versions.

Maintained (PPA, GitHub etc), not as boring and static like most themes. It includes a GNOME Shell theme as well, which uses Material Design Icons. Think it changes basic grayscale icons like in the GNOME Control Center, Nautilus etc as well, adapting to light/dark. Just FYI/tip.

Don't expect much from the NUC I think. On my phone now Copied straight from Termius, this is from /proc/cpuinfo:

processor: 0
vendor_id: GenuineIntel
cpu family: 6
model: 69
model name: Intel(R) Core(TM) i3-4010U CPU @ 1.70GHz

Must get back to you regarding checking that debug on TURBO indicator turning off, checking if any diff from debug info turbostat shows when it's on and off (I never turn it off myself, "I let CoreFreq do that" :P I do turn it on if I see it off, before exiting CoreFreq, just in case it actually does something, which nothing indicates).

olejon commented 5 years ago

Edited a little. BTW I know there is a new BIOS version for my NUC. Best to install that first, it's time anyway, and set the Performance setting in UEFI to default as it's now in Powersave mode, but must connect to a monitor (uses mini-HDMI to HDMI, or mini-DP) so have just a short cable. And BIOS updates must be done by copying to a USB stick with FAT32. Weird since the UEFI absolutely supports networking. My workstation checks straight online.

cyring commented 5 years ago

If HOT or Temps are RED, just press the [H] key then select the colored events and press [Enter] This will send an order to the driver to clear bits of the Processor thermal registers (event, throttling and so on). You don't need to stop or restart CoreFreq to clear those events. 2019-07-04-170616_564x340_scrot

cyring commented 5 years ago

You are free to change the name displayed in the footer because the data populated in the DMI area is not consistent among motherboards (issue #127) 2019-07-04-171554_564x340_scrot

olejon commented 5 years ago

Freakin' what? The values between the commas actually shows using xterm from the Fedora repo... Really weird when they show on my workstation also using GNOME Terminal, in "default mode". I tried changing GNOME Terminal in every way.

No success... Argh, don't know if I have energy to repeat the screenshots any soon. It is a time consuming task with all the tests you ask for, and those values are shown on several of them, and anyway if I change to taking screenshots of xterm I want all of them to be from xterm...

Must check by SSH-ing in from my workstation, that's also running GNOME Terminal. If it shows there then could be because Fedora has a newer version. Just downloaded the newest CoreFreq code on Fedora today and on the workstation, at least yesterday, if not today also. Or I'll change to the exact same config on both (need to install fonts on Fedora then). < 5% battery left now so then the firmware of a MacBook always throttle heavily down.

BTW: No reference to the H shortcut in the UI anywhere I can find. But good to know! Maybe put ALL shortcuts in the Menu > Shortcuts (F1) ? Seems you have some hidden ones.

cyring commented 5 years ago

Must get back to you regarding checking that debug on TURBO indicator turning off, checking if any diff from debug info turbostat shows when it's on and off ...

Be aware that CoreFreq and turbostat may use the same Processor registers. Turbo indicator could be the result of this software conflict.

Regarding the i3-4010U, it is the Haswell architecture, I expect to match the features

CoreFreq has been conceived for console (80x25) and X11 xterm

True, need improvement: I will add the H shortcut in the help window. The UI still looks a bounty treasures ;-)

olejon commented 5 years ago

Indeed I know it's Haswell.

As said in my test I didn't run any software between the runs of CoreFreq. But I can always try a reboot when I can and just run CoreFreq, again several times, to see. I never run them at the same time. You're saying even if CoreFreq is totally exited and unloaded, running turbostat, which doesn't start any daemon or anything, may ruin CoreFreq readings afterwards? Meaning I can NEVER run turbostat if I want to use CoreFreq unless I reboot first?

Well I certainly run more than 80x25, but as long as it's bigger, shouldn't be a problem... Even in portrait mode on my Android phone it's just fine. Considering GNOME Terminal with default settings shows everything correctly on my workstation, I'll try SSH to the MacBook and see if they show up exactly as on the workstation. If not it's weird.

I wouldn't develop such a tool today with only xterm in mind. How well will xterm hold up over time in Wayland? And when XWayland one day is severely limited and finally not used anymore? Well if it's the newer version of GNOME Terminal in Fedora's fault, then not your problem. I kind of suspect it. It should be totally xterm-256 compliant. But testing against the probably most used terminal program is probably a good idea (you can always add optimal settings for it in README), considering it's the default in Ubuntu, Fedora, probably the default or most used and documented choice for Debian now, other siblings of Debian/Ubuntu like Mint, and openSUSE also has GNOME as default desktop checked during install if booting the full ISO last I checked, think they even rewrote YaST to GTK... CMIIW.

cyring commented 5 years ago

It's more how are left some msr registers after running a performance software.
Off course rebooting will reset them, but it's fastidious. On its side, CoreFreq is reserving a save area to restore registers at exit.
I try to document the prerequisites for a good usage, although there is still a lot of improvements to do

At beginning of the project, for those reasons:

CoreFreq is a Processor monitor, not another top.

The effort focus on lightweight loops. Perhaps have you notice that the CoreFreq usage percent can go down to 1% (for a session without all the fancies of a DE, and with a plain console)

UTF is on the roadmap. Here is Europe. I've to face languages...

cyring commented 5 years ago

Screenshots of CoreFreq for i7-4650U updated into WikI Thank you

olejon commented 5 years ago

EDITED a little as always. Added some points and fixed typos.

Thanks :-) Just took a screenshot by SSH from my workstation, link below points.

REMOVED: https://www.olejon.net/files/CF-MacBook-Air/CF-All-Core-Stress.png



Cheers!

olejon commented 5 years ago

Here comes new screenshots and output using xterm on my MacBook Air:

https://www.olejon.net/files/CF-MacBook-Air-2013/

cyring commented 5 years ago

Thanks for those pictures, I will update the wiki

olejon commented 5 years ago

No problem. I'm well aware of why MacBooks and most laptops behave like this ;-) The performance is excellent in real life use anyway, considering it's from 2013. Also the 12-15 hours battery life...

I've made some interesting observations regarding the weird TURBO indicator on my workstation. I'll write a point list later.

olejon commented 5 years ago

Screenshots and output from my Intel NUC D34010WYK:

https://www.olejon.net/files/CF-Intel-NUC-D34010WYK/

BTW: Fixed this for my MacBook Air. Showed All Cores Stress but should show Single Core Stress - now does. Refresh from cache to see change:

https://www.olejon.net/files/CF-MacBook-Air-2013/CF-Vcore-Single-Core-Stress.png

olejon commented 5 years ago

EDIT: I was accidentally running 1 VM when doing the tests, though it did not do anything at the time, the difference when it was shut down was less Watts (see below), more free RAM of course, and more idling at C7.

Result: 1.7 Watts when idle. That's not bad :P

Should compare with my Raspberry Pi 3 B, running Raspbian Desktop, using a Wattmeter I have. Also would be interesting to test CoreFreq on a Raspberry Pi 3 B+ which has a x86_64 CPU, if one installs e.g. Debian headless instead of Raspbian, since Raspbian is made to support all Pis from the first one (using ARM no matter what Pi model).

cyring commented 5 years ago

Screenshots and output from my Intel NUC D34010WYK:

I will updated the Wiki. May take sometime. Thank you for this test.

  • Finally updated BIOS to May 2019 (latest)
  • SMBIOS correct (D34010WYK and shows my exact BIOS version)

So now you have this string as default

  • Memory Controller Window N/A not available

Do you have on of these PCI identifiers when running lspci -nn (plz start search at SandyBridge and all next generations) https://github.com/cyring/CoreFreq/blob/3e9da2d50939f23f4cf092d18822974545f46512/coretypes.h#L1186

  • As you can see very low Watts (never goes > 14 W and stays < 2.6 W when idle, mostly at 2.3 W)

Yes, I have been stupefied to see the Power as low as 2.3W

Result: 1.7 Watts when idle. That's not bad

awesome ! such a low consumption

  • Ran "Conic Compute" for a long time to see the temperature, and stayed at 60 Celsius for a long time before reaching a max of 62 Celsius, and first then it was possible to hear the fan, but I never hear it at all during normal operation, not even when doing large system updates

About those algorithms:

  • Turbo Boost not supported on this CPU. Can be overclocked in UEFI, but did a reset of everything and set "High performance" manually - while allowing deep C-States

Yes that's the spirit of CoreFreq : let your set your individual hardware settings

BTW: Fixed this for my MacBook Air. Showed All Cores Stress but should show Single Core Stress - now does. Refresh from cache to see change:

https://www.olejon.net/files/CF-MacBook-Air-2013/CF-Vcore-Single-Core-Stress.png

I will also ASAP b/w this weekend CoreFreq has a new toy with 60 Cores !

Co-processor: Intel Corporation Xeon Phi coprocessor 5100
olejon commented 5 years ago

Do you have on of these PCI identifiers when running lspci -nn

Nothing...

00:00.0 Host bridge [0600]: Intel Corporation Haswell-ULT DRAM Controller [8086:0a04] (rev 09)
00:02.0 VGA compatible controller [0300]: Intel Corporation Haswell-ULT Integrated Graphics Controller [8086:0a16] (rev 09)
00:03.0 Audio device [0403]: Intel Corporation Haswell-ULT HD Audio Controller [8086:0a0c] (rev 09)
00:14.0 USB controller [0c03]: Intel Corporation 8 Series USB xHCI HC [8086:9c31] (rev 04)
00:16.0 Communication controller [0780]: Intel Corporation 8 Series HECI #0 [8086:9c3a] (rev 04)
00:19.0 Ethernet controller [0200]: Intel Corporation Ethernet Connection I218-V [8086:1559] (rev 04)
00:1b.0 Audio device [0403]: Intel Corporation 8 Series HD Audio Controller [8086:9c20] (rev 04)
00:1d.0 USB controller [0c03]: Intel Corporation 8 Series USB EHCI #1 [8086:9c26] (rev 04)
00:1f.0 ISA bridge [0601]: Intel Corporation 8 Series LPC Controller [8086:9c43] (rev 04)
00:1f.2 SATA controller [0106]: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] [8086:9c03] (rev 04)
00:1f.3 SMBus [0c05]: Intel Corporation 8 Series SMBus Controller [8086:9c22] (rev 04)

About those algorithms:

  • All conics will stress the FPU
  • Atomic & CRC stresses the CPU
  • Random, Round Robin and CPU select are Atomic Burn variants

For really stressing all cores on my workstation, "Conic" must be used (no matter what choice after that), "Atomic" and "CRC" just puts it to max freq without raising temperatures, fan speeds or Watts much at all. "Atomic/CRC" vs "Conic": Watts 124 vs 175, temp ~60 vs Conic ~80. "Turbo Random" or "Turbo Select" stresses more, but not as much as stress -c 1: Watts 68 vs 74.

I prefer as stress -c numcores. Always stresses to the max numcores like "Conic", but can do it with X cores, while "Conic" always stresses all, and with one core it stresses more than "Turbo Select".

On my the NUC "Atomic" and "CRC" is also less stressful than "Conic". "Atomic/CRC" vs "Conic": Watts 10-11 vs the full 14 Watts. Why the heck does it need such a large (external) power adapter? :P

On my MacBook however they all achieve to reach 100 Celsius, and all of "Atomic/CRC/Conic/Turbo One CPU" gives same Watts as stress -c numcores. Turbo One Core takes a little more time of course, more time than with stress -c 1 as well, but still reaches 100 Celsius pretty fast so causes throtthling then. Of course because of the packaging, cooling AND that it supports TURBO.

Yes that's the spirit of CoreFreq : let your set your individual hardware settings

Yes. Maybe it should not offer to toggle Turbo when it's not supported? If possible to detect? Seems to based on output.

I will also ASAP b/w this weekend CoreFreq has a new toy with 60 Cores !

Damn, can't wait to see those results :-) I don't have access to more than an Xeon E5-2650L now, but no root so...

But where I have worked in eGovernment in Norway, would love to test CoreFreq on one of those enterprise superservers there, though I think it would crash(or...?) like the ones we have running hundreds of VMs, some of the hosts with 1 Tbps Internet links (for redundancy, different VLANs, dedicated ones to the Oslo LAN subnet a 600 km away for instance, or simply load balancing for those facing the Internet). Don't remember exact specs but x86 systems. Everything is hot-swapable anyway so surely newer HW now than last time, and of course this needs very much and fast RAM + tons of enterprise SSDs in RAID. IIRC some work in a clusters too for computing, like build servers, to have a crazy high number of cores then. Wouldn't fit in xterm 80x25 :P Maybe a later time :-) Yeah, since they give me sys/networkadmin clearance, although most coding for internal systems for me.

We monitor the graphs for all traffic to the different Internet NXs and the departments in Oslo, and man, although I shouldn't, I had of course to test, at a date and time with the lowest use, "max speed" I could get, which really for a quick test truly could only be tested with BitTorrent, but never got close anyway, too quick downloads (and shouldn't go on and on, those servers do things, heh).

All fibers go different physical and Internet routes. Additionaly, for emergencies in case someone manages to break all the fibers (ehh never happened, but once remember main one got broken when the the stupid diggers for the municipality's work to fix some water pipes broke it, I actually noticed before seeing on monitor screen that things went a backup route), we have high-speed Radio Link to nearest building with the same links (basically impossible those are physically broken at the same time as well, then most likely an intentional attack), and LOL for true crisis VDSL - and at last 4G LTE - heck I think even the building we have Radio Link to has satelite as well (not sure). We have just for NRK's (like BBC) main TV and Radio channel, for national emergencies, but those are inside the bomb room with antennas like on a satelite phone. Not for 2-way data. I've only been part of a "Internet goes down" test, all the way to VDSL, and it worked beautifully, nobody doing regular work noticed anything special (the main developers teams etc were notified that heavy bandwidth usage wouldn't be a smart idea, but had no problems either, were doing usual local stuff anyway). But it was during the Norwegian "common vacations" so way less people than normal. Just by luck that the building is so close to the secondary school in my village where the only telephone central is so multiple high speed VDSL is possible, but we tested down to 1 active VDSL only (surely caused some YouTube buffering at some offices lol, we have pretty good QoS).

The actual "eGovernment", development etc takes place where I come from, a small village in the longest (populated) fjord in the world, with a just little more than 2,000 people about 600 km from Oslo (I joke we have more offices than people, at least more desks), where in Oslo they do the "Public Management", and yes, we have systems for everything, like showing that they print 93 % of all paper, and even CO2 footprint per user, so yeah, more "paper moving" there.

We manage everything from my place, they only have 3-4 people there for local tech support and things that cannot be fixed remotely. All trouble tickets goes to us no matter what (my system, by law we must use at least 25 % FOSS internally so I use and write FOSS, and 25 % externally, latter easy since all Linux more or less, think goes for all agencies and ministries)

Since the "European Best eGovernment Award" (something like that it says on the trophy) became I thing, we won the first year AFAIK, trophy just stands there, easy to steal... same year as "we were established" (actually a year before the website says, because then the agency was located at another county state office in my village, though used the new name internally and on paper...), and later years too AFAIK. My mom and colleagues where invited to the White House and various place in Washington DC to talk about our stuff too... She's retiring now but last couple of years been director of "how many millions a project gets, if any", basically. Doesn't know much code, but criteria vs solution etc. Well we built the portal for bidding on state projects so, for projects so big that by law the state can't make them (to not destroy the private sector).

cyring commented 5 years ago

Issue #132 created No more room left in the micro-ATX ! Xeon_Phi_5100_Gimp

cyring commented 5 years ago

@olejon: it's interesting to read your experiences but it goes often far from the CoreFreq project where your contribution is indeed valuable

Please think about other CoreFreq users searching in those long posts; they will give up

If you have a blog, just let me know, I'll enjoy to share with you

Regards, Cyril

olejon commented 5 years ago

Yeah I know, I tend to drift into a trains of thoughts. You can always delete comments. I found your description of your newly created issue here quite funny, but then didn't understand what it had to do when I read the issue.

This has drifted far from the issue even talking CoreFreq, but would be quite difficult to add a new issue for each question/response/screenshots etc. I know I can add to wiki, but you do it much much better. Well anyway I will look focus on making a deb and also come back with the observations regarding the false reading of the TURBO indicator on my workstation, although not sure if possible to fix. You'll probably have an idea if yes or no.

I'll already have a procedure showing it's a false reading, because I can turn off then on again turbo in 2 different ways even when CoreFreq already shows it's off... and THEN it actually turns turbo off, as can be seen in real time using any tool, that all cores go to standard non-turbo multiplier (36) frequency immediately.

If anything CoreFreq turns it (the indicator not turbo) off when launching, but only if X time after boot and it says turbo = off, so more to do with time on after boot than necessarily always off at 2nd or 3rd run, but I need to check one more factor first. Also have turbostat output fresh from reboot (not running CoreFreq first) to compare with when turbo is disabled/enabled again using the 2 ways.

You're expertise is needed there probably, even though I can see diffs if any. Also need daemon debug. So far can just say as long as running CoreFreq soon after reboot, and let the module loaded and daemon running, it never shows turbo = off. Question is if killing the daemon while leaving the module loaded for instance will keep it right (showing = on) or not. Will try to kill the daemon basically, leaving the module loaded, and then run the daemon after some hours and see what the CLI shows then. But yeah, use it now on a monitor iPad for various PCs, so won't go into testing mode again today at least.

Commands you run in it don't show me any problem, while I'm familiar with lm-sensors, I also saw double loading of a module and such, but you know this much better than me, just what the commands has to do with mini-ATX too small I didn't get :P

olejon commented 5 years ago

I have made the script the deb will put into PATH, which does it all. Please see the output below and tell me if you want anything changed, like the script name or text.

First run:

$ sudo corefreq-run

The latest version of CoreFreq will be downloaded and built. If this does not work, please open a new issue with the error you get here: https://github.com/cyring/CoreFreq/issues

Press Enter/Return to download and install, or CTRL+C to abort

Starting download...

Cloning into '/opt/corefreq/src'...
remote: Enumerating objects: 32, done...

Starting build...

cc  -Wall -pthread -c corefreqd.c \
    -D FEAT_DBG=1 -o corefreqd.o...

----

CoreFreq built successfully
Run this command again to run CoreFreq

 * RUN: sudo corefreq-run
 * UPDATE: sudo corefreq-run --update
 * OPTIONS: sudo corefreq-run --help

Documentation: https://github.com/cyring/CoreFreq

If module does not load (kernel change), or if run with --update:

$ sudo corefreq-run [--update]

CoreFreq needs to the reinstalled. Unless you have asked for a manual update, this is usually is because the system has been updated, and the kernel module must be rebuilt

Unloading module... [ONLY shown if manual update]

The latest version of CoreFreq will be downloaded and built. If this does not work, please open a new issue with the error you get here: https://github.com/cyring/CoreFreq/issues

Press Enter/Return to download and install, or CTRL+C to abort

[Same git clone and make as above]

First run after build:

Simply makes sure module is loaded, daemon running and then runs corefreq-cli

If not run as root:

$ corefreq-run [--update]

This command must be run as root
Run CoreFreq with: sudo corefreq-run

If trying to run with --update without CoreFreq being installed:

$ sudo corefreq-run --update

CoreFreq not installed

Install CoreFreq with: sudo corefreq-run
cyring commented 5 years ago

It looks neat and with a good level of instructions.

Does it sync file-systems before shooting the driver ?

That's something we should inform the user :

CoreFreq is a Research project; it is recommended to save and close files and programs at the very first run of the driver.

Great job, thank you Cyril

olejon commented 5 years ago

Thanks. That I can add when it is run (if module not already loaded). I try to make the text as easy as possible, so better than a silent sync I guess, and then running sync should not be needed? Never had any problems there.

I am going to rewrite the script a little. Now it kills the daemon (lets the module be loaded) at CTRL+C from the CLI (as before the daemon is actually killed automatically when run as a script like this, but I've added a command to make sure).

cyring commented 5 years ago

I prefer to keep CoreFreq or corefreq name as it is the essence of the "product"

  1. At the top is the Kernel module with one timer per cpu. This driver shares memory with the daemon when requested to do so: one is global for the package processor data, and other ones for each physical or logical core, depending if HyperThreading is activated or not

  2. At the middle, the daemon spans one thread per cpu, thus one thread per driver timer, to collect cpu data. In turn, the daemon will share memory as one shm structured with the package data and an array of core data

  3. At the bottom, the client is accessing the daemon shm to render data.

the driver timers are in charge to periodically query the hardware (still per Core). When the job is done, the daemon threads are atomically notify to retrieve and compute the cpu counters.
One extra daemon thread aggregates values, for instance to compute the averages, but also to destroy or create threads when cpu(s) are disable/enable on the fly. Many other duties happen but at the end, this aggregation thread will notify the Client.

In short, if you pause the driver, the Client will pause also. Try to press keys } and { to play with pause and resume monitoring.

So, you are allowed to quit and restart the Client process at any time.

You can quit the daemon at any time where the client will automatically exits b/c this last one has registered its pid to the daemon.

You must not unload the driver while the daemon is running: the shared memories are still in process in the Kernel space and may conduct to troubles.

cyring commented 5 years ago

Additional explanations of the algorithm.

Child Manager spans one thread per cpu to allow a stress function per Core.

Both daemon also spans a posix signals handler thread which also processes the Commands Ring Buffer.

The daemon is aware of all its ecosystem : it handles the Managers pids, the CPU threads, the posix signals, the Client pid, the shared memories. It should face common use cases: send sig quit, and it will gracefully shutdown CoreFreq (beside the driver off course)

Edit: observe that some counters are created by the daemon: for example, the Min and Max core temperatures.

If you quit the daemon, you loose those values So if the user wants quit the CoreFreq application, it is better to just close the Client and let the daemon keep running.

olejon commented 5 years ago

Yes, I am aware of how the "chain" works. Now the script, at install, update or start also loads the module then starts the daemon (which as said uses like 30+ KB per process of RAM and no CPU when the CLI is not running, so why not), and let the daemon run.

I also totally agree with using corefreq in the commands' names, since users will expect after install to be able to run in a terminal something like coref + TAB to see available commands. So I use the ones below.

The output after install/update now looks like:

$ sudo corefreq-run [--update]

...

CoreFreq built successfully

Usage:

 * Start: sudo corefreq-run
 * Stop: sudo corefreq-run --stop
 * Update: sudo corefreq-run --update
 * Help: corefreq-run --help

 * Documentation: https://github.com/cyring/CoreFreq
 * Wiki: https://github.com/cyring/CoreFreq/wiki
 * Issues: https://github.com/cyring/CoreFreq/issues

Starting CoreFreq - Copyright CYRIL INGENIERIE

 * Run CLI UI as regular user: corefreq-ui
 * Press left/right arrow key to open the menu
cyring commented 5 years ago

In fact, F2 is dedicated to the menu. When a key is contextually unbound to a function, it defaults to menu. Left and Right arrow keys won't open the menu if a window is showing, but will w/o any window. Other example : Up and Down arrow keys are scrolling cpu in all cases.
Although I feel it handy to start menu with Left, Right keys, I can only guarantee F2

How does the script update from the GitHub ? Can it pass http proxy ?

olejon commented 5 years ago

Thanks for the tip! Definitely a better solution with a key that works wherever you are in the UI! Did not find this shortcut in the UI (not under Shortcuts either), or in README.md.

Yet another "hidden treasure" I guess :-) When first trying CoreFreq I tried the typical keys for tools like top, htop and iotop, namely < and > which works, then found the arrow keys left/right worked and used those.

May be ending up building the package France actually, where we're going for vacation when weekend comes ;-)

Bug found, I guess:


EDIT: I installed latest GNOME Terminal in an up-to-date Arch Linux VM running XFCE, and did SSH to my workstation, and indeed the newer GNOME Terminal (using "XTerm" palette) does not show indicators between the commas if they are not on. Could as said be a bug in GNOME Terminal, but as every other color works, maybe a small tweak to another grey color would fix it, rather than filing a bug against GT, as it would surely be ignored when you target xterm anyway. But hey, that's up to you if you care.

cyring commented 5 years ago

In latest commit, the Turbo state should be fixed; the H shortcut is added into the help F1 (can also be triggered from there)

olejon commented 5 years ago

Nice, I see the H in Shortcuts! Maybe add F2 as well? Pretty nice shortcut for users to know about. Gives an easy way to know how to show the menu - no matter where you are in the CLI.

Reported Turbo bug seems to be fixed after some testing - good job!

cyring commented 5 years ago

Hello,

Here is the direction taken by the next version:

2019-07-20-122928_804x644_scrot 2019-07-20-122854_804x644_scrot 2019-07-20-122807_804x644_scrot 2019-07-20-122751_804x644_scrot

What do you think about it ? Cheers Cyril

olejon commented 5 years ago

That's very good IMO 👍 Used my script to download the latest but I see you haven't commited it yet. Suppose some refinement is needed. Ctrl+X is known for nano users.

BTW: Can verify the macOS Terminal, when SSH-ing in, does not show the grey colors between the commas either, in Preferences > Profiles (your profile) > Advanced > Terminfo > Declare terminal as > xterm-256-colour (only color choice). This is the default. I change other things. All Profiles are ugly as heck, like antialias text is off, but can get it just like any Linux Terminal basically. And Homebrew makes most lacking commands available.

Got sick of course on my vacation so will have to finish the script after returning home. Sometime next week I will have the deb ready.

cyring commented 5 years ago

Version 1.59.4 released. I've had to make Console non regression tests.

Take care of yourself. Cyril

olejon commented 5 years ago

Thanks!

Checked it out! It's very practical to just run my script: sudo corefreq-run --update and it updates and starts CF (not the UI). Added a BASH alias on my own for corefreq-ui as cfui. Now the deb can add this system-wide, but does not need to advertise it as a primary way to launch the UI, just as a "shortcut", since coref + tab will show both, but you don't lose your "corefreq name" from the primary way of launching the UI.

Noticed a few things, one possibly a bug:

Can this possibly be correct? 0.8 Watts? My workstation is also showing half, basically.

cyring commented 5 years ago
cyring commented 5 years ago

Re-opening the issue #57 with an inventory

olejon commented 4 years ago

Sorry for my late response. Still sick. Will respond more another day. Just want to add that yes my workstation with an i5-6600K as in your screenshots section in the Wiki also have had it's Watts cut in half. Basically exactly half. Seems not correct compared to the CPUs TDP, but that it'll have to check without overclock. So it affects my NUC (no turbo), MacBook Air (default Intel turbo without possibility to change it) and stationary workstation with totally unlocked for overclock desktop CPU.

Now considering Ryzen X570 with a 3900X CPU, 12 cores, 24 threads, PCIe 4 (amazing speed) NVMe, maybe even 2 for RAID amazing speeds. Good offers if buying any 3rd gen Ryzen CPU for ASUS MBs (which I always buy anyways) and Corsair NVMes (only ones with PCIe 4 now, only 1+ TB has it though) and Corsair 3200 MHz RAM (already have so no), if ordered before 31st this month.

But 60 days return policy there, so may wait for the 3950X CPU with 16c/32t and return CPU for that one if not significantly higher price. And the Norwegian by-law for any Internet purchase "regret purchase" of 14 days no matter what the Internet store offers, to avoid those spontaneous purchases people do but can't really afford. Both allow opening and trying the product as long as can be sent back as if more or less new (so electronics but not cosmetics for instance).

As a non-gamer my RX 570 is enough, hence need no new PSU as newer GPUs is what needs that, and the RX 570 is very good on Linux with open amdgpu, especially as Ryzen 3rd Gen has no iGPU. Although AMD took just days to release a driver for RX 5700 GPUs for Linux, Ubuntu 18.04 only supported. AUR packages available I read on Phoronix, but a hassle I suppose Arch Pros can handle if having a second GPU available meanwhile.

cyring commented 4 years ago

The Zen architecture is appealing, I just wish the manufacturer is going to publish the full BIOS Kernel Developer Guide before I also make the jump to one of its High Core Count processors. Starting at 128 CPUs will be a challenging project to enhance CoreFreq

Do you read different power with other software ?

Hope you will get better

olejon commented 4 years ago

Yes one would hope so. Are you thinking about AMD ThreadRipper or something? Even with "just" 32 threads, can CoreFreq scroll? Otherwise would go out of window unless ridiculous small font. AMD is very open now, at least on the GPU side.

There was a bug making all "newer" Linux distros unbootable (read Phoronix test, had to use Ubuntu 18.10 or 19.04 but could use later kernels). Of course everybody first blamed systemd as it was showing as failing to start all services. In fact it was a bug in the CPUs, not giving the necessary randomness to systemd or any other proper init system to generate UUIDs, before the kernel is able to through /dev/(u)random. Although an "ugly" patch (will work as normal if CPU gives standard randomness) was submitted for another AMD bug that fixed this one in May (by Poettering), in the systemd GitHub repo, only Ubuntu actually patched it in on LTS of course as well as those newer, while other distros just ship with whatever latest systemd and kernel not giving a crap. Was some laptop stuff IIRC. Basically a patch that waited for the kernel or something, slowing down boot then (and fixing sleep/hibernate or something) but at least booting. AMD had set a keynote date and release date and had only tested on latest Ubuntu 18.04 HWE they know is at least based on Ubuntu 18.10, and people furious of course asking if not a single AMD employee booted latest Fedora just once. Surely they did because the patch was sent to MB manufacturers more or less at release according to AMD, but I suspect before, but then MBs were already in stock for shipping, and they must test it, and always use some time to fix other things. Problem was probably setting a release date, knowing about it, assuming the BIOS update would be ready and MB manufacturers having it in on release, but no. Well it took only days for first people to get it (don't remember brand but one of the big ones like MSI). Then people said systemd should boot anyway, although a delay. I agree with the argument that even if that's totally possible (with delay to ensure kernel has enough randomness), the thing is the kernel sent NO randomness, instead of random data for a hash table (or something), it sent the same value again and again. This could definitely indicate a faulty CPU. NO CPU should do this and none do, no more. What Windows does, IDK. But it certainly is super slower to boot than systemd systems (I mean 2 seconds for me to GDM on a previous gen M.2 Intel NVMe, while Windows, IDK but spinning wheel for sure, lol especially if "Configuring updates", and more would could be then ready to download, while on Linux disabling boot solash is just win since it boots so fast, unless having full LUKS or something usually then providing a nice GUI for unlock, liks BitLocker).

I ordered the 3900X as it said "Delivery date 27th (unsure date)", the day before, hoping so, but then on the 27th it said 16th of August, unsure as well. So just as every YouTuber show buying a 3800X is stupid compared to buying a 3700X if you're looking for that performance, buying a 3600X is just as stupid compared to buying a 3600 (no X), where the latter is the one most seem to be recommend to gamers to buy as it won't bottleneck even a high class GPU like an NVIDIA 2080 Ti, at least for a few years, and it's darn cheap.

Buuut since I'm impatient, and the only of 3rd gen in stock was exactly the 3600X... I bought it. Still get the same discounts on MBs, NVMes and RAM. As my original plan was to upgrade to a 3950X (16c/32t) anyway, which is scheduled for September (globally), it kind of makes sense not buying the 3900X anyway, to test the platform. With the extra money I bought 2 x 1 TB PCIe4 with 1800 TBM and a R/W of 5 GB/s. Unless going for some crap cheap MB all have 2 M.2 slots (but be careful! some have the second on PCIe3).

Point is these MBs support RAID 0, 1 and "10" (1+0). Most sites say RAID 1 will get a significant speed boost on read (not write), of course outclassed by RAID 0. Guess I'll install the latest 18.04 LTS release on both and test. If RAID 1 read almost as good it'll be better for me. Reading is most important for me without doubt, as all heavy writing like backups and multimedia lives on cheap 5400 RPM HDDs (which nowadays almost gets to an Kingston SSD from 2013), 8 TB in total (2 TB external for backup of the the most important, all HDDs scripted and encrypted securely with LUKSv2).

I'm unsure if such a HW RAID will go along with Windows 10 and then installing Linux, regarding MBR (GPT on GRUB). UEFI let's one boot directly to an OS without using GRUB for it though. Point is both OS' must see them as 1 disk.

If not I have an Intel SSD in my monster 18" laptop from 2010 with i7 and NVIDIA dedicated GPU, which got Windows 10 for free (came with Windows 7) that I can put into the like infinite amount of HDD slots in my Big Tower (3,5 and 2,5), but assume Windows will require buying a license when it detects a total HW change... Who knows. MS does want people on 10 so. Surely the laptop got free upgrade because putting in an SSD in 1 of the 2 HDD slots, came with 2 x 500 GB. Simply because praised laptops that came out a few years later without an SSD, like my mother has one, NO upgrade prompt. Stupid as it was the laptop of the years or something, and ASUS. Must be lack of SSD. As far as I've read Windows 10 simply sucks on HDDs, which has actual kept people with fast HDD RAIDs on Windows 8.1, because it's darn faster.

I'm thinking with this capacity to install Windows first. Free trial version first at least for checking the tuning software that simply doesn't exist on Linux nor macOS, even the Mac Pro surely won't have any official AMD GPU tuning software, and see if some settings can be saved to the HW, like the GPU and such live on Linux as well. My quite old (now) RX 570 is OC and 8 GB RAM which is more than stock.

One of the Intel Tools for Windows does most CoreFreq does it seems, just saw yesterday all it can do on the fly, and potentially some more (people adjust basically everything on the fly on Win 10 with an Intel tool, from multiplier, voltage, and more that isn't even in the UEFI). A comparison chart to put on the CoreFreq Wiki would be cool to see what CoreFreq can do that Intel's own tool can't (if any). At least show there's a tool on Linux very easy to install.

Might even be highlighted on say Linus Tech Tips (they're so popular they have own conventions lasting days in Canada), for those thinking such things lack on Linux. I can send a PM directly to the guy actually knowing Linux, much more than videos suggest as they run quickly through parts that breach warranties on Macs for instance (some install parts not shown, but how to get a copy of latest macOS as long as you have Mac is not illegal, putting it on something else than a Mac is another thing, just some parts said but of course links in description), but it's complicated as heck running macOS with fullblown 3D acceleration using a dedicated GPU other than that for the Linux host, and giving the macOS guest 14 of 16 cores and get it to boot, dedicating one monitor + mouse/keyboard to the VM and others to Linux. For an end user not seeing more than the cables will assume to PCs Mac running. Win 10 can't do this of course.

What lacks are all those GPU tools, benchmark tools that support most games. But anyway there are pages of what to expect from games on X cars regarding FPS, say GTA V.

I assume it'll be an upgrade anyway from my i5-6600K, although with the stock cooler according to most sources say that when it comes to OC other than RAM (my new MB will support up to 3200 MHz without anyway), you'll maybe get like 100-200 MHz, but some say this can probably be higher in a Big Tower as I have. Just as my current runs 4.4 GHz an all cores without problems when stock is 1 core at 3.9... Boring stock fan on < 3700X as well, no optional RGB (cable). 3600X only 2 more cores but 12 threads and should turbo on all according to GeekBench public available tests (add .gb4 extension to URL to get full JSON output).

Just shows the enormous attention AMD has gotten from their keynote in Taiwan. I mean just look at Linux from the Linus Tech Tips channel going nuts on the streets of Taiwan after seeing the keynote, way more than anybody expected (for what I can tell no other channel has like 4-6 editors alone and 4+ scripters). Amazing what the Linus Media Group has accomplished. I mean they have seem to basically have an unlimited budget always getting hands-on on stuff first, not returning stuff as tours of their warehouse suggest. That Linus is amazing at HW but when it comes to software, well, I doubt he even can write a PowerShell script (contrary to the same suggests he's basically a Windows only guy with some very basic macOS regular use experience, mostly benchmarking). Well luckily there's a more nerdier guy for stuff, like where they make a Hackintosh run on a Linux host (Arch in the form of Manjaro for quick use IIRC) using KVM+QEMU+Libvirt and a later video shows almost no gain when the manage to run it bare metal. Even FaceTime and iMessage running. Well definitely a channel to follow for HW stuff anyway as those guys builds absolutely everything, like a copy of the new Mac Pro, sub-zero temp on both CPU and GPU rigs to see how much they can squeeze out of it. Some really good bashing Apple and RED videos even though at least a few employers use Macs occasionally (but Windows for all video and rendering). All supported by insane rendering servers, some 40 Gbps Fiber link they just upgraded to as well and you get an entire walk-through video with the guys from the fiber company and Linus to show how all connects. Ok I'll admit I'm addicted. SO many fun HW experiments with the latest HW. Yes they do have a few videos about gaming on Linux, how much it has improved and how it may be the future even since Google's new streaming platform (that seriously Sony and MS seems to be in the wild what to do about since it's totally platform agnostic) runs on it so game devs will have to optimize games for it, even it already available.

cyring commented 4 years ago

I can read you're not ill anymore. Happy with that 😊

To be short:

Have you notice in last commits than CoreFreq is now embedding the Version Major, Minor, and Revision into the shared memories ?

These footprints will denied the startup of the Daemon & Client whenever a new data model api is unaligned with the current runtime one.

This force users to fully quit programs and remove the Kernel module, before launching a different CoreFreq version.

olejon commented 4 years ago

Yeah, haha, but I've got a weak immune system (a condition, not just "saying it" as many), so must take it easy.

Hm that's interesting, didn't completely understand the technicalities (compared to you I'm "more Java and sysadmin, and you Assembly geek or something" haha). More interested in the end user experience/warning/whatever. Haven't seen that in action. I mean how does it work, can you give a scenario to test? Did a clone yesterday and didn't get any warnings or anything, but my script stops the daemon then unloads the module before updating, then loads and starts. Of course most users, when having updated their kernel and reboot will have the same version of CoreFreq, and try to run CoreFreq. My script should handle this fine and download the latest version, as said always stops it first (stop function and also --stop flag). This doesn't sound about that (module not compiled against current kernel)?

I see. Well I can't give you HW advise on such specs, it's up to you and your budget. Maybe wait for a new Xeon, or use multiple then if that's an option. AFAIK the one in the Mac Pro isn't on the market yet. I think you'll probably want Intel on something like that, but you know more than me. Haven't used a ThreadRipper, and certainly not your knowledge, but my guess is there's more Xeon material out there, although ThreadRippers are there for a reason, should be flexible stuff no? Meant to be fiddled with for whatever insane science projects and such.

Fun question: Would your code crash or show weird/wrong values when running a sub-zero (Celsius) system? Darn it's cool seeing like Windows of all things idling at -5°C. Surely running Telemetry, Windows Update crap and a lot yeah. In some bench tests where they aim to beat others they like (after system shuts down due to wrong OC combination and trying another) "ok this time we'll wait a few minutes to let Windows do it's startup stuff, and disable Adobe Update Checker" (and I see like pretty much SW on there, as with all of Windows much runs scheduled tasks to check for updates, and often set to auto and a darn tray icon as well, while macOS at least only checks on opening/opened/manual & always your choice through standard Apple update system although outside the App Store). Ok I'm sure most are the benchs and the games needed for the automatic benchs. Like they're pros so at least they gotta have an image or a disk with a "bench-OS". Clean as one can get Windows. I cringe even when people do benchs then "let's see over here what this tool says" and Windows does an animation and it's a GPU bench and they aim for a very high score where nothing can be sacrificed...

Nor do many know macOS always run "mdstores", various such services on boot, every time, to index for Spotlight and some more. I only have Spotlight on for Apps, all crap and of course Siri and web personal suggestions off. With everything on it's constantly doing something. It must. BUT people run benchs immediately after boot, after say an upgrade or modifying cooling. Hmm. At least in Windows they have task manager open, which is a nice overview, but never look at the "Details" tab, the good old which was the only choice before. Like actually seeing if a process use significant CPU, which would show as little in the "Overview" if only on a single core, but all CPU tests test so single core performance. Maybe I'm paranoid but not a damn thing other than kernel processes is using CPU on my system when doing a proper bench.

Linus Tech Tips have a series going on "Beating the Mac Pro" where they're using the best single Xeon available, which is not what will come in the Mac Pro, but they use pretty standard HW, and such upgradable as heck, and such the only thing not beatable is the 1,5 TB the Mac Pro can get - lack of DIMMs on MB, but they already of course have faster stock RAM than all the Mac Pros will get (2999 MHz or something, ridiculous) SO they've already created the fastest Mac on Earth today running macOS just as a Mac, benchs show it (basically meaning beating the Top Specced iMac Pro quite significantly), on Bare Metal. One could say Hackintosh, but everything works much less than Hackintosh seemed to be last time I checked, including FaceTime and iMessage IIRC which usually don't because Apple serialize their MBs so no copies will work (people can survive without those, wonder why they lock down those only eh). Yes they do use stuff from Hackintosh GitHub repos, like the getting around installing an OS, like Linux (see below)

Didn't know actually that all Macs with a T2 chip, which is on all their newer laptops (not iMacs AFAIK, if so either the Pro or the non-Pro, none of the choices makes sense if so), boots Linux fine from USB but you simply can't install it. Of course a "hack" came out (not so much of a hack that it's being officially implemented in an upcoming Linux kernel version lol, quite a few MacBook users use Linux, like seen at Defcon etc), which LTT use in a video. Question is if Linux can say use the webcam or any of the things offloaded to the T2 to run on the CPU instead. Like the T2 encodes H.265 much faster, but the CPU can as well I assume, like it's a standard Intel. Webcams has always needed patches, often only depending on some guy on GitHub which makes it work if using one specific Fedora kernel or whatever. Assume they still use the crappy Broadcom Wi-Fi chips, at least there are drivers, just must be manually downloaded but then totally legal. USB to your Android and turn on tethering and say NetworkManager instantly makes it an Ethernet interface through your phone's Wi-Fi so...

T2 chip causes a lot of crashes for pro users (and most likely regulars but they don't report it on YouTube or reddit or can't even open the log to see that that's why), since it's an ARM chip which offloads stuff from the CPU like the webcam, difference with and without is very clear, but problem is it must communicate back and fourth with the x86 chipset. Easiest way to provoke quickly it is connecting many Thunderbolt things it seems, like 5K monitors and eGPUs. But it happens anyway and log always says T2. Well ZoneOfTech on YouTube covers that best and has a dedicated one about it, but never review a MacBook without mentioning it (pros and cons, con being crash out of the blue is never acceptable). Cool it'll allow finding a stolen MacBook even when thieves have shut everything off though by Bluetooth beacons (well as a thief I'd put just put aluminium foil around all of it, or simply remove the T2 chip). Maybe can still can be booted to Recovery Mode, since seems people have made comparisons with and without it in action, though may be previous version with say same spec webcam. Or just sell the HW.

If you see the video, they got an original one, in total more than Apple would charge now that they have parts and enough people trained, which was the probable reason amongst all Apple Certified Technicians and Apple Workers responding anonymously on their forum, because the AASP just denied without even diagnostics) with a good guess of what components the Mac Pro will support, using AMD GPUs for instance and a fairly standard MB for Xeon CPUs, although not one CPU I think Apple has in none of their Macs, but it works, showing macOS really isn't programmed that strictly, where iOS, yeah even Lightning cables must have a chip from Apple, if not denied by iOS, so they make $$$ on each accessory (cables without would've cost like 80 % less).

But when you see the the video where they upgrade the CPU on an iMac Pro to a faster one saving money a little money that way, very little IIRC, since the iMac Pro is actually very little profitable for Apple, meaning the price is actually justified considering the parts (but NOT the no-no to repair or upgrade yourself without losing warranty for every small detail, not even RAM which one still can on a same year regular iMac in fact). But the RAM upgrade, if choosing the one with least amount, well then it's worth it, as everybody knows Apple charges horrendous prices for RAM if choosing one with more from their website (and the ridiculous amount of RAM Apple has always put into their mobile devices, finally adding 1 GB with the iPad Air 2, which I bought exactly when knowing that, and for being 2nd gen of a new product, always good idea.

Apple has a very good specs page but NEVER say the amount of RAM on mobile devices for some reason, uh AFAIK the latest 2018 MacBook Air has only one RAM choice which is the same as my 2013 top specced, and my 500 USD OnePlus 6T phone has the same. So as suspected, iPadOS 13 will deprecate the iPad Air 1 (rumours said also 2 but I always doubted that due to same RAM as much much newer iPads), because Apple has great iOS support if you buy sensible, it usually comes down to RAM.

Well that about the upgrading the iMac Pro and making a Mac Pro are series, first starting with that starts with Apple refusing to repair their iMac Pro although they know they've broken it themselves so they WANT to pay the full price, even if if actually costs more than a new one.

Guy who got them the MB has since gone AWOL, but seems like that was his intentions too so (they don't say anything more, other than if he "unghosts" himself one day and send them a secure message they'll make sure he gets the upgraded iMac Pro or something ++, securely.

olejon commented 4 years ago

IDK why this:



kernel: Linux version 5.0.0-23-generic (buildd@lgw01-amd64-030) (gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)) #24~18.04.1-Ubuntu SMP Mon Jul 29 16:12:28 UTC 2019 (Ubuntu 5.0.0-23.24~18.04.1-generic 5.0.15)

kernel: Linux version 4.15.0-52-generic (buildd@lgw01-amd64-051) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #56-Ubuntu SMP Tue Jun 4 22:49:08 UTC 2019 (Ubuntu 4.15.0-52.56-generic 4.15.18)

kernel: Linux version 4.18.0-25-generic (buildd@lgw01-amd64-033) (gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)) #26~18.04.1-Ubuntu SMP Thu Jun 27 07:28:31 UTC 2019 (Ubuntu 4.18.0-25.26~18.04.1-generic 4.18.20)

Only pros so far:

cyring commented 4 years ago

Hello, In Croatia, vacation, beside Smartphone, no computer: man is hard sometimes 😭

This function is collecting the Kernel version https://github.com/cyring/CoreFreq/blob/e21a6d5480fff6a095edec7b6ea01310ad25c0e9/corefreqk.c#L8185

Regards, Cyril

olejon commented 4 years ago

Haha, well yeah. Try to enjoy anyway! Suspect your brain is full of CPU registers instead of good wine in the sea breeze :P

So that easy. Darn. The UNIX philosophy of a command doing one thing and doing it right... Well think uname needs a refresh showing when systems uses say a kernel and a lot of backported code, like Android is a good example of, but basically all Smart TVs, routers etc. Older kernels with code from newer ones for HW support, a firmware update does like never updated the kernel version.

Making you jealous saying my new Ryzen stuff comes to my door within an hour? :P Building a new PC is kind of lov and hate. First a good strategy of the order what to take out/put in first is extremely useful to avoid stupid delays, but not so much when it's a Big Tower, but always something comes up... Always takes more time than thought, often you play wayyy too much with it (in BIOS and software). Will just try to plug in old M.2 and it'll probably run as before, fingers crossed, and later fresh install with the new NVMes.

Well, I'm glad I still have my MacBook Air now with a new battery very portable and powerful enough, both macOS and Linux. Don't bother bringing my iPad. It's almost more of a hassle picking up, since the MacBook can be picked up with a lot and everything running as when left, even after hours and hours on battery. Just as an iPad you kind of don't care (unless battery ~ 20 %)

Since got sick, first morning on vacation of course, and only me of the 6 persons renting the big house, and still mucus comes out in good amounts 2,5 weeks after (as said condition with weak immune system, but this at least shows it works, which is for me actually, believe it or not, a good thing when an infection takes goes through the normal steps although takes longer - the alternative, which is much more common, is just miserable).

In France it was. You're French right? Antibes and Juan Le-Pins, latter been before when 16 or something. Ending up spending most time watching Norwegian and International news channels (kind of news slave), series from Netflix, but mostly from my file server here, and documentaries (very much a documentary slave as well, reddit and Norway's answer to the BBC FTW there, when little else is shown, they always have "documentary summer", as with BBC it's all free, but no VPN detection, actually it's super easy to pirating (recording) movies and whatnot using VLC, just getting the m3u8 playlist using e.g Chrome Developer Console).

olejon commented 4 years ago

Probably waiting until tomorrow. New HW cooking a bit in 35 °C in the evening Bergen sun:

Image

Probably putting together tomorrow. Will check how CoreFreq works as soon as having a system running, Live or when installed, as will try just my current NVMe first.

Will try to take my SSD (still OK 550/550 MB/s) from my monster laptop and see if Windows 10 accepts the total HW change without rejecting the license (if so keep it when Windows can be necessary instead of polluting my new RAID NVMes with Windows), just for all the tools that are available. Especially hate that most firmware update tools for for SSDs and NVMes, heck maybe even my GPU, since they have, well firmware, are only available for Windows...

cyring commented 4 years ago

Congrats ! Can't wait to see the final build. Think about the CoreFreq live ISO to quickly test your hardware. It boots the latest kernel and will automatically compile and run CoreFreq

Attached is the sea storm ravaging my hotel in Pula this Friday evening 20190802_204544

I love elements of the nature

Next benchmark may be lightnings algorithm 😎

olejon commented 4 years ago

Build complete, although using the old NVMe so it booted just like before. CoreFreq ran without the need of a recompile of course, although ran my script with --update in case any new stuff.

Only freakin' CoreFreq can read my CPUs temperature (thank you!), but just shows and bases package temp from a random core, IDK if it's really the package temp, doesn't show temps for any other cores than one. Like most others depend on lm-sensors which detect no modules. There's no coretemp of course as that's Intel, and so is turbostat, which is great for monitoring, and comparing to CoreFreq to check, but that's made by Intel for Intel, so only shows CPU usage in % and MHz. My freq BASH alias works though, since using sysfs to get current frequencies.

No OC done. GeekBench test showed around the same as the previous CPU on single-core, no surprise, but at slightly a lower clock speed. Multi-core went up from 17k+ to 30k+ on stock. With the stock cooler.

Much better to install than stock Intel coolers, now only comes with the i3 I think, and 3rd party ones, as they are installed the same way on Intel CPUs and I hate it. All new consumer AMD CPUs comes with a cooler, for serious OC one needs a better one, especially the one that comes with below 3700X, like mine a 3600X, it's the "previous generation" and unfortunately not the optional RGB. However the RGBs on this non-gamer PRO MB from ASUS are very nice, subtle and just nice. No disco going on. RAM already has RGB, it was offer at the time but looks nice through the slightly black tinted windows on the Corsair Big Tower. My 2 Cold Cathodes or whatever they were called from somewhere between 2000-2002 (one cable in on both only, like not + and -, and don't produce heat), looks better during the day but a little shiny when dark. Just a matter of placement. Nice thing is that the controller has an easy on/off button so can just open the door and turn on/off.

This NVMe has R-W 770 MB/s - 450 MB/s, so going these Corsair PCIe4 almost 5 GB/s per NVMe I assume will be awesome, and especially if HW (UEFI setup) RAID 0 just plain works and Ubuntu sees one disk. They come with heatsinks. All new X570 boards it seems comes with at least one heatsink for an M.2 sitting on top of its slot. One can remove the stock ones sitting on the NVMes and just those MB ones, or remove the MB one. My MB comes with "only" one such cover. Has already removed it.

Some more expensive, and cheaper gaming ones as well have 2, but those people recommending the most expensive TUF MB from ASUS saying there's NO reason to spend the extra 50 USD on those in that price range (like my Prime-PRO), forget that on those cards the second M.2, the chipset one and not the CPU-bound one, is actually PCIe3 nor does it NVMe key 22110. My new ones have same length as the old, 2280. IDK but at least having 2 PCIe4 ready for 22110 (one is CPU bound, closest to the CPU, must be Ryzen 3rd gen to get PCIe4, and the is X570 chipset and is always PCIe4 IF buying the right card. They also forget to mention that various both cheaper and more expensive gaming cards, lists 3200 MHz RAM with OC in parentheses, while mine and some others supports up to that without OC, according to the specs on the MBs website.

Of course would be nice to have Wi-Fi as the 50 USD cheaper TUF card has, chips that also include Bluetooth, but again doesn't have Wi-Fi 6 (ax) but 802.11ac (and maybe not even Bluetooth 5, I assume so) which IMO is kind of the point if you're investing in the future, having Wi-Fi 6 if buying an MB with it totally integrated (not expansion). Compared to the Hero don't see the 2 antennas listed as in the package under specs as included parts on the TUF with Wi-Fi either, but main gallery picture have them like just put on the front of the board, so maybe that's an extra buy. My Norwegian store does not say antennas are in the package, but says it about the Hero with Wi-Fi

Also the 1 Gbps LAN on mine is Intel, always works beautifully on Linux, while on TUFs it's Realtek. Some posts say that yes they work on Linux (which chip it really is and not just model) out of the box, BUT "history has shown those are simply not as reliable, can vary from kernel to kernel etc". Aaand if you want Wi-Fi 6 you need the most expensive Crosshair Hero card (if ASUS). Those, also without Wi-Fi. But if buying one with those price tags, darn buy one with Wi-Fi, although it costs more than those Heros without, you'll again see the difference in NVMe suddenly not being PCIe4 on both or 3200 MHz listed as OC etc. A mess when you expect top of the line not having such comprises. But they're gaming cards anyway. Over the top for me, or not really spec wise, they're pretty identical, except some extra built-in cooling solutions for VRAM etc for those enthusiasts.

Mine is so nice with my white and black Corsair Tower. White I/O block and white on-board fan (not making ANY noise compared to ANY other fan you'll have, but as pointed out the most likely single point of failure without it being replaceable.

The MB is just so nice. I love the fact that the I/O block on the back is one solid piece. So easy to put in place compared to always horrible I/O metal plates. There again you see at least some TUFs showing the block on main images, but the gallery shows it's actually a painted metal panel that matches you must put in and then "aim" the MB in, hoping it doesn't bend or whatever.

Spec wise I think I bought my ideal MB. More expensive gaming ones like Heros or the most expensive Formula (don't think THAT one has Wi-Fi which is weird) have an additional 2.5 Gps Ethernet port. Well nice if you have such a switch or built-in in your router (would be 10 Gbps Ethernet ports then, it is the next level, never heard about 2.5 Gbps ones before now, so why those 2,5 Gbps... weird). Also they're Realtek ones, while the 1 Gbps is Intel then. Silly to read the reasons for these 2. It's like "one is great for (gaming at) extreme speeds and the other is great for familiar 1 Gbps stable (Intel) performance", while it should be the fast one is great for NAS' while the other is great enough for everything else unless having more than 1 Gbps to the Internet (or for us people various networks). Read the 2.5 Gbps works on Linux with a patch. If the Wi-Fi chips works on Linux, well, some are Realtek and others Intel (depending if ax or ac). Wi-Fi chips always have proprietary stuff in them, and I suspect the Intel one works, probably because I think I read when Intel it was the ac, meaning the TUF (then again there you have Realtek Ethernet), while who knows about a Realtek combo of ax and Bluetooth... Surely will work with newer versions of Ubuntu out of the box or in the additional drivers part of Software & Upgrades, but now?

Then a will make a fresh install, and before even logging in, since purging all unnecessary packages, Ubuntu specific ones and others that comes with most distros today, and install all I can think of, although can always be done later, except Vanilla GNOME metapackage, then purging some that metapackages install.

This since all things in my home directory that takes up a huge amount of space is the hidden Gradle folder, the Android SDK folder, the ~/.android folder which has the VMs, Steam main folder although only one game, and the Dropbox folder. Made a full rsync of my home directory to another backup folder with all permissions etc included, then removed these that can easily be downloaded again, including ~/.cache and ~/.thumbnails, and made a .tar.bz2 that I will restore, again even before logging in. Like ~/.config which has dconf, Android Studio preferences folder and other such hidden folders that are not in ~/.config, but should be. Including BASH aliases file and all that.

So when logging in the first time, no Ubuntu specific stuff should clutter dconf etc. Vanilla GNOME and all GUI programs like Chrome etc will be exactly like before (although Chrome detects this, and should, and require a sign-in again). Dropbox LAN sync makes that quick.

This shouldn't take long. Basically even with a fresh install the routine is a few minutes of work on a 300 Mbps connection. All files in system folders are backed up to HDDs so server services will be up quickly. Same distro = same configs.

cyring commented 4 years ago

recommend to look into the AMD Zen specs for sensor question.

Go to the Wiki > Documentation > AMD Developer Guides, Manuals & ISA Documents

Into the PPR specs, reads things about tCtl sensor.
To my understanding, one sensor shared between Cores.

Core_AMD_Family_17h_Temp is the function I've implemented to read temperature.

It is not read randomly as you said but collect on the Service.Core

You can help my research by reading the sensor per CCX:

  1. go to the topology and write the first physical Core of each CCX for example where CCX=0 CoreID=0 and ThreadID=0, you get the first CPU belonging to the first CCX cluster
  2. start the driver with argument ServiceProcessor=0
  3. prepare 2 reproducible test environments: one idle, the other with Turbo Single Core load bound to the service proc
  4. write down the temperatures, idle and load cases
  5. restart driver with Service Processor assigned to CPU of the second CCX
  6. replay the temperature tests
  7. write down results
  8. make the conclusion if sensor is per CCX or for the all package ?
olejon commented 4 years ago

First of all, sorry for delay again, BUT DON'T blame it on me, BLAME IT ON Windows Update, as I'm currently updating my 1,300 USD 2010 laptop, with this i7 CPU 4c/8t 1.6 to 2.8 GHz. Now I'm pretty sure you'll want data from that one(?), so I'm gonna give it a go.


cyring commented 4 years ago