[LTCTest][OPAL][FW860.20] lscpu failed to list cpu max and min frequencies
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
The Ubuntu-power-systems project |
Fix Released
|
High
|
Canonical Foundations Team | ||
util-linux (Ubuntu) |
Fix Released
|
High
|
Canonical Foundations Team | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Artful |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
lscpu fails to list CPU max and min frequencies if some CPUs are guarded.
[Regression potential]
Isolated change to lscpu min/max CPU frequency output, so the worst that could happen is that it fails to work elsewhere.
[Test case]
1. Clone https:/
2. Run this command to GUARD the cpu.
./op-test --bmc-type FSP --bmc-ip $FSPIP --bmc-username dev --bmc-password FipSdev --host-ip $HOSTIP --host-user root --host-password passw0rd --ffdcdir test-reports/ --run testcases.
3. Repeat again, so that multiple CPUs are guarded.
4. Run lscpu
5. Observe that no CPU frequencies are displayed:
CPU max MHz: (null)
CPU min MHz: (null)
6. Install util-linux from -proposed.
7. Run lscpu again
8. Observe that max and min CPU frequencies are correctly displayed.
== Comment: #0 - Pridhiviraj Paidipeddi <email address hidden> - 2017-01-03 05:34:32 ==
---Problem Description---
After 3 CPU's are garded, lscpu failed to list CPU max and min frequencies
Contact Information = <email address hidden>
---uname output---
Linux p8wookie 4.8.0-32-generic #34~16.04.1-Ubuntu SMP Tue Dec 13 17:01:57 UTC 2016 ppc64le ppc64le ppc64le GNU/Linux
Machine Type = PowerNV 8284-22A
---Debugger---
A debugger is not configured
---Steps to Reproduce---
1. Read lscpu output
2. Inject HMI Non recoverable error three times
3. Read lscpu output again
compare the output cpu frequencies will list as NULL
Stack trace output:
no
Oops output:
no
Userspace tool common name: lscpu
Userspace rpm: util-linux
The userspace tool has the following bit modes: 64-bit
System Dump Info:
The system is not configured to capture a system dump.
Userspace tool obtained from project website: na
*Additional Instructions for <email address hidden>:
-Post a private note with access information to the machine that the bug is occuring on.
-Attach sysctl -a output output to the bug.
-Attach ltrace and strace of userspace application.
Before CPU's are garded:
root@p8wookie:~# lscpu
Architecture: ppc64le
Byte Order: Little Endian
CPU(s): 112
On-line CPU(s) list: 0-71,80-103,112-127
Thread(s) per core: 8
Core(s) per socket: 3
Socket(s): 4
NUMA node(s): 4
Model: 2.1 (pvr 004b 0201)
Model name: POWER8E (raw), altivec supported
CPU max MHz: 4322.0000
CPU min MHz: 2061.0000
L1d cache: 64K
L1i cache: 32K
L2 cache: 512K
L3 cache: 8192K
NUMA node0 CPU(s): 0-31
NUMA node1 CPU(s): 32-63
NUMA node16 CPU(s): 64-71,80-95
NUMA node17 CPU(s): 96-103,112-127
After 4 cores are garded:
root@p8wookie:~# lscpu
Architecture: ppc64le
Byte Order: Little Endian
CPU(s): 96
On-line CPU(s) list: 8-55,64-
Thread(s) per core: 8
Core(s) per socket: 3
Socket(s): 4
NUMA node(s): 4
Model: 2.1 (pvr 004b 0201)
Model name: POWER8E (raw), altivec supported
CPU max MHz: (null)
CPU min MHz: (null)
L1d cache: 64K
L1i cache: 32K
L2 cache: 512K
L3 cache: 8192K
NUMA node0 CPU(s): 8-31
NUMA node1 CPU(s): 32-55
NUMA node16 CPU(s): 64-71,80-95
NUMA node17 CPU(s): 96-103,112-127
== Comment: #1 - Pridhiviraj Paidipeddi <email address hidden> - 2017-01-11 07:06:59 ==
root@p8wookie:~# dmesg |grep -i powernv
[ 0.000000] Using PowerNV machine description
[ 0.331564] EEH: PowerNV platform initialized
[ 0.907250] powernv-rng: Registering arch random hook.
[ 1.504063] powernv-cpufreq: cpufreq pstate min -68 nominal -5 max 0
[ 1.507167] powernv_idle_driver registered
[ 34.184048] powernv_rng: Registered powernv hwrng.
[ 34.185619] ipmi-powernv ibm,opal:ipmi: Unable to map irq from device tree
[ 34.210966] ipmi-powernv ibm,opal:ipmi: Found new BMC (man_id: 0x000000, prod_id: 0x0000, dev_id: 0x00)
root@p8wookie:~# cat /sys/firmware/
[ 42.297825315,7] OCC Common Area at 0x3b00000 size 1MB
[ 42.297854780,7] OCC Common Area at 0x2000800000 size 1MB
[ 42.297884305,7] OCC Common Area at 0x2000800000 size 1MB
[ 42.297914258,7] OCC Common Area at 0x2000800000 size 1MB
[ 42.310897465,7] HBRT: OCC common base 0000002000800000 : 00800000
[ 42.317109440,7] HBRT: OCC common base 0000002000800000 : 00800000
[ 42.323969570,7] HBRT: OCC common base 0000002000800000 : 00800000
[ 42.330941943,7] HBRT: OCC common base 0000002000800000 : 00800000
[ 5.349544066,6] OCC: Got OCC Load message, scope=0x2 dbob=0x0 seq=0x29
[ 6.017413373,7] HBRT: OCC Load requested
[ 6.017414365,7] HBRT: Calling loadOCC() homer 0000002001400000, occ_common_area 0000002000800000, chip 0000
[ 6.017553013,7] HBRT: Calling loadOCC() homer 000000003a000000, occ_common_area 0000002000800000, chip 0001
[ 6.017666150,7] HBRT: Calling loadOCC() homer 0000002800400000, occ_common_area 0000002000800000, chip 0010
[ 6.017790110,7] HBRT: Calling loadOCC() homer 0000001000400000, occ_common_area 0000002000800000, chip 0011
[ 6.017929155,6] HBRT: OCC Start requested
[ 6.042511828,7] HBRT: startOCCs() rc = 0
[ 22.190466757,5] irq 11 name: psi:occ (7/8)
[ 22.190474587,5] irq 20011 name: psi:occ (7/56)
[ 22.193374475,7] OCC: Chip 00 Data (00000020015f8000) = 010100bcfb000000
[ 22.193376434,7] OCC: Chip 01 Data (000000003a1f8000) = 010100bcfb000000
[ 22.193378259,7] OCC: Chip 10 Data (00000028005f8000) = 010100bcfb000000
[ 22.193380201,7] OCC: Chip 11 Data (00000010005f8000) = 010100bcfb000000
[ 22.193382038,5] OCC: All Chip Rdy after 0 ms
[ 22.193415815,7] OCC: CPU pstate state device tree init
[ 22.193417077,7] OCC: Data ( 20015f8000) = 10100bcfb000000 0
[ 22.193418948,7] OCC: Min -68 Nom -5 Max 0 Nr States 69
[ 22.193941077,7] OCC: Chip 0 Core c PPMSR c2c2bc0008000000
[ 22.194457253,7] OCC: Chip 0 Core d PPMSR c8c8bc0008000000
[ 22.194973388,7] OCC: Chip 0 Core e PPMSR cecebc0008000000
[ 22.195536559,7] OCC: Chip 1 Core 6 PPMSR d3d3bc0008000000
[ 22.196053033,7] OCC: Chip 1 Core c PPMSR d9d9bc0008000000
[ 22.196568836,7] OCC: Chip 1 Core e PPMSR dfdfbc0008000000
[ 22.197152602,7] OCC: Chip 10 Core 5 PPMSR c2c2bc0008000000
[ 22.197668468,7] OCC: Chip 10 Core 6 PPMSR c8c8bc0008000000
[ 22.198184937,7] OCC: Chip 10 Core e PPMSR cecebc0008000000
[ 22.198730221,7] OCC: Chip 11 Core 4 PPMSR d3d3bc0008000000
[ 22.199245360,7] OCC: Chip 11 Core 5 PPMSR d9d9bc0008000000
[ 22.199760182,7] OCC: Chip 11 Core 6 PPMSR dedebc0008000000
root@p8wookie:~#
root@p8wookie:~#
root@p8wookie:~# lscpu
Architecture: ppc64le
Byte Order: Little Endian
CPU(s): 96
On-line CPU(s) list: 8-31,40-63,72-119
Thread(s) per core: 8
Core(s) per socket: 3
Socket(s): 4
NUMA node(s): 4
Model: 2.1 (pvr 004b 0201)
Model name: POWER8E (raw), altivec supported
CPU max MHz: (null)
CPU min MHz: (null)
L1d cache: 64K
L1i cache: 32K
L2 cache: 512K
L3 cache: 8192K
NUMA node0 CPU(s): 8-31
NUMA node1 CPU(s): 40-63
NUMA node16 CPU(s): 72-95
NUMA node17 CPU(s): 96-119
== Comment: #3 - MAMATHA INAMDAR <email address hidden> - 2017-01-24 00:23:03 ==
Not able to recreate this issue, I am facing some other issue while injecting HMI Non recoverable error
Pridhivi,
Can you please provide steps to reproduce with the commands
== Comment: #4 - Pridhiviraj Paidipeddi <email address hidden> - 2017-02-10 02:04:56 ==
Hi Mamatha
I am able to reproduce with below steps.
On Host:
#lscpu
#service kdump-tools stop
#echo 10 > /proc/sys/
On FSP:
$ getscom pu.ex 10013100 -all
$ putscom pu.ex 10013100 1000000000000000 -n0 -p00 -c6
Repeat the above process 4 times with each time on a different chip with master core getting injected.
Then run
lscpu
Architecture: ppc64le
Byte Order: Little Endian
CPU(s): 88
On-line CPU(s) list: 16-39,48-
Thread(s) per core: 8
Core(s) per socket: 2
Socket(s): 4
NUMA node(s): 4
Model: 2.1 (pvr 004b 0201)
Model name: POWER8E (raw), altivec supported
CPU max MHz: (null)
CPU min MHz: (null)
L1d cache: 64K
L1i cache: 32K
L2 cache: 512K
L3 cache: 8192K
NUMA node0 CPU(s): 16-31
NUMA node1 CPU(s): 32-39,48-63
NUMA node16 CPU(s): 64-71,80-95
NUMA node17 CPU(s): 104-127
== Comment: #5 - MAMATHA INAMDAR <email address hidden> - 2017-02-21 04:40:51 ==
I am able to recreate this issue,
I have a fix for this and will send patch soon to verify this issue.
== Comment: #6 - MAMATHA INAMDAR <email address hidden> - 2017-02-22 01:03:29 ==
Hi Pridhivi,
I have fixed the issue and copied "lscpu" on the p8wookie system,
Can you please verify and update the bug, so that I will submit patch for review
Thanks
Mamatha
== Comment: #7 - Pridhiviraj Paidipeddi <email address hidden> - 2017-02-22 01:14:45 ==
Hi mamatha
Tested on the system which is already having 2 cores garded.
root@p8wookie:~# lscpu
Architecture: ppc64le
Byte Order: Little Endian
CPU(s): 112
On-line CPU(s) list: 8-31,40-127
Thread(s) per core: 8
Core(s) per socket: 3
Socket(s): 4
NUMA node(s): 4
Model: 2.1 (pvr 004b 0201)
Model name: POWER8E (raw), altivec supported
CPU max MHz: 4322.0000-
CPU min MHz: 2061.0000-
L1d cache: 64K
L1i cache: 32K
L2 cache: 512K
L3 cache: 8192K
NUMA node0 CPU(s): 8-31
NUMA node1 CPU(s): 40-63
NUMA node16 CPU(s): 64-95
NUMA node17 CPU(s): 96-127
And also made all the cores offline except one core and verified it's working fine
root@p8wookie:~# ppc64_cpu --cores-on=1
root@p8wookie:~# lscpu
Architecture: ppc64le
Byte Order: Little Endian
CPU(s): 112
On-line CPU(s) list: 8-15
Off-line CPU(s) list: 16-31,40-127
Thread(s) per core: 8
Core(s) per socket: 1
Socket(s): 1
NUMA node(s): 4
Model: 2.1 (pvr 004b 0201)
Model name: POWER8E (raw), altivec supported
CPU max MHz: 4322.0000-
CPU min MHz: 2061.0000-
L1d cache: 64K
L1i cache: 32K
L2 cache: 512K
L3 cache: 8192K
NUMA node0 CPU(s): 8-15
NUMA node1 CPU(s):
NUMA node16 CPU(s):
NUMA node17 CPU(s):
root@p8wookie:~#
== Comment: #11 - MAMATHA INAMDAR <email address hidden> - 2017-11-17 02:02:41 ==
following is the upstream commit id
commit fc07d9f5aba7c58
Author: Mamatha Inamdar <email address hidden>
Date: Thu Apr 27 15:52:59 2017 +0530
lscpu: Read available CPUs max and min frequencies
Problem:"lscpu frequency-info" command was always reading CPU0
max and min frequencies. If CPU0 is guarded or offline then it used to
display max and min frequencies as NULL.
This patch will read overall CPU max and min frequencies.
Changed in ubuntu-power-systems: | |
importance: | Undecided → High |
assignee: | nobody → Canonical Kernel Team (canonical-kernel-team) |
tags: | added: triage-g |
Changed in ubuntu-power-systems: | |
assignee: | David Britton (davidpbritton) → Canonical Server Team (canonical-server) |
Changed in util-linux (Ubuntu): | |
assignee: | Ubuntu on IBM Power Systems Bug Triage (ubuntu-power-triage) → David Britton (davidpbritton) |
Changed in util-linux (Ubuntu): | |
importance: | Undecided → High |
Changed in ubuntu-power-systems: | |
status: | New → Triaged |
Changed in util-linux (Ubuntu): | |
assignee: | David Britton (davidpbritton) → Patricia Gaughen (gaughen) |
Changed in ubuntu-power-systems: | |
assignee: | Canonical Server Team (canonical-server) → nobody |
Changed in ubuntu-power-systems: | |
assignee: | nobody → Canonical Foundations Team (canonical-foundations) |
Changed in ubuntu-power-systems: | |
status: | Triaged → Incomplete |
Changed in util-linux (Ubuntu): | |
assignee: | Patricia Gaughen (gaughen) → Canonical Foundations Team (canonical-foundations) |
Changed in util-linux (Ubuntu Xenial): | |
status: | Incomplete → Triaged |
Changed in util-linux (Ubuntu): | |
status: | Incomplete → Triaged |
Changed in ubuntu-power-systems: | |
status: | Incomplete → Triaged |
description: | updated |
Changed in util-linux (Ubuntu Xenial): | |
status: | Triaged → In Progress |
description: | updated |
tags: | added: id-5a2eb607f4872474ec5e0a80 |
Changed in ubuntu-power-systems: | |
status: | Triaged → Fix Committed |
tags: | added: verification-failed-xenial |
tags: |
added: triage-a removed: triage-g |
tags: |
added: verification-needed-xenial removed: verification-failed-xenial |
tags: |
added: triage-g removed: triage-a |
Changed in ubuntu-power-systems: | |
status: | Fix Committed → Fix Released |
Default Comment by Bridge