https://bugs.kde.org/show_bug.cgi?id=500745

--- Comment #13 from John <[email protected]> ---
(In reply to Artem S. Tashkinov from comment #12)
> The current wording conflates three different concepts: CPU package, core,
> and logical processor.
> 
> Displaying `8 × AMD Ryzen 7 3700U` literally suggests the system contains
> **eight** Ryzen 7 3700U processors, which is factually incorrect. The kernel
> exposing eight logical CPUs does not make that an appropriate user-facing
> description.
> 
> This isn't about adding technical complexity; it's about avoiding misleading
> terminology. A concise summary such as:
> 
> `AMD Ryzen 7 3700U (4 cores, 8 threads)`
> 
> or
> 
> `AMD Ryzen 7 3700U — 4 cores / 8 threads`
> 
> is simultaneously:
> 
> * more accurate;
> * easier for non-technical users to understand;
> * more useful for technical users;
> * and **consistent with how operating systems, hardware vendors, and
> reviewers** describe CPUs.
> 
> If the topology cannot always be determined, falling back to "8 logical
> processors" would still be less misleading than `8 × AMD Ryzen 7 3700U`.
> 
> The goal of an information center is to present **hardware information
> accurately**. The fact that experts can mentally interpret the current
> wording does not make it a good user interface.
I couldn't agree more.
Very well explained, thank you!

I think that the KDE developers should also try to understand the reasons why
the Linux kernel gives wrong names (units) for what it reports.
Which IMO, is for backwards compatibility, to agree with Linus Torvalds' rule:
"Don't break the user space and because there is no major
(backwards-compatibility breaking) Linux release in more than 3 decades.
Nobody dared to even try to change these rules, so even when the first
multi-core CPUs appeared and later the multi-threads per CPU core appeared, the
kernel developers just chose to follow the rules of prioritizing the backwards
compatibility instead of fixing the software to match the hardware designs.
Since Linus Torvalds still has the same metality and Linux nerver has a
backward-compatibility breaking release, the non-matching software names
(units) will continue forever.

But this doesn't mean, that the software meant for usability cannot fix it at
display time, similarly to how it fixes other things.
 Like the clock not being in UTC as the kernel has it from the firmware and it
applies time zone + DST offsets where need it.
And like it applies a different language than the one of the kernel, which is
English, where need it. Here even the units and their values are changed if
needed, when you think about the imperial -> metric and temperatures.

Same it could be done for the wrong + confusing names coming from the kernel.

Also, Plasma would not be the first software to do it:
CPU-X, which tries to be a CPU-Z (Windows only) clone for Linux, displays the
cores and threads separated
cpufetch, which tries to be similar to fastfetch, but designed for CPUs only,
displays the CPUs like this:




                                                              Name:            
   Intel Core i5-8250U
                                                             
Microarchitecture:   Kaby Lake
                                                              Technology:      
   14nm
                                                              Max Frequency:   
   3.400 GHz
                                                              Cores:           
   4 cores (8 threads)
                                                              AVX:             
   AVX,AVX2
                                                              FMA:             
   FMA3
                                                              L1i Size:        
   32KB (128KB Total)
                                                              L1d Size:        
   32KB (128KB Total)
                                                              L2 Size:         
   256KB (1MB Total)
                                                              L3 Size:         
   6MB
                                                              Peak Performance:
   435.20 GFLOP/s


As from where to get the proper topology, like I said before, the best most
likely is HwLoc, which along with others, are available at least on Debian:
apt show hwloc
apt show cpufetch
apt show cpu-x

For HWLoc, this command can be used to see a infographic of the topology:
hwloc-ls

And in Plasma's Info Center -> CPU page (which looks like lscpu output), I also
see pretty much all the information from where it could be deduced how many
sockets are there, how many of them are populated, how many cores and how many
threads the CPU use:
    Socket(s):               1
  NUMA node(s):              1
  NUMA node0 CPU(s):         0-7
    Core(s) per socket:      4
    Thread(s) per core:      2

A bit of care should around Hyper-Threading, as it can be disabled (some values
are changed depending on its state) in the kernel:
https://www.baeldung.com/linux/disable-hyperthreading
Or in the firmware:
https://sysadminsage.com/how-to-turn-off-hyperthreading/

I see this being more a consensus being required of what is more logical and
easier to understand by the user and willingness to do what it takes to achieve
that problem than a technical problem of where to get the required data.
Hopefully in the future more developers will try to make it easier and faster,
with less confusions for users to grasp in an overview how is the main
component in their computers.
At the same time, being also a bit educational, besides more accurate, which
never hurts, especially when displaying the specs of your system and when it's
the most important component of it.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to