Why does it need a kernel module, rather than just using the MSR API like similar tools do? Intel's PCM tools for example, show quite similar information, and are available on a variety of OSes..
CoreFreq has a lot more info available to it: performance counters and events within the CPU, including instructions retired, cache accesses and misses, branch instructions, etc.
The Intel PCM suite does what you seem to be describing w/o a kernel module, and it uses nicely abstracted MSR accesses so that its portable to any OS.
But without the module, it wouldn't be able to get real-time statistics for individual cores or logical processors, specific data from the kernel's performance counters, or some system-level statistics
What is the use case of this tool? Debugging embedded hardware issues or something? The requirement of an kernel module raises the bar quite a bit and I don't really understand the need.
I don't get it either. It doesn't give more information than `turbostat` or `powertop`. In fact it gives much less information. And installing the kernel module starts timers that immediately become the main reason the system is awake and drawing power, at least on my Intel "Raptor Lake" desktop.
The feature to show DIMM timings seem unique, I haven't seen that before.
ECC DIMMs use the same ICs as regular memory but doesn't have the XMP/EXPO overclocking profiles, so I have to manually overclock them to get performance closer to regular RAM. Being able to have my benchmark/stability-test script write down the current timings in the log instead of having to write them down as I'm setting them in BIOS and later type them in would be an improvement.
The first thing that comes to mind when considering why this requires a form of a kernel module would be accessing functionality that normally results in protection faults, eg. trying to disable LAPIC interrupts from userspace with combination of iopl(3) and CLI instruction.
Just FYI, “A software” is grammatically incorrect, as Software is a mass noun, not a collective noun. “Softwares” isn’t a word, for instance. (Similar to “money”, in that you wouldn’t say “I have a money, you have a money, and together we have two monies”, you just say “I have money, you have money, together we have more money”.)
People saying 'codes' and 'softwares' is one of my pet peeves.
I'm an American, btw. It's just 'code' and 'software' to me. Now I just use it as a hint that the person isn't American, much like when someone says 'maths'.
But their secondary purpose is to add inertia to the language, helping large societies to function. That is, even though dictionaries are descriptive, you shouldn't deviate from what they describe for no good reason. Unless you're a poet, if the dictionary says you're using the word wrong, you're most likely using the word wrong.
You can have a collection of programs. Or a collection of “pieces of software”. But not “a collection of softwares.” Software can be considered to be already plural in a sense, because it refers to the set of programs/procedures needed to perform a specific task.
Similar with money, you can have multiple dollars, but you don’t have multiple monies.
“Hardware” also works this way, but it’s probably more obvious to people. If I have some hardware, and I buy more hardware, I wouldn’t say “I now have two hardwares.”