Bug 1223605

Summary: lscpu not showing Model Name for arm vendor
Product: [openSUSE] PUBLIC SUSE Linux Enterprise Server 15 SP5 Reporter: Carol Soto <csoto>
Component: systemdAssignee: Stanislav Brabec <sbrabec>
Status: RESOLVED FIXED QA Contact:
Severity: Normal    
Priority: P5 - None CC: csoto, ddavis, ivan.ivanov, logan.vance, mochs
Version: unspecified   
Target Milestone: ---   
Hardware: aarch64   
OS: SLES 15   
Whiteboard:
Found By: Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Carol Soto 2024-04-30 17:47:23 UTC
lscpu is not showing the model for arm vendor:

localhost:~ # lscpu
Architecture:           aarch64
  CPU op-mode(s):       64-bit
  Byte Order:           Little Endian
CPU(s):                 288
  On-line CPU(s) list:  0-287
Vendor ID:              ARM
  Model:                0
  Thread(s) per core:   1
  Core(s) per socket:   72
  Socket(s):            4
  Stepping:             r0p0
  Frequency boost:      disabled
  CPU max MHz:          3492.0000
  CPU min MHz:          81.0000
  BogoMIPS:             2000.00
  Flags:                fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm ssbs sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh bti
Caches (sum of all):    
  L1d:                  18 MiB (288 instances)
  L1i:                  18 MiB (288 instances)
  L2:                   288 MiB (288 instances)
  L3:                   456 MiB (4 instances)
NUMA:                   
  NUMA node(s):         36
  NUMA node0 CPU(s):    0-71
  NUMA node1 CPU(s):    72-143
  NUMA node2 CPU(s):    144-215
  NUMA node3 CPU(s):    216-287
  NUMA node4 CPU(s):    
  NUMA node5 CPU(s):    
  NUMA node6 CPU(s):    
  NUMA node7 CPU(s):    
  NUMA node8 CPU(s):    
  NUMA node9 CPU(s):    
  NUMA node10 CPU(s):   
  NUMA node11 CPU(s):   
  NUMA node12 CPU(s):   
  NUMA node13 CPU(s):   
  NUMA node14 CPU(s):   
  NUMA node15 CPU(s):   
  NUMA node16 CPU(s):   
  NUMA node17 CPU(s):   
  NUMA node18 CPU(s):   
  NUMA node19 CPU(s):   
  NUMA node20 CPU(s):   
  NUMA node21 CPU(s):   
  NUMA node22 CPU(s):   
  NUMA node23 CPU(s):   
  NUMA node24 CPU(s):   
  NUMA node25 CPU(s):   
  NUMA node26 CPU(s):   
  NUMA node27 CPU(s):   
  NUMA node28 CPU(s):   
  NUMA node29 CPU(s):   
  NUMA node30 CPU(s):   
  NUMA node31 CPU(s):   
  NUMA node32 CPU(s):   
  NUMA node33 CPU(s):   
  NUMA node34 CPU(s):   
  NUMA node35 CPU(s):   
Vulnerabilities:        
  Gather data sampling: Not affected
  Itlb multihit:        Not affected
  L1tf:                 Not affected
  Mds:                  Not affected
  Meltdown:             Not affected
  Mmio stale data:      Not affected
  Retbleed:             Not affected
  Spec rstack overflow: Not affected
  Spec store bypass:    Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:           Mitigation; __user pointer sanitization
  Spectre v2:           Not affected
  Srbds:                Not affected
  Tsx async abort:      Not affected

It is missing this patch:https://github.com/util-linux/util-linux/commit/6857cccbb4157d5da34ca98f77a0ac9d68e1e740

If the patch is present then it should show
$ lscpu
Architecture:           aarch64
  CPU op-mode(s):       64-bit
  Byte Order:           Little Endian
CPU(s):                 288
  On-line CPU(s) list:  0-287
Vendor ID:              ARM
  Model name:           Neoverse-V2
    Model:              0


This is the rpm that I have in the system right now:
localhost:~ # rpm -qa | grep util-linux
util-linux-systemd-2.37.4-150500.9.6.1.aarch64
util-linux-2.37.4-150500.9.6.1.aarch64
util-linux-lang-2.37.4-150500.9.6.1.noarch


Requesting this to be backported to SLES 15 SP5 and SP6.
Comment 1 Carol Soto 2024-05-01 03:06:53 UTC
Hi
Tried the sles 15 sp6 rc and in that one this issue is ok. I can see Model Name. # lscpu
Architecture:             aarch64
  CPU op-mode(s):         64-bit
  Byte Order:             Little Endian
