This bug was fixed in the package util-linux - 2.27.1-6ubuntu3.6

---------------
util-linux (2.27.1-6ubuntu3.6) xenial; urgency=medium

  * d/patches/lscpu-make-min-max-freq-arrays-usage-more-robust.patch,
    d/patches/Avoid-crash-in-min-max-caculation-when-cpu-0-being-o.patch:
    Cherry pick upstream patches to avoid SEGV in min/max frequency.
    LP: #1771345

util-linux (2.27.1-6ubuntu3.5) xenial; urgency=medium

  * d/patches/lscpu-Read-available-CPUs-max-and-min-frequencies.patch,
    d/patches/lscpu-make-cpu_-max-min-_mhz-usage-more-elegant.patch:
    Backport upstream fixes to correctly read minimum and maximum
    CPU frequencies on ppc64 when some cpus are guarded or offline.
    LP: #1732865

 -- Julian Andres Klode <juli...@ubuntu.com>  Wed, 16 May 2018 12:36:24
+0200

** Changed in: util-linux (Ubuntu Xenial)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to util-linux in Ubuntu.
https://bugs.launchpad.net/bugs/1732865

Title:
  [LTCTest][OPAL][FW860.20] lscpu failed to list cpu max and min
  frequencies

Status in The Ubuntu-power-systems project:
  Fix Committed
Status in util-linux package in Ubuntu:
  Fix Released
Status in util-linux source package in Xenial:
  Fix Released
Status in util-linux source package in Artful:
  Fix Released

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://github.com/open-power/op-test-framework
  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.OpTestHMIHandling.MalfunctionAlert
  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 <ppaid...@in.ibm.com> - 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 = ppaid...@in.ibm.com

  ---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 ppaid...@in.ibm.com:
  -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-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:           (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 <ppaid...@in.ibm.com> - 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/opal/msglog | grep -i occ
  [   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 <mainam...@in.ibm.com> - 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 <ppaid...@in.ibm.com> - 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/kernel/panic

  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-71,80-95,104-127
  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 <mainam...@in.ibm.com> - 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 <mainam...@in.ibm.com> - 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 <ppaid...@in.ibm.com> - 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----------------------------------->Works
  CPU min MHz:           2061.0000------------------------------------>Works
  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---------------------------------------->Works
  CPU min MHz:           
2061.0000----------------------------------------->Works
  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 <mainam...@in.ibm.com> - 2017-11-17 
02:02:41 ==
  following is the upstream commit id

  commit fc07d9f5aba7c58d9793a6c781d569316dfd25f6
  Author: Mamatha Inamdar <mamat...@linux.vnet.ibm.com>
  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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-power-systems/+bug/1732865/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to