Replies: 406 comments 12 replies
-
Will fix asap. |
Beta Was this translation helpful? Give feedback.
-
Great :-) |
Beta Was this translation helpful? Give feedback.
-
Just checked (w/ Smartphone) the minimum Kernel version is 4.18.x for those missing definitions (DMI_PRODUCT_SKU,...) I will refactor code using conditions to let previous versions build through. Also thinking about writing myself parts of the DMI parsing to offer the remaining strings |
Beta Was this translation helpful? Give feedback.
-
I usually install the Ubuntu LTS Enablement Stacks once they are out (newer kernel and Xorg/Wayland/Mesa/etc for desktops and just newer kernel for servers). Pretty sure the one's in the repo now is > 4.18. On my phone now. https://wiki.ubuntu.com/Kernel/LTSEnablementStack
ANYWAY most Ubuntu LTS users don't do this manually. And my installation has been totally stable. The open shipped with Basically bought it intrigued by reading about how open and good AMD GPUs have become on Linux (especially the first one meaning it'll only get better), with everything plug and play, making it open enough to ship with the kernel, and actually fully working with the community, which NVIDIA does not (just randomly sometimes, the open driver is a mess if you want to use that, gotta check that table with supporting this but not that for everything - the closed really good and faster still, but must be installed as a separate package, and Wayland compatibility well, dunno). Basically supporting AMD :-) And Intel since all their HW is dead stable out of the box on Linux, including iGPU, much easier basically than Windows, and they actively contribute to the kernel for people to make tools such as your own, and even have created an own super fast distro, not for your daily driver but if supported by your CPU fun to check out! It has its own package system, more and more packages, including full GNOME desktop, all vanilla packages compiled for max speed on Intel cipset MB and CPU. Rolling release IIRC, |
Beta Was this translation helpful? Give feedback.
-
BTW will install the above and check if I get to it before you do :) Don't worry, no rush for me. Just gotta say CoreFreq, although praised in the article I found it in, was way above my expectations! You should try to get it into the Debian/Ubuntu repos (can use dkms to allow updates to latest tested stable version of your code - or fixed version is probably preferred by distro maintainers, updated when distro is, as long as you make a well tested deb package from latest code, as it is already feature rich as heck, and probably systemd service to get approval I suppose but that isn't that hard when FOSS...). EDIT: Found CoreFreq here: https://medium.com/@datamove/over-clocking-under-linux-67d04cfb0974 |
Beta Was this translation helpful? Give feedback.
-
Hello, for your tests, fix is committed. |
Beta Was this translation helpful? Give feedback.
-
Thanks for responding so fast and fixing. I will test soon, with the kernel mentioned in the issue. |
Beta Was this translation helpful? Give feedback.
-
Confirmed building as before and working on
Thanks again! I have a suggestion. Basically toggling NMI Watchdog on demand, because... NMI Watchdog is there for a reason, as far as I have read I do not want it off permanently on such an important workstation + server. My solution: I have created a script like this as
The sleeps are necessary to give some time before starting and stopping. I have added a little extra because you never know. Sometimes it may fail to BTW: The reason for Clue is NMI Watchdog toggle - on-demand - like: When starting, first run:
When everything is stopped/unloaded, run as last command:
Kernel confirmes in
Pretty sure you can deactivate/reactivate NMI Watchdog in Add it to |
Beta Was this translation helpful? Give feedback.
-
Thanks, I will process your returns. As a workaround you can also build CoreFreq with directives to use other registers: APERF and MPERF You can then keep the nmi_watchdog while |
Beta Was this translation helpful? Give feedback.
-
Thanks. Just adding a little information about this to BTW I can probably just fine host CF as a deb in my repo (only for packages that never are in the Debian/Ubuntu repos). Build it from latest source, (tested by me first on Debian and Ubuntu) on first install and add to dkms, or simply ask user to |
Beta Was this translation helpful? Give feedback.
-
Getting your support for distributions repo will be a great help. Indeed I want to focus on R&D. CoreFreq is monitoring thermal thresholds, those which are Processor internal such as thermal throatling. For instance if temp reaches tjmax, I don't think about programming what other monitoring software are doing much better. The goal of CoreFreq is more to offer features which are not pretty centralized in the Linux space: Processor + BIOS + OS + Performance |
Beta Was this translation helpful? Give feedback.
-
Please give a look into
Regards |
Beta Was this translation helpful? Give feedback.
-
First of all, with this script, the daemon, for some reason, shuts itself down like immediately after pressing Ctrl+C, BUT only when the commands are run in a script like that, even when the CLI program is run as the desktop user. Easy fix to be 100 % sure on all systems anyway if you read below. EDIT: Without using any HOWEVER, when the commands are run separately one by one, all commands as root except the CLI program which is run by the desktop user either using Easy to fix to be 100 % sure. Before
Note: This I discovered and have now confirmed, WITHOUT the I can not explain why, but that is why I have not added a command to shut down the daemon - because it does it itself on my system. The sleep time of 4 seconds was because a few times just got the message that the module was still in use with a sleep time of just 1 second for instance. But 4 seconds is a sure "safety buffer", more than enough seconds, just added to NEVER ever get that the module is still in use. Now my script is like this and seems to work just fine:
Both Only output from terminal (run and exit):
Only output from dmesg (run and exit):
Note 1: Kernel does not report when NMI Watchdog is disabled, only when enabled, but can be verified disabled by checking value of Note 2: As you can see I have removed some unnecessary sleep commands (on my system at least), and shortened sleep time to CLI to 2 seconds and exit to 2 seconds only. Not annoying for such a tool. Now, this should maybe be tested on a slow system, slow in every way, not sure if 100 % enough to tweak UEFI and kernel to "make a slow system", and since CoreFreq is logically not made for VMs, it is harder then. Basically having both more sleep commands and sleep seconds makes sure it should work on slow systems as well. Does it work correctly on 32-bit? If so I may test on a really old laptop... Maybe CoreFreq does not support that CPU even, like not enough "info and toggles" in the kernel for CoreFreq to use, or CoreFreq is aimed at newer CPUs than that one. Regarding NMI Watchdog: I was not aware of that, hmm... And do not have this high level of understanding you have of CPUs and the Linux kernel. Just seen many tutorials, blog posts, wikis etc around monitoring tools and overclocking tends to use on-demand toggles, like my command, or disabling NMI Watchdog in In MY case I do not see any difference if it is enabled or disabled. I will double check. Especially interesting then to compare CoreFreq values when NMI Watchdog is disabled as a kernel boot parameter compared to not disabled in any way. Regarding deb package: Have a pretty good idea. Instead of in a repo, you simply host it here on GitHub, since updating it will basically never be needed after it is well tested (2 of the 4 dependency packages in question may change names on newer versions of Debian/Ubuntu, but not like every year, so, and easy peasy to fix then, because you can add packages with alternative names).
Note: This is EXACTLY what the VirtualBox Guest Additions install script for VMs under VirtualBox does, puts files in Not like on Windows, where it has a standard GUI installer with "Next > Next > Bla bla > Compiling drivers > Windows reacts to new drivers > Allow > Bla bla > Next > Reboot", or something in that typical order. I do not use VirtualBox anymore in Linux, use KVM+QEMU+libvirt, which is way better of course. Just on macOS I use VB. |
Beta Was this translation helpful? Give feedback.
-
EDIT: Some changes, typos, formatting etc in post above, sure there are more typos :P And yes, that's what great with CoreFreq, it does not try to do things other tools do as good as possible anyway. It pulls together things that otherwise needs various commands/scripts/tools. I have seen myself small projects I made like a decade ago and put on the Internet being used in ways I never thought. Even pages where people offer > 500 USD to any freelance developer taking such jobs - to modify it to do something more or integration... Always fun to find, especially small web apps I have made and by searching finding it hosted on some university loooong away from Norway :P Although stated not supported in any way except read the docs and be aware that the code and the docs will become deprecated with newer libs, server software, web standards etc. People find me through all sorts of channels, and basically want "free help" to rewrite a ton of the code for just their use case... NOPE! And darn that Facebook Messenger allowing for non-friends in any way to send a super long "Message requests", just as an e-mail basically, but more intrusive/pushing IMO... |
Beta Was this translation helpful? Give feedback.
-
Q: That data does not really matter for me anyway, but does it make CoreFreq more accurate if available? |
Beta Was this translation helpful? Give feedback.
-
Hello, I'm working on The UI This is an experimental feature, CPU may crash. Thanks for trying. |
Beta Was this translation helpful? Give feedback.
-
Hello @olejon Yes I'm particularly interested in your Intel NUC i3 testing results. On the AMD side, unfortunately no specs available for such Power features. I love my 3950X but less the stability of BIOS firmware, and the lack of registers documentation. Intel is still the champ for Engineers. Various codes have been arranged lately to provide those PL; please let me also know if you face regressions. Btw, I've provided a new loop for Goldmont monitoring. But no more tests from User. Last screenshot, I noticed wrong Formula units in Voltage, Power. I'm looking for various Atom, Celeron, Pentium to complete that work. Regards |
Beta Was this translation helpful? Give feedback.
-
@cyring Alright. Here you go. Cheers 🍻
NOTE: Hyperthreading disabled in BIOS as this CPU is part of the Intel Core generations that suffers from some of these mainly Intel security bugs, and instead of just giving VMs the actual cores (not threads too), which fixes the bug, or use the Linux kernel parameter to boot it without HT, I just disabled it entirely, as it runs almost as fast without, and way lower temps. REGRESSION? Not really. It's not a bug in CoreFreq, more like was a "feature", that does nothing for the CPU's performance anyways. Just saying. This is also in the Stable branch. As you explained certain CPUs from Intel, including this one, will always trigger SCREENSHOT: RESULT OF OUTPUT:
STABILITY: So far stable now with 1 VM running using about 50% of the Host's CPU and a lot of I/O over NFS, with many open Internet connections (both TCP and UDP). Host has a Bridged network for VMs , so directly to LAN file server without any overhead. Zero bad stuff in log files nor any unexpected memory usage. Well, I've just seen improvements in CoreFreq for X570 👍 👍 like I rarely wander into the more complex submenus, but e.g. I saw some weeks back my 3950X now shows Junction Temperature (max 95 Celcius), just like on my Intel NUC. So great stuff. Now running it all through DKMS + systemd too. Just modded the systemd service file a little. Remember there was a time the Memory Controller wasn't even available (greyed out)? 😃 Well, now it shows timers, capacity, slots etc. And well, as for Intel, they better come up with something new, because both on desktop and server (expect maybe super duper Enterprise), they are being totally crushed by AMD just re-using their i9 platform and their latest are slower than the i9-9900K for a lot of stuff, so. Gotta OC to get close to AMD when that shouldn't be necessary. Of course I hope they do. Competition is good. Although, I enjoy having chosen the best HW and as expected it lasts and is still at the very top, including the NVMes etc. |
Beta Was this translation helpful? Give feedback.
-
Very kind of you to provide these results. Thanks again for providing me those outputs. I feel reassured I have not crashed your CPU. EDIT: Btw, have you successfully altered the PL1 or PL2 value ? Did you notice a change in max frequency or temperature or voltage core when limiting the power with lower offsets ? |
Beta Was this translation helpful? Give feedback.
-
Yeah well the HOT stuff doesn't matter as long as it's only happening where it "should" anyways, like that Intel CPU on the NUC. But no surprise the MacBook goes as close to 100 Celsius as possible before activating the fans. And hence activated HOT(s). But you rarely notice throttling. CoreFreq just shows it boots as fast as possible at the cost of getting pretty damn hot in there while keeping the fans silent as long as possible. Makes sense for an Air. Just when battery below 5%, if on macOS. Can't be turned off. Oh, yeah I know 😄 Though, IMHO CoreFreq has come to a level where it the stable should be "markedet" rather than spending all times on development. I know it's boring, but seeing thousands of new users is fun (though that requires e.g. a voluntary "Send anonymous system data" question at first launch, in this case. And by marketing, nothing would be more effective than getting it into the Debian repositories, or the Ubuntu ones if they are super idiots (the Debian ppl can be "difficult"). But hey, it's all FOSS, so. What gets into Debian gets into Ubuntu (however unlikely it'll be Canonical supported, but hey that's for Enterprise paying for it). With the right description, containing all the keywords people would search for, yeah, it'll find its way to thousands of people. Maybe add a subreddit for discussion (making clear it isn't a support subreddit and that issues and code suggestions is for GitHub). However, you might reach even more people by making it a Snap package. Snapd is supported on every major distro, and has plugins for basically all GUI software centers (as does flatpak). Just look at the stats on that website for various distros. You'll see e.g. VLC, Spotify etc are mainly downloaded as Snaps. Snaps has an even more flexible permission model than Android apps. Although, for this it probably required the same as say Visual Studio, very well supported by Microsoft there with excellent reviews for making FOSS apps (proprietary it is) and Android Studio (Open Source). IDEs and such, easily get accepted getting full system access. Your may not need full file system access. I haven't read all the Snap permissions docs. But say VLC is actually completely contained. Can read files from anywhere, and use Qt/GTK themes but that's it. E.g. saving from transcoding I'm pretty sure can only be saved in its "container" (each Snap is mounted as a separate mount point). Though I use the repo one as it's enough up to date for me, but say Windows users would prefer an always up-to-date VLC without having to even update it. It just happens (checked some ~4 times a day and the user doesn't have to do anything). I mean, it's way more powerful than any CPU tool found in official distro repos today. |
Beta Was this translation helpful? Give feedback.
-
BTW can make my mom turn on my Monster Laptop when home again. Has the the first gen Intel Core released after Core2Duo, though Core i7, and fast as heck still. It's set to static IP and will be accessible through SSH ASAP as booted. So can check there too. |
Beta Was this translation helpful? Give feedback.
-
Oh, OK, I now got the Develop Branch one to also Grey Out the HOT indicator for 1 second, than it comes back on. As said, no biggie. It really should be on as I understood it. And it made no difference before anyways. My NUC crashes like a couple of times a year. Always when I'm NOT logged in to it (meaning no SSH). It just freezes, but doesn't go total fan crazy for instance. I only notice it because it's my LAN's main DNS server (with reverse DNS for every device), so when devices must fall back to DNS server 2 (OpenDNS), you definitely notice it. Or if the first thing I do that day is to log into it. No contact. Logs show nothing, so it just froze. And FYI CoreFreq doesn't run when I don't actively use it so it's not that. I remember once you made one of my systems crash as soon as I loaded corefreqk.ko with a small code update (don't remember if NUC or Ryzen), but you fixed that immediately, so. Those freezes might have been an unstable SATA SSD. As gradually I noticed more and more that if a VM had heavy I/O (the host never has so...), then the Host's log showed the SATA link being reset very often with a bunch of debug info I don't understand. Now I've taken the Corsair that was in my workstation for Windows, fully firmware updated, and put it in the NUC instead, and Zero SATA problems, so luckily not a Motherboard failure. Though, it may have crashed once since that too, typically in the middle of the night. Not sure. Time will tell. Gotta put that Kingston into my workstation and update the firmware (Windows required of course zZz). Maybe it was that + never OS. But I don't know where to use it anyways, my workstation is full with 18 TB disks. Oh yeah, my Monster Laptop. Yup. That needs one. My 3950X system with the non-gaming Pro MB, has NEVER CRASHED. It's pretty incredible, considering all it's "been through" and has to run every day. Dead stable. Well also on Windows but that's like 2 hours every month. And I do update the BIOS to the latest stable version. Each time. No problems yet. And when those "IRQ errors" went away, it has the exact same "warnings/notices" during boot as any Intel system I've used. And it's faster than Windows. Maybe it uses more Watts in total? Haven't bothered to check with my wattmeter. But certainly not under load. BTW, regarding Pentium CPUs, are you aware that the cheapest Intel NUCs come with a Pentium Silver? (if not Gold, don't remember). Not just that, here in Norway the version that supports BOTH a SATA SSD and an M.2 NVMe is actually cheaper than the one only supporting an NVMe. It's just a little taller. Like mine. Back then NVMEs didn't exist so had to buy a special Intel chip if not buying a SATA model and those chips/disks had bad reviews so nopes. I assume you have a SATA SSD or an NVMe lying around + a laptop RAM chip? If so you got what the NUC needs. Wi-Fi + Bluetooth module is optional of course. It's a pretty good deal then. IDK how well a Pentium performs. It's like, for me, "they still exist??". Well, apparently. Probably cheapest option to check a Pentium with CoreFreq, and after that have a decent server 😺 |
Beta Was this translation helpful? Give feedback.
-
Multiple discussions above, but about |
Beta Was this translation helpful? Give feedback.
-
So yeah, TL;DR I can check my MacBook for the PL values of you want to (although both it and the NUC have 2013 Ultra Low TDP CPUs, difference is i3 vs i7 mainly - maybe the MacBook's CPU is one generation newer - IIRC). And also if the HOT stuff act as before on the MacBook as that is the only HW I have to test HOT triggers/toggles on and, well, last time I used CoreFreq on it (2019-2020) it is ideal as it can trigger all but one (IIRC), and toggle them off again, as long as I start with the right one. |
Beta Was this translation helpful? Give feedback.
-
Probably Could you read this register:
This undocumented bit should be at position zero Write back the result
Check CoreFreq for any Note: this thermal bit and other SKL events will be soon part of CoreFreq |
Beta Was this translation helpful? Give feedback.
-
Maybe you meant this?
? Still see no change in CoreFreq afterwards (also checked unloading daemon + module and loading those again). |
Beta Was this translation helpful? Give feedback.
-
This is an experimentation of presumed BD_PROCHOT to either remove throttling introduced by components surrounding and notifying Processor to decrease its operating state: could be target p-state, frequency id or other limitations. Sorry no datasheet. Thus you have to monitor, stress, observe any thermal events while toggling on and off and on ... this bit. Purpose was to explain why CoreFreq is showing HOT a few sec again, as you mentioned previously. Hope it helps. |
Beta Was this translation helpful? Give feedback.
-
I remember that in this commit 0ac6c83 I made a change to allow clearing thermal event bits if and only if a thermal interrupt handler has not been installed. Although the initial feature was operational with SNB and above, including your Haswell, I encountered a lock issue with Coffee Lake. And investigations revealed some conflict within Kernel handler. The fix has been to check
|
Beta Was this translation helpful? Give feedback.
-
Edit: Edit: as a side note for my roadmap. UI should pop a message box up that clearing operation is not safe, and thus refused. |
Beta Was this translation helpful? Give feedback.
-
More easy than https://elixir.bootlin.com/linux/v5.12.5/source/drivers/thermal/intel/therm_throt.c#L679 |
Beta Was this translation helpful? Give feedback.
-
make
fails onLinux 4.15.0-52-generic
, current latest kernel for Ubuntu 18.04 LTS 64-bit, with Vanilla GNOME (used as developer and main workstation + some server services)intel-microcode
was also updated recentlyIntel Core i5-6600K
Linux 4.15.0-52-generic
, it fails with the error belowlibelf-dev
sincemake
suggested to do so, and that warning goes away, but still build failsdkms
sincemake
takes like 5 seconds on my system (seems like that was a good decision)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.
Beta Was this translation helpful? Give feedback.
All reactions