CPU(s):                   72
  On-line CPU(s) list:    0-71
Vendor ID:                ARM
  BIOS Vendor ID:         NVIDIA
  Model name:             Neoverse-V2
    BIOS Model name:      Grace A01 900-2G530-0000-000 CPU @ 3.4GHz
    BIOS CPU family:      258
    Model:                0
    Thread(s) per core:   1
    Core(s) per socket:   72
    Socket(s):            1
    Stepping:             r0p0
    Frequency boost:      disabled
    CPU(s) scaling MHz:   101%
    CPU max MHz:          3483.0000
    CPU min MHz:          81.0000
    BogoMIPS:             2000.00
    Flags:                fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fph
                          p asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 s
                          m3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc fl
                          agm ssbs sb paca pacg dcpodp sve2 sveaes svepmull sveb
                          itperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8m
                          m bf16 dgh bti

It looks like in SLES 15 SP6 RC the patch is applied at util-linux. 
So we just need it for SLES 15 SP5. 

Thanks
Carol
Comment 4 Stanislav Brabec 2024-05-13 12:26:54 UTC
Looks safe. Backport to the older versions is not requested?
Comment 5 Carol Soto 2024-05-13 14:44:00 UTC
(In reply to Stanislav Brabec from comment #4)
> Looks safe. Backport to the older versions is not requested?

We only use SLES 15 SP5 and will use SP6. So we are only focus on those.
Comment 6 Stanislav Brabec 2024-05-21 22:29:36 UTC
I did a deeper review of this list between SLE15 SP5 and the current GIT version.

However the patch is easy and safe, there are older upstream commits adding support for older cores than you request. I think that adding support e. g. for Neoverse-V2 without adding Neoverse-V1 is a bit non systematic.

These arm_part cores are not recognized by SLE15 SP5, but recognized by the next Tumbleweed. Sorted by commit date.

5148c84eb3 2021-12-17 { 0xd40, "Neoverse-V1" },
                      { 0xd44, "Cortex-X1" },
                      { 0xd48, "Cortex-X2" },
                      { 0xd49, "Neoverse-N2" },
8cdb31d149 2022-06-30 { 0xd46, "Cortex-A510" },
                      { 0xd47, "Cortex-A710" },
                      { 0xd4d, "Cortex-A715" },
                      { 0xd4e, "Cortex-X3" },
b22a3bb51c 2022-09-01 { 0xd02, "Cortex-A34" },
                      { 0xd43, "Cortex-A65AE" },
                      { 0xd4c, "Cortex-X1C" },
6857cccbb4 2023-01-22 { 0xd15, "Cortex-R82" },
                      { 0xd4f, "Neoverse-V2" },
6112ade968 2023-07-26 { 0xd16, "Cortex-R52+" },
                      { 0xd22, "Cortex-M55" },
                      { 0xd23, "Cortex-M85" },
                      { 0xd80, "Cortex-A520" },
                      { 0xd81, "Cortex-A720" },
                      { 0xd82, "Cortex-X4" },
c91694dd06 2024-02-26 { 0xd84, "Neoverse-V3" },
                      { 0xd8e, "Neoverse-N3" },


The patch requested by you is 6857cccbb4 2023-01-22.

There are more new cores in other *_part sections, and even several new sections (Apple, Microsoft, Ampere).

I suggest to add (cherry pick) all older commits to the arm_cores table. At least. Also 6112ade968 2023-07-26 makes sense. Maybe even c91694dd06 2024-02-26.

I suggest to not update all tables, at least until somebody will request it. (We cannot update the whole file, as it reimplements DMI decoder.)

What do you think about it?
Comment 7 Carol Soto 2024-05-21 22:43:29 UTC
(In reply to Stanislav Brabec from comment #6)
> I did a deeper review of this list between SLE15 SP5 and the current GIT
> version.
> 
> However the patch is easy and safe, there are older upstream commits adding
> support for older cores than you request. I think that adding support e. g.
> for Neoverse-V2 without adding Neoverse-V1 is a bit non systematic.

Yes agreed. 

> 
> These arm_part cores are not recognized by SLE15 SP5, but recognized by the
> next Tumbleweed. Sorted by commit date.
> 
> 5148c84eb3 2021-12-17 { 0xd40, "Neoverse-V1" },
>                       { 0xd44, "Cortex-X1" },
>                       { 0xd48, "Cortex-X2" },
>                       { 0xd49, "Neoverse-N2" },
> 8cdb31d149 2022-06-30 { 0xd46, "Cortex-A510" },
>                       { 0xd47, "Cortex-A710" },
>                       { 0xd4d, "Cortex-A715" },
>                       { 0xd4e, "Cortex-X3" },
> b22a3bb51c 2022-09-01 { 0xd02, "Cortex-A34" },
>                       { 0xd43, "Cortex-A65AE" },
>                       { 0xd4c, "Cortex-X1C" },
> 6857cccbb4 2023-01-22 { 0xd15, "Cortex-R82" },
>                       { 0xd4f, "Neoverse-V2" },
> 6112ade968 2023-07-26 { 0xd16, "Cortex-R52+" },
>                       { 0xd22, "Cortex-M55" },
>                       { 0xd23, "Cortex-M85" },
>                       { 0xd80, "Cortex-A520" },
>                       { 0xd81, "Cortex-A720" },
>                       { 0xd82, "Cortex-X4" },
> c91694dd06 2024-02-26 { 0xd84, "Neoverse-V3" },
>                       { 0xd8e, "Neoverse-N3" },
> 
> 
> The patch requested by you is 6857cccbb4 2023-01-22.
> 
> There are more new cores in other *_part sections, and even several new
> sections (Apple, Microsoft, Ampere).
> 
> I suggest to add (cherry pick) all older commits to the arm_cores table. At
> least. Also 6112ade968 2023-07-26 makes sense. Maybe even c91694dd06
> 2024-02-26.

Yes Im ok with your suggestions here. Thanks so much.  


> 
> I suggest to not update all tables, at least until somebody will request it.
> (We cannot update the whole file, as it reimplements DMI decoder.)
> 
> What do you think about it?
Comment 8 Stanislav Brabec 2024-05-23 21:22:07 UTC
SLE15 SP5: https://build.suse.de/request/show/331773
Comment 9 Stanislav Brabec 2024-05-23 22:32:15 UTC
SLE15 SP6: https://build.suse.de/request/show/331780
Comment 10 Stanislav Brabec 2024-05-24 00:07:11 UTC
ALP: https://build.suse.de/request/show/331782
Comment 12 Maintenance Automation 2024-05-29 08:30:07 UTC
SUSE-RU-2024:1810-1: An update that has three fixes can now be installed.

Category: recommended (moderate)
Bug References: 1218609, 1220117, 1223605
Maintenance Incident: [SUSE:Maintenance:33876](https://smelt.suse.de/incident/33876/)
Sources used:
openSUSE Leap 15.5 (src):
 util-linux-systemd-2.37.4-150500.9.11.1, python3-libmount-2.37.4-150500.9.11.1, util-linux-2.37.4-150500.9.11.1
openSUSE Leap 15.6 (src):
 python3-libmount-2.37.4-150500.9.11.1
SUSE Linux Enterprise Micro 5.5 (src):
 util-linux-systemd-2.37.4-150500.9.11.1, util-linux-2.37.4-150500.9.11.1
Basesystem Module 15-SP5 (src):
 util-linux-systemd-2.37.4-150500.9.11.1, util-linux-2.37.4-150500.9.11.1
Server Applications Module 15-SP5 (src):
 util-linux-systemd-2.37.4-150500.9.11.1

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.
Comment 14 Stanislav Brabec 2024-06-09 02:02:09 UTC
Released for SLE15 SP5.

A missing newest patch (Neoverse-V3, Neoverse-N3, not requested by this report) will be released for SLE15 SP6 soon, and waiting for ALP.
Comment 16 Maintenance Automation 2024-06-10 20:30:17 UTC
SUSE-SU-2024:1943-1: An update that solves one vulnerability and has three security fixes can now be installed.

Category: security (important)
Bug References: 1218609, 1220117, 1221831, 1223605
CVE References: CVE-2024-28085
Maintenance Incident: [SUSE:Maintenance:34183](https://smelt.suse.de/incident/34183/)
Sources used:
openSUSE Leap 15.6 (src):
 util-linux-systemd-2.39.3-150600.4.3.1, util-linux-2.39.3-150600.4.3.1, python-libmount-2.39.3-150600.4.3.1
Basesystem Module 15-SP6 (src):
 util-linux-2.39.3-150600.4.3.1, util-linux-systemd-2.39.3-150600.4.3.1
Server Applications Module 15-SP6 (src):
 util-linux-systemd-2.39.3-150600.4.3.1

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.