Compare commits

..

No commits in common. "c8" and "c9s" have entirely different histories.
c8 ... c9s

16 changed files with 555 additions and 877 deletions

28
.gitignore vendored
View File

@ -1 +1,27 @@
SOURCES/powerpc-utils-1.3.10.tar.gz
powerpc-utils-1.2.2.tar.gz
/powerpc-utils-1.2.6.tar.gz
/powerpc-utils-1.2.10.tar.gz
/powerpc-utils-1.2.11.tar.gz
/powerpc-utils-1.2.12.tar.gz
/powerpc-utils-1.2.14.tar.gz
/powerpc-utils-1.2.15.tar.gz
/powerpc-utils-1.2.16.tar.gz
/powerpc-utils-1.2.17.tar.gz
/powerpc-utils-1.2.18.tar.gz
/powerpc-utils-1.2.19.tar.gz
/powerpc-utils-1.2.20.tar.gz
/powerpc-utils-1.2.22.tar.gz
/powerpc-utils-1.2.23.tar.gz
/powerpc-utils-1.2.24.tar.gz
/powerpc-utils-1.2.27.tar.gz
/v1.3.0.tar.gz
/v1.3.1.tar.gz
/v1.3.3.tar.gz
/powerpc-utils-1.3.4.tar.gz
/powerpc-utils-1.3.5.tar.gz
/powerpc-utils-1.3.6.tar.gz
/powerpc-utils-1.3.7.tar.gz
/powerpc-utils-1.3.8.tar.gz
/powerpc-utils-1.3.9.tar.gz
/powerpc-utils-1.3.10.tar.gz
/powerpc-utils-1.3.13.tar.gz

View File

@ -1,11 +0,0 @@
diff -up powerpc-utils-1.3.10/Makefile.am.me powerpc-utils-1.3.10/Makefile.am
--- powerpc-utils-1.3.10/Makefile.am.me 2022-06-03 12:35:01.335312481 +0200
+++ powerpc-utils-1.3.10/Makefile.am 2022-06-03 14:11:58.453820076 +0200
@@ -229,7 +229,6 @@ install-data-hook:
$(INSTALL_DATA) systemd/smtstate.service $(DESTDIR)${systemd_unit_dir}/
$(INSTALL_DATA) systemd/hcn-init.service $(DESTDIR)${systemd_unit_dir}/
$(INSTALL_DATA) var/lib/powerpc-utils/smt.state $(DESTDIR)/var/lib/@PACKAGE@/
- $(INSTALL_SCRIPT) scripts/functions.suse $(DESTDIR)/usr/lib/@PACKAGE@/
$(INSTALL_SCRIPT) scripts/smtstate $(DESTDIR)@sbindir@
sed -i -e 's,$${exec_prefix},@prefix@,g' $(DESTDIR)${systemd_unit_dir}/smt_off.service
sed -i -e 's,$${exec_prefix},@prefix@,g' $(DESTDIR)${systemd_unit_dir}/smtstate.service

View File

@ -1,84 +0,0 @@
commit 73ba26c1240a25e7699449e82cfc09dad10fed80
Author: Sathvika Vasireddy <sv@linux.ibm.com>
Date: Fri Dec 9 15:26:46 2022 +0530
lparstat: Fix negative values seen while running lparstat with -E option
Negative values are seen while running lparstat with -E option.
This is because delta_purr value is less than delta_idle_purr.
Given that these values are read from different sources, a
small variation in the values is possible. So, in such cases,
round down delta_idle_purr to delta_purr.
Without this patch:
=====
System Configuration
type=Dedicated mode=Capped smt=8 lcpu=240 mem=67033290112 kB cpus=0
ent=240.00
---Actual--- -Normalized-
%busy %idle Frequency %busy %idle
------ ------ ------------- ------ ------
-0.03 100.02 3.93GHz[111%] 0.01 110.97
0.00 100.00 3.93GHz[111%] 0.01 110.99
-0.04 100.03 3.93GHz[111%] 0.01 110.98
0.06 99.95 3.93GHz[111%] 0.01 110.99
0.02 99.98 3.93GHz[111%] 0.01 110.99
=====
With this patch:
=====
System Configuration
type=Dedicated mode=Capped smt=8 lcpu=240 mem=67033290112 kB cpus=0
ent=240.00
---Actual--- -Normalized-
%busy %idle Frequency %busy %idle
------ ------ ------------- ------ ------
0.03 99.96 3.93GHz[111%] 0.01 110.98
0.00 100.00 3.93GHz[111%] 0.01 110.99
0.03 99.97 3.93GHz[111%] 0.01 110.99
0.00 100.00 3.93GHz[111%] 0.01 110.99
0.09 99.90 3.93GHz[111%] 0.01 110.99
=====
Reported-by: Shirisha Ganta <shirisha.ganta1@ibm.com>
Signed-off-by: Sathvika Vasireddy <sv@linux.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
diff --git a/src/lparstat.c b/src/lparstat.c
index 31a4ee8..eebba1f 100644
--- a/src/lparstat.c
+++ b/src/lparstat.c
@@ -492,6 +492,15 @@ void get_cpu_util_purr(struct sysentry *unused_se, char *buf)
delta_purr = get_delta_value("purr");
delta_idle_purr = get_delta_value("idle_purr");
+ /*
+ * Given that these values are read from different
+ * sources (purr from lparcfg and idle_purr from sysfs),
+ * a small variation in the values is possible.
+ * In such cases, round down delta_idle_purr to delta_purr.
+ */
+ if (delta_idle_purr > delta_purr)
+ delta_idle_purr = delta_purr;
+
physc = (delta_purr - delta_idle_purr) / delta_tb;
physc *= 100.00;
@@ -507,6 +516,15 @@ void get_cpu_idle_purr(struct sysentry *unused_se, char *buf)
delta_purr = get_delta_value("purr");
delta_idle_purr = get_delta_value("idle_purr");
+ /*
+ * Given that these values are read from different
+ * sources (purr from lparcfg and idle_purr from sysfs),
+ * a small variation in the values is possible.
+ * In such cases, round down delta_idle_purr to delta_purr.
+ */
+ if (delta_idle_purr > delta_purr)
+ delta_idle_purr = delta_purr;
+
physc = (delta_purr - delta_idle_purr) / delta_tb;
idle = (delta_purr / delta_tb) - physc;
idle *= 100.00;

View File

@ -1,46 +0,0 @@
commit dee15756bcb287ccf39a904be07c90107b13844b
Author: Laurent Dufour <ldufour@linux.ibm.com>
Date: Wed May 3 10:50:15 2023 +0200
lparstat: Fix offline threads uninitialized entries
When some threads are offline, lparstat -E is failing like that:
$ ppc64_cpu --info # CPU 20 is offline
Core 0: 0* 1* 2* 3* 4* 5* 6* 7*
Core 1: 8* 9* 10* 11* 12* 13* 14* 15*
Core 2: 16* 17* 18* 19* 20 21* 22* 23*
Core 3: 24* 25* 26* 27* 28* 29* 30* 31*
Core 4: 32* 33* 34* 35* 36* 37* 38* 39*
Core 5: 40* 41* 42* 43* 44* 45* 46* 47*
$ lparstat -E
Failed to read /sys/devices/system/cpu/cpu0/spurr
The message is complaining about CPU0 but the real issue is that in
parse_sysfs_values() the test cpu_sysfs_fds[i].spurr >= 0 is valid even if
the entry has not been initialized (cpu_sysfs_fds is alloc cleared). So
if the number of threads online seen in assign_cpu_sysfs_fds is lower than
threads_in_system, the loop in parse_sysfs_values() will read uninitialized
entry, where .cpu=0.
To prevent that, unset entries in the cpu_sysfs_fds should have the spurr
fd set to -1.
Signed-off-by: Laurent Dufour <ldufour@linux.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
diff --git a/src/lparstat.c b/src/lparstat.c
index a9e7bce..d2fdb3f 100644
--- a/src/lparstat.c
+++ b/src/lparstat.c
@@ -163,6 +163,10 @@ static int assign_cpu_sysfs_fds(int threads_in_system)
cpu_idx++;
}
+ /* Mark extra slots for offline threads unset, see parse_sysfs_values */
+ for (; cpu_idx < threads_in_system; cpu_idx++)
+ cpu_sysfs_fds[cpu_idx].spurr = -1;
+
return 0;
error:
fprintf(stderr, "Failed to open %s: %s\n",

View File

@ -1,93 +0,0 @@
commit b2672fa3d462217ccd057a2cd307af2448e78757
Author: Laurent Dufour <ldufour@linux.ibm.com>
Date: Wed May 3 10:50:14 2023 +0200
lparstat: report mixed SMT state
when SMT state is mixed like this one (CPU 4 is offline):
$ ppc64_cpu --info
Core 0: 0* 1* 2* 3* 4 5* 6* 7*
Core 1: 8* 9* 10* 11* 12* 13* 14* 15*
Core 2: 16* 17* 18* 19* 20* 21* 22* 23*
Core 3: 24* 25* 26* 27* 28* 29* 30* 31*
Core 4: 32* 33* 34* 35* 36* 37* 38* 39*
Core 5: 40* 41* 42* 43* 44* 45* 46* 47*
$ ppc64_cpu --smt
SMT=7: 0
SMT=8: 1-5
ppc64_cpu --smt is handling that nicely but lparstat failed reporting the
SMT state:
$ /usr/sbin/lparstat
Failed to get smt state
System Configuration
type=Dedicated mode=Capped smt=Capped lcpu=6 mem=65969728 kB cpus=0 ent=6.00
%user %sys %wait %idle physc %entc lbusy app vcsw phint
----- ----- ----- ----- ----- ----- ----- ----- ----- -----
0.02 0.01 0.00 99.97 3.41 56.83 0.02 0.00 4061778 156
Makes lparstat reporting "smt=mixed" in that case.
__do_smt is now returning 0 when the SMT state is mixed instead of -1 which
is also reported when an error is detected.
This doesn't change the call made by ppc64_cpu which is using
print_smt_state=true and so is expecting a returned value equal to 0 or -1.
With that patch applied, lparstat print that in the above case:
$lparstat
System Configuration
type=Dedicated mode=Capped smt=Mixed lcpu=6 mem=65969728 kB cpus=0 ent=6.00
%user %sys %wait %idle physc %entc lbusy app vcsw phint
----- ----- ----- ----- ----- ----- ----- ----- ----- -----
0.01 0.01 0.00 99.97 3.43 57.17 0.02 0.00 4105654 156
Signed-off-by: Laurent Dufour <ldufour@linux.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
diff --git a/src/common/cpu_info_helpers.c b/src/common/cpu_info_helpers.c
index 925f220..c05d96d 100644
--- a/src/common/cpu_info_helpers.c
+++ b/src/common/cpu_info_helpers.c
@@ -245,7 +245,7 @@ int __do_smt(bool numeric, int cpus_in_system, int threads_per_cpu,
if (smt_state == 0)
smt_state = thread + 1;
else if (smt_state > 0)
- smt_state = -1; /* mix of SMT modes */
+ smt_state = 0; /* mix of SMT modes */
}
}
@@ -257,7 +257,7 @@ int __do_smt(bool numeric, int cpus_in_system, int threads_per_cpu,
printf("SMT=1\n");
else
printf("SMT is off\n");
- } else if (smt_state == -1) {
+ } else if (smt_state == 0) {
for (thread = 0; thread < threads_per_cpu; thread++) {
if (CPU_COUNT_S(cpu_state_size,
cpu_states[thread])) {
diff --git a/src/lparstat.c b/src/lparstat.c
index eebba1f..a9e7bce 100644
--- a/src/lparstat.c
+++ b/src/lparstat.c
@@ -884,13 +884,15 @@ void get_smt_mode(struct sysentry *se, char *buf)
}
smt_state = parse_smt_state();
- if (smt_state < 0) {
+ if (smt_state == -1) {
fprintf(stderr, "Failed to get smt state\n");
return;
}
if (smt_state == 1)
sprintf(buf, "Off");
+ else if (smt_state == 0)
+ sprintf(buf, "Mixed");
else
sprintf(buf, "%d", smt_state);
}

View File

@ -1,98 +0,0 @@
commit b1b9e76de0f3ab1dfcd9426779fa20fd77cd5625
Author: Luciano Chavez <lnx1138@linux.ibm.com>
Date: Wed Aug 24 21:11:32 2022 -0500
lsslot: Fix lsslot -c mem output when using 4GB LMB size
When using a LMB size of 4GB, the output of lsslot -c mem would get
reported incorrectly as:
Dynamic Reconfiguration Memory (LMB size 0x0)
:
DRC Index: 80000001 Address: 100000000
Removable: No Associativity: (index: 1) 0 1 4 9
Section(s):
This patch changes the declaration of the _node_u._smem._lmb_size from
a uint32_t to uint64_t to store the value properly. Any variables that
store the lmb_size are also declared as uint64_t. In addition, we
use the PRIx64 macro in printf statements to properly print the
lmb_size value.
The patch also includes a necessary change to declare the global
variable block_sz_bytes as a uint64_t to fix an infinite loop in
the function get_mem_scns() when the above changes were introduced.
Signed-off-by: Luciano Chavez <lnx1138@linux.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
diff --git a/src/drmgr/drmem.h b/src/drmgr/drmem.h
index db5a47f..48108c5 100644
--- a/src/drmgr/drmem.h
+++ b/src/drmgr/drmem.h
@@ -58,7 +58,7 @@ struct drconf_mem_v2 {
#define LMB_REVERSE_SORT 1
#define LMB_RANDOM_SORT 2
-extern int block_sz_bytes;
+extern uint64_t block_sz_bytes;
struct lmb_list_head *get_lmbs(unsigned int);
void free_lmbs(struct lmb_list_head *);
diff --git a/src/drmgr/drslot_chrp_mem.c b/src/drmgr/drslot_chrp_mem.c
index 3b78723..d37ee80 100644
--- a/src/drmgr/drslot_chrp_mem.c
+++ b/src/drmgr/drslot_chrp_mem.c
@@ -33,7 +33,7 @@
#include "drmem.h"
#include "common_numa.h"
-int block_sz_bytes = 0;
+uint64_t block_sz_bytes = 0;
static char *state_strs[] = {"offline", "online"};
static char *usagestr = "-c mem {-a | -r} {-q <quantity> -p {variable_weight | ent_capacity} | {-q <quantity> | -s [<drc_name> | <drc_index>]}}";
@@ -118,7 +118,7 @@ free_lmbs(struct lmb_list_head *lmb_list)
static int
get_mem_scns(struct dr_node *lmb)
{
- uint32_t lmb_sz = lmb->lmb_size;
+ uint64_t lmb_sz = lmb->lmb_size;
uint64_t phys_addr = lmb->lmb_address;
uint32_t mem_scn;
int rc = 0;
diff --git a/src/drmgr/lsslot.c b/src/drmgr/lsslot.c
index 87f876e..83e9e85 100644
--- a/src/drmgr/lsslot.c
+++ b/src/drmgr/lsslot.c
@@ -741,7 +741,7 @@ int print_drconf_mem(struct lmb_list_head *lmb_list)
if (usr_drc_name)
drc_index = strtol(usr_drc_name, NULL, 0);
- printf("Dynamic Reconfiguration Memory (LMB size 0x%x)\n",
+ printf("Dynamic Reconfiguration Memory (LMB size 0x%"PRIx64")\n",
lmb_list->lmbs->lmb_size);
for (lmb = lmb_list->lmbs; lmb; lmb = lmb->next) {
@@ -808,7 +808,7 @@ int lsslot_chrp_mem(void)
if (lmb_list->drconf_buf) {
print_drconf_mem(lmb_list);
} else {
- printf("lmb size: 0x%x\n", lmb_list->lmbs->lmb_size);
+ printf("lmb size: 0x%"PRIx64"\n", lmb_list->lmbs->lmb_size);
printf("%-20s %-5s %c %s\n", "Memory Node", "Name", 'R',
"Sections");
printf("%-20s %-5s %c %s\n", "-----------", "----", '-',
diff --git a/src/drmgr/ofdt.h b/src/drmgr/ofdt.h
index 26c943a..bd90810 100644
--- a/src/drmgr/ofdt.h
+++ b/src/drmgr/ofdt.h
@@ -94,7 +94,7 @@ struct dr_node {
union {
struct mem_info {
uint64_t _address;
- uint32_t _lmb_size;
+ uint64_t _lmb_size;
uint32_t _lmb_aa_index;
struct mem_scn *_mem_scns;
struct of_node *_of_node;

View File

@ -1,29 +0,0 @@
commit e1f1deb06d9168a95a381a2236e1d8c693d3d229
Author: Luciano Chavez <lnx1138@linux.ibm.com>
Date: Wed Aug 24 21:17:54 2022 -0500
lsslot: Explicity declare that lmb_address be displayed in hexadecimal
A printf statement used is lsslot.c was specifying the macro PRIu64 to
display the lmb_address. Depending on the compilation, this would
either display as a hexadecimal or decimal value.
This patch replaces PRIu64 with PRIx64 to explicitly declare to print
the value as hexadecimal as that was is normally expected of an address.
Signed-off-by: Luciano Chavez <lnx1138@linux.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
diff --git a/src/drmgr/lsslot.c b/src/drmgr/lsslot.c
index 7ea0f8b..87f876e 100644
--- a/src/drmgr/lsslot.c
+++ b/src/drmgr/lsslot.c
@@ -756,7 +756,7 @@ int print_drconf_mem(struct lmb_list_head *lmb_list)
printf("%s: %s\n", lmb->drc_name,
lmb->is_owned ? "" : "Not Owned");
- printf(" DRC Index: %x Address: %"PRIu64"\n",
+ printf(" DRC Index: %x Address: %"PRIx64"\n",
lmb->drc_index, lmb->lmb_address);
printf(" Removable: %s Associativity: ",
lmb->is_removable ? "Yes" : "No ");

View File

@ -1,93 +0,0 @@
commit f4c2b0d142f623e7dd28a5d685e446d41be75601
Author: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Date: Thu Aug 25 12:19:27 2022 +0530
lparstat: Fix display of mode for dedicated-donating partition
From the lparstat man page:
mode
Indicates whether the partition processor capacity is capped or uncapped
allowing it to consume idle cycles from the shared pool. Dedicated LPAR
is capped or donating.
However, on a dedicated partition, lparstat always displays the mode as
'Capped' today. Fix this by using 'DedDonMode' field from lparcfg for
determining the cycle donation status of a dedicated partition.
On a dedicated-donating partition:
$ grep -e shared -e DedDonMode -e capped /proc/powerpc/lparcfg
DedDonMode=1
capped=1
shared_processor_mode=0
Before this patch:
$ lparstat
System Configuration
type=Dedicated mode=Capped smt=8 lcpu=1 mem=3335424 kB cpus=0 ent=1.00
After this patch:
$ lparstat
System Configuration
type=Dedicated mode=Donating smt=8 lcpu=1 mem=3335424 kB cpus=0 ent=1.00
Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Reviewed-by: Nathan Lynch <nathanl@linux.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
diff --git a/src/lparstat.c b/src/lparstat.c
index 0b30fc9..e998e8c 100644
--- a/src/lparstat.c
+++ b/src/lparstat.c
@@ -718,6 +718,16 @@ void get_capped_mode(struct sysentry *se, char *buf)
sprintf(buf, "%s", value);
}
+void get_dedicated_mode(struct sysentry *se, char *buf)
+{
+ const char *value = "Capped";
+
+ if (se->value[0] == '1')
+ value = "Donating";
+
+ sprintf(buf, "%s", value);
+}
+
void get_percent_entry(struct sysentry *se, char *buf)
{
float value;
@@ -1057,7 +1067,10 @@ void print_system_configuration(void)
get_sysdata("shared_processor_mode", &descr, value);
offset = sprintf(buf, "type=%s ", value);
sprintf(type, "%s", value);
- get_sysdata("capped", &descr, value);
+ if (!strcmp(value, "Dedicated"))
+ get_sysdata("DedDonMode", &descr, value);
+ else
+ get_sysdata("capped", &descr, value);
offset += sprintf(buf + offset, "mode=%s ", value);
get_sysdata("smt_state", &descr, value);
offset += sprintf(buf + offset, "smt=%s ", value);
diff --git a/src/lparstat.h b/src/lparstat.h
index 26ed4ba..b7c88e9 100644
--- a/src/lparstat.h
+++ b/src/lparstat.h
@@ -47,6 +47,7 @@ typedef struct cpu_sysfs_file_desc cpu_sysfs_fd;
extern void get_smt_state(struct sysentry *, char *);
extern void get_capped_mode(struct sysentry *, char *);
+extern void get_dedicated_mode(struct sysentry *, char *);
extern void get_memory_mode(struct sysentry *, char *);
extern void get_percent_entry(struct sysentry *, char *);
extern void get_phys_cpu_percentage(struct sysentry *, char *);
@@ -110,7 +111,8 @@ struct sysentry system_data[] = {
{.name = "DesVarCapWt",
.descr = "Desired Variable Capacity Weight"},
{.name = "DedDonMode",
- .descr = "Dedicated Donation Mode"},
+ .descr = "Dedicated Donation Mode",
+ .get = &get_dedicated_mode},
{.name = "partition_entitled_capacity",
.descr = "Partition Entitled Capacity"},
{.name = "system_active_processors",

View File

@ -1,27 +0,0 @@
commit acaf9c45a340f9bb49d6b21ba7ad60c21326ea73
Author: Mingming Cao <mmc@linux.vnet.ibm.com>
Date: Mon Nov 7 14:39:02 2022 -0800
hcnmgr: Fix setting primary slave across reboots
Using nmcli to set bonding of primary slave so that is set correctly
across reboots.
Signed-off-by: Mingming Cao <mmc@linux.vnet.ibm.com>
[tyreld: Reworded commit log]
Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
diff --git a/scripts/hcnmgr b/scripts/hcnmgr
index 6946ff9..b5a6bfb 100644
--- a/scripts/hcnmgr
+++ b/scripts/hcnmgr
@@ -375,7 +375,8 @@ do_config_vdevice_nm() {
# if the device is primary, and link is up, force it as primary se
if [[ $MODE == "primary" ]]; then
hcnlog INFO "Change bonding primary slave to $DEVNAME"
- echo "$DEVNAME" >"$BOND_PATH"/primary
+ nmcli con mod id "$BONDNAME" +bond.options "primary=$DEVNAME"
+ nmcli con up "$BONDNAME"
fi
hcnlog DEBUG "do_config_vdevice: exit"

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}

View File

@ -1,265 +1,26 @@
diff -up powerpc-utils-1.3.5/man/pseries_platform.8.me powerpc-utils-1.3.5/man/pseries_platform.8
--- powerpc-utils-1.3.5/man/pseries_platform.8.me 2018-11-29 16:50:07.601034729 +0100
+++ powerpc-utils-1.3.5/man/pseries_platform.8 2018-11-29 16:50:07.601034729 +0100
@@ -0,0 +1,11 @@
+.\"
+.\" Copyright (C) 2015 International Business Machines
+.\"
+.TH pseries_platform 8 "September 2015" Linux "Linux on Power Service Tools"
+.SH NAME
+pseries_platform \- identify the platform and display the name of platform
+.SH SYNOPSIS
+.B /usr/bin/pseries_platform
+
+.SH DESCRIPTION
+The \fIpseries_platform\fR tool can identify the platform and display the name of platform.
diff -up powerpc-utils-1.2.15/man/lsdevinfo.8.man powerpc-utils-1.2.15/man/lsdevinfo.8
--- powerpc-utils-1.2.15/man/lsdevinfo.8.man 2013-01-16 15:31:13.886591137 +0100
+++ powerpc-utils-1.2.15/man/lsdevinfo.8 2013-01-16 15:31:13.886591137 +0100
@@ -0,0 +1,39 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36.
+.TH LSDEVINFO "8" "October 2010" "Linux" "Linux on Power Service Tools"
+.SH NAME
+lsdevinfo - information on Virtual devices
+
+.SH SYNOPSIS
+.B lsdevinfo
+[\fI-q criteria\fR] [\fI-F format\fR] [\fI-R\fR] [\fI-c\fR] [\fI-h\fR]
+
+.SH DESCRIPTION
+Provide information on Virtual devices
+.PP
+
+.SH OPTIONS
+.TP
+\fB\-q\fR criteria
+Specifies a criteria to select which devices are to be displayed.
+.TP
+\fB\-F\fR format
+Specifies the set of attributes to be displayed.
+.TP
+\fB\-R\fR
+Recursively display children of selected devices
+.TP
+\fB\-c\fR
+Display output as a comma separated list for each device.
+.TP
+\fB\-V\fR
+Display version information and exit
+.TP
+\fB\-h\fR
+Display help information and exit
+
+.SH AUTHOR
+.B lsdevinfo
+was written by Santiago Leon <sleon@ec.ibm.com>.
+.PP
+This manual page was written by Roman Rakus <rrakus@redhat.com>.
+
diff -up powerpc-utils-1.2.15/man/lsprop.8.man powerpc-utils-1.2.15/man/lsprop.8
--- powerpc-utils-1.2.15/man/lsprop.8.man 2013-01-16 15:31:13.886591137 +0100
+++ powerpc-utils-1.2.15/man/lsprop.8 2013-01-16 15:31:13.886591137 +0100
@@ -0,0 +1,42 @@
+.TH LSPROP "8" "Sep 2010" "Linux" "Linux on Power Service Tools"
+.SH NAME
+lsprop \- list properties
+.SH SYNOPSIS
+.B lsprop
+.RB [ \-R ]
+.RB [ \-m
+.IR max-bytes ]
+.RB [ \-w
+.IR num-words ]
+.RI [ FILE .\|.\|.]
+.SH OVERVIEW
+.B lsprop
+program is a member of the ppc64-utils suite of utils.
+Use it to list properties
+
+.SH DESCRIPTION
+.B lsprop
+displays properties for
+.IR FILE s
+like Open Firmware
+.I .properties
+word.
+If the
+.I FILE
+is not set, the current directory is used.
+
+.SH OPTIONS
+.TP
+.B \-R
+Process recursively
+.TP
+.BI \-m " max-bytes"
+Read only first
+.I max-bytes
+bytes from the
+.IR FILE s
+.TP
+.BI \-w " num-words"
+Display up to
+.I num-words
+words per line
diff -up powerpc-utils-1.2.15/man/ls-vdev.8.man powerpc-utils-1.2.15/man/ls-vdev.8
--- powerpc-utils-1.2.15/man/ls-vdev.8.man 2013-01-16 15:31:13.886591137 +0100
+++ powerpc-utils-1.2.15/man/ls-vdev.8 2013-01-16 15:31:13.886591137 +0100
@@ -0,0 +1,25 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36.
+.TH LS-VDEV "8" "October 2010" "Linux" "Linux on Power Service Tools"
+.SH NAME
+ls-vdev \- information on Virtual SCSI adapters and devices
+.SH SYNOPSIS
+.BR ls-vdev " [" \-h " | " -V ]
+
+.SH DESCRIPTION
+Provide information on Virtual SCSI adapters and devices
+.PP
+
+.SH OPTIONS
+.TP
+\fB\-V\fR
+Display version information and exit
+.TP
+\fB\-h\fR
+Display help information and exit
+.PP
+
+.SH AUTHOR
+.B ls-vdev
+was written by Brian King <brking@linux.vnet.ibm.com>.
+.PP
+This manual page was written by Roman Rakus <rrakus@redhat.com>.
diff -up powerpc-utils-1.2.15/man/ls-veth.8.man powerpc-utils-1.2.15/man/ls-veth.8
--- powerpc-utils-1.2.15/man/ls-veth.8.man 2013-01-16 15:31:13.887591102 +0100
+++ powerpc-utils-1.2.15/man/ls-veth.8 2013-01-16 15:31:13.887591102 +0100
@@ -0,0 +1,25 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36.
+.TH LS-VETH "8" "October 2010" "Linux" "Linux on Power Service Tools"
+.SH NAME
+ls-veth \- information on Virtual Ethernet devices
+.SH SYNOPSIS
+.BR ls-veth " [" \-h " | " -V ]
+
+.SH DESCRIPTION
+Provide information on Virtual Ethernet devices
+.PP
+
+.SH OPTIONS
+.TP
+\fB\-V\fR
+Display version information and exit
+.TP
+\fB\-h\fR
+Display help information and exit
+.PP
+
+.SH AUTHOR
+.B ls-veth
+was written by Brian King <brking@linux.vnet.ibm.com>.
+.PP
+This manual page was written by Roman Rakus <rrakus@redhat.com>.
diff -up powerpc-utils-1.2.15/man/ls-vscsi.8.man powerpc-utils-1.2.15/man/ls-vscsi.8
--- powerpc-utils-1.2.15/man/ls-vscsi.8.man 2013-01-16 15:31:13.887591102 +0100
+++ powerpc-utils-1.2.15/man/ls-vscsi.8 2013-01-16 15:31:13.887591102 +0100
@@ -0,0 +1,25 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36.
+.TH LS-VSCSI "8" "October 2010" "Linux" "Linux on Power Service Tools"
+.SH NAME
+ls-vscsi \- information on Virtual devices
+.SH SYNOPSIS
+.BR ls-vscsi " [" \-h " | " -V ]
+
+.SH DESCRIPTION
+Provide information on Virtual devices
+.PP
+
+.SH OPTIONS
+.TP
+\fB\-V\fR
+Display version information and exit
+.TP
+\fB\-h\fR
+Display help information and exit
+.PP
+
+.SH AUTHOR
+.B ls-vscsi
+was written by Brian King <brking@linux.vnet.ibm.com>.
+.PP
+This manual page was written by Roman Rakus <rrakus@redhat.com>.
diff -up powerpc-utils-1.2.15/man/nvsetenv.8.man powerpc-utils-1.2.15/man/nvsetenv.8
--- powerpc-utils-1.2.15/man/nvsetenv.8.man 2013-01-16 15:31:13.887591102 +0100
+++ powerpc-utils-1.2.15/man/nvsetenv.8 2013-01-16 15:31:13.887591102 +0100
@@ -0,0 +1,29 @@
+.TH NVSETENV "8" "Oct 2010" "Linux" "Linux on Power Service Tools"
+.SH NAME
+nvsetenv \- wrapper to invoke nvram
+
+.SH SYNOPSIS
+.B nvsetenv
+[ ARG1 ] [ ARG2 ]
+
+.SH DESCRIPTION
+.B nvsetenv
+is just a wrapper to invoke nvram
+
+.SH OPTIONS
+
+Without any argument, nvsetenv calls
+.I nvram --print-config
+
+With one argument
+.IR ARG1 ,
+nvsetenv calls
+.I nvram --print-config=ARG1
+
+With two arguments
+.IR "ARG1 ARG2" ,
+nvsetenv calls
+.I nvram --update-config ARG1=ARG2
+
+.SH "SEE ALSO"
+.IR nvram (8)
diff -up powerpc-utils-1.2.15/man/rtas_event_decode.8.man powerpc-utils-1.2.15/man/rtas_event_decode.8
--- powerpc-utils-1.2.15/man/rtas_event_decode.8.man 2013-01-16 15:31:13.888591067 +0100
+++ powerpc-utils-1.2.15/man/rtas_event_decode.8 2013-01-16 15:31:13.888591067 +0100
@@ -0,0 +1,31 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36.
+.TH RTAS_EVENT_DECODE 8 "September 2010" "Linux" "Linux on Power Service Tools"
+.SH NAME
+\fBrtas_event_decode\fP - RTAS message decoder
+.SH SYNOPSIS
+.B rtas_event_decode
+[\fI-dv\fR] [\fI-n eventnum\fR] [\fI-w width\fR]
+.SH DESCRIPTION
+RTAS messages are placed in the syslog encoded in a binary
+format, and are unreadable. This tool will take exactly one
+message, parse it, and spit out the human-readable equivalent.
+This program expects ascii data on stdin.
+
+This tool is mostly meant to be used in conjuction with the
+rtas_dump shell script, which provides a suitable user
+interface.
+
+.SH OPTIONS
+.TP
+.B \-d
+dump the raw RTAS event
+.TP
+.BI \-n " eventnum"
+event number of the RTAS event being dumped
+.TP
+.B \-v
+verbose, print all details, not just header
+.TP
+.BI \-w " width"
+limit the output to the specified width, default width is 80 characters. The width must be > 0 and < 1024.
+
diff -up powerpc-utils-1.3.8/man/hcnmgr.8.me powerpc-utils-1.3.8/man/hcnmgr.8
--- powerpc-utils-1.3.8/man/hcnmgr.8.me 2021-02-08 13:18:50.115407652 +0100
+++ powerpc-utils-1.3.8/man/hcnmgr.8 2021-02-08 13:18:43.734322981 +0100
diff -up powerpc-utils-1.3.10/Makefile.am.than powerpc-utils-1.3.10/Makefile.am
--- powerpc-utils-1.3.10/Makefile.am.than 2023-11-27 22:07:33.391345328 +0100
+++ powerpc-utils-1.3.10/Makefile.am 2023-11-27 22:06:38.715373360 +0100
@@ -26,6 +26,16 @@ sbin_SCRIPTS = \
scripts/hcnmgr
man_MANS = \
+ man/lsdevinfo.8 \
+ man/rtas_event_decode.8 \
+ man/ls-vdev.8 \
+ man/lsprop.8 \
+ man/ls-veth.8 \
+ man/nvsetenv.8 \
+ man/ls-vscsi.8 \
+ man/pseries_platform.8 \
+ man/update_flash_nv.8 \
+ man/hcnmgr.8 \
man/activate_firmware.8 \
man/rtas_ibm_get_vpd.8 \
man/uesensor.8 \
diff -up powerpc-utils-1.3.10/man/hcnmgr.8.than powerpc-utils-1.3.10/man/hcnmgr.8
--- powerpc-utils-1.3.10/man/hcnmgr.8.than 2023-11-27 22:05:20.283979110 +0100
+++ powerpc-utils-1.3.10/man/hcnmgr.8 2023-11-27 22:05:20.283979110 +0100
@@ -0,0 +1,47 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
+.TH HCNMGR "1" "hcnmgr contains a set of commands to support migratable SR_IOV logical port." "hcnmgr"
@ -308,9 +69,268 @@ diff -up powerpc-utils-1.3.8/man/hcnmgr.8.me powerpc-utils-1.3.8/man/hcnmgr.8
+was written by Mingming Cao <mingming.cao@ibm.com>.
+.PP
+This manual page was written by Than Ngo <than@redhat.com>.
diff -up powerpc-utils-1.3.5/man/update_flash_nv.8.me powerpc-utils-1.3.5/man/update_flash_nv.8
--- powerpc-utils-1.3.5/man/update_flash_nv.8.me 2018-11-29 16:49:51.344987106 +0100
+++ powerpc-utils-1.3.5/man/update_flash_nv.8 2018-11-29 16:49:42.589961458 +0100
diff -up powerpc-utils-1.3.10/man/lsdevinfo.8.than powerpc-utils-1.3.10/man/lsdevinfo.8
--- powerpc-utils-1.3.10/man/lsdevinfo.8.than 2023-11-27 22:05:20.282979092 +0100
+++ powerpc-utils-1.3.10/man/lsdevinfo.8 2023-11-27 22:05:20.282979092 +0100
@@ -0,0 +1,39 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36.
+.TH LSDEVINFO "8" "October 2010" "Linux" "Linux on Power Service Tools"
+.SH NAME
+lsdevinfo - information on Virtual devices
+
+.SH SYNOPSIS
+.B lsdevinfo
+[\fI-q criteria\fR] [\fI-F format\fR] [\fI-R\fR] [\fI-c\fR] [\fI-h\fR]
+
+.SH DESCRIPTION
+Provide information on Virtual devices
+.PP
+
+.SH OPTIONS
+.TP
+\fB\-q\fR criteria
+Specifies a criteria to select which devices are to be displayed.
+.TP
+\fB\-F\fR format
+Specifies the set of attributes to be displayed.
+.TP
+\fB\-R\fR
+Recursively display children of selected devices
+.TP
+\fB\-c\fR
+Display output as a comma separated list for each device.
+.TP
+\fB\-V\fR
+Display version information and exit
+.TP
+\fB\-h\fR
+Display help information and exit
+
+.SH AUTHOR
+.B lsdevinfo
+was written by Santiago Leon <sleon@ec.ibm.com>.
+.PP
+This manual page was written by Roman Rakus <rrakus@redhat.com>.
+
diff -up powerpc-utils-1.3.10/man/lsprop.8.than powerpc-utils-1.3.10/man/lsprop.8
--- powerpc-utils-1.3.10/man/lsprop.8.than 2023-11-27 22:05:20.283979110 +0100
+++ powerpc-utils-1.3.10/man/lsprop.8 2023-11-27 22:05:20.283979110 +0100
@@ -0,0 +1,42 @@
+.TH LSPROP "8" "Sep 2010" "Linux" "Linux on Power Service Tools"
+.SH NAME
+lsprop \- list properties
+.SH SYNOPSIS
+.B lsprop
+.RB [ \-R ]
+.RB [ \-m
+.IR max-bytes ]
+.RB [ \-w
+.IR num-words ]
+.RI [ FILE .\|.\|.]
+.SH OVERVIEW
+.B lsprop
+program is a member of the ppc64-utils suite of utils.
+Use it to list properties
+
+.SH DESCRIPTION
+.B lsprop
+displays properties for
+.IR FILE s
+like Open Firmware
+.I .properties
+word.
+If the
+.I FILE
+is not set, the current directory is used.
+
+.SH OPTIONS
+.TP
+.B \-R
+Process recursively
+.TP
+.BI \-m " max-bytes"
+Read only first
+.I max-bytes
+bytes from the
+.IR FILE s
+.TP
+.BI \-w " num-words"
+Display up to
+.I num-words
+words per line
diff -up powerpc-utils-1.3.10/man/ls-vdev.8.than powerpc-utils-1.3.10/man/ls-vdev.8
--- powerpc-utils-1.3.10/man/ls-vdev.8.than 2023-11-27 22:05:20.283979110 +0100
+++ powerpc-utils-1.3.10/man/ls-vdev.8 2023-11-27 22:05:20.283979110 +0100
@@ -0,0 +1,25 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36.
+.TH LS-VDEV "8" "October 2010" "Linux" "Linux on Power Service Tools"
+.SH NAME
+ls-vdev \- information on Virtual SCSI adapters and devices
+.SH SYNOPSIS
+.BR ls-vdev " [" \-h " | " -V ]
+
+.SH DESCRIPTION
+Provide information on Virtual SCSI adapters and devices
+.PP
+
+.SH OPTIONS
+.TP
+\fB\-V\fR
+Display version information and exit
+.TP
+\fB\-h\fR
+Display help information and exit
+.PP
+
+.SH AUTHOR
+.B ls-vdev
+was written by Brian King <brking@linux.vnet.ibm.com>.
+.PP
+This manual page was written by Roman Rakus <rrakus@redhat.com>.
diff -up powerpc-utils-1.3.10/man/ls-veth.8.than powerpc-utils-1.3.10/man/ls-veth.8
--- powerpc-utils-1.3.10/man/ls-veth.8.than 2023-11-27 22:05:20.283979110 +0100
+++ powerpc-utils-1.3.10/man/ls-veth.8 2023-11-27 22:05:20.283979110 +0100
@@ -0,0 +1,25 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36.
+.TH LS-VETH "8" "October 2010" "Linux" "Linux on Power Service Tools"
+.SH NAME
+ls-veth \- information on Virtual Ethernet devices
+.SH SYNOPSIS
+.BR ls-veth " [" \-h " | " -V ]
+
+.SH DESCRIPTION
+Provide information on Virtual Ethernet devices
+.PP
+
+.SH OPTIONS
+.TP
+\fB\-V\fR
+Display version information and exit
+.TP
+\fB\-h\fR
+Display help information and exit
+.PP
+
+.SH AUTHOR
+.B ls-veth
+was written by Brian King <brking@linux.vnet.ibm.com>.
+.PP
+This manual page was written by Roman Rakus <rrakus@redhat.com>.
diff -up powerpc-utils-1.3.10/man/ls-vscsi.8.than powerpc-utils-1.3.10/man/ls-vscsi.8
--- powerpc-utils-1.3.10/man/ls-vscsi.8.than 2023-11-27 22:05:20.283979110 +0100
+++ powerpc-utils-1.3.10/man/ls-vscsi.8 2023-11-27 22:05:20.283979110 +0100
@@ -0,0 +1,25 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36.
+.TH LS-VSCSI "8" "October 2010" "Linux" "Linux on Power Service Tools"
+.SH NAME
+ls-vscsi \- information on Virtual devices
+.SH SYNOPSIS
+.BR ls-vscsi " [" \-h " | " -V ]
+
+.SH DESCRIPTION
+Provide information on Virtual devices
+.PP
+
+.SH OPTIONS
+.TP
+\fB\-V\fR
+Display version information and exit
+.TP
+\fB\-h\fR
+Display help information and exit
+.PP
+
+.SH AUTHOR
+.B ls-vscsi
+was written by Brian King <brking@linux.vnet.ibm.com>.
+.PP
+This manual page was written by Roman Rakus <rrakus@redhat.com>.
diff -up powerpc-utils-1.3.10/man/nvsetenv.8.than powerpc-utils-1.3.10/man/nvsetenv.8
--- powerpc-utils-1.3.10/man/nvsetenv.8.than 2023-11-27 22:05:20.283979110 +0100
+++ powerpc-utils-1.3.10/man/nvsetenv.8 2023-11-27 22:05:20.283979110 +0100
@@ -0,0 +1,29 @@
+.TH NVSETENV "8" "Oct 2010" "Linux" "Linux on Power Service Tools"
+.SH NAME
+nvsetenv \- wrapper to invoke nvram
+
+.SH SYNOPSIS
+.B nvsetenv
+[ ARG1 ] [ ARG2 ]
+
+.SH DESCRIPTION
+.B nvsetenv
+is just a wrapper to invoke nvram
+
+.SH OPTIONS
+
+Without any argument, nvsetenv calls
+.I nvram --print-config
+
+With one argument
+.IR ARG1 ,
+nvsetenv calls
+.I nvram --print-config=ARG1
+
+With two arguments
+.IR "ARG1 ARG2" ,
+nvsetenv calls
+.I nvram --update-config ARG1=ARG2
+
+.SH "SEE ALSO"
+.IR nvram (8)
diff -up powerpc-utils-1.3.10/man/pseries_platform.8.than powerpc-utils-1.3.10/man/pseries_platform.8
--- powerpc-utils-1.3.10/man/pseries_platform.8.than 2023-11-27 22:05:20.282979092 +0100
+++ powerpc-utils-1.3.10/man/pseries_platform.8 2023-11-27 22:05:20.282979092 +0100
@@ -0,0 +1,11 @@
+.\"
+.\" Copyright (C) 2015 International Business Machines
+.\"
+.TH pseries_platform 8 "September 2015" Linux "Linux on Power Service Tools"
+.SH NAME
+pseries_platform \- identify the platform and display the name of platform
+.SH SYNOPSIS
+.B /usr/bin/pseries_platform
+
+.SH DESCRIPTION
+The \fIpseries_platform\fR tool can identify the platform and display the name of platform.
diff -up powerpc-utils-1.3.10/man/rtas_event_decode.8.than powerpc-utils-1.3.10/man/rtas_event_decode.8
--- powerpc-utils-1.3.10/man/rtas_event_decode.8.than 2023-11-27 22:05:20.283979110 +0100
+++ powerpc-utils-1.3.10/man/rtas_event_decode.8 2023-11-27 22:05:20.283979110 +0100
@@ -0,0 +1,31 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36.
+.TH RTAS_EVENT_DECODE 8 "September 2010" "Linux" "Linux on Power Service Tools"
+.SH NAME
+\fBrtas_event_decode\fP - RTAS message decoder
+.SH SYNOPSIS
+.B rtas_event_decode
+[\fI-dv\fR] [\fI-n eventnum\fR] [\fI-w width\fR]
+.SH DESCRIPTION
+RTAS messages are placed in the syslog encoded in a binary
+format, and are unreadable. This tool will take exactly one
+message, parse it, and spit out the human-readable equivalent.
+This program expects ascii data on stdin.
+
+This tool is mostly meant to be used in conjuction with the
+rtas_dump shell script, which provides a suitable user
+interface.
+
+.SH OPTIONS
+.TP
+.B \-d
+dump the raw RTAS event
+.TP
+.BI \-n " eventnum"
+event number of the RTAS event being dumped
+.TP
+.B \-v
+verbose, print all details, not just header
+.TP
+.BI \-w " width"
+limit the output to the specified width, default width is 80 characters. The width must be > 0 and < 1024.
+
diff -up powerpc-utils-1.3.10/man/update_flash_nv.8.than powerpc-utils-1.3.10/man/update_flash_nv.8
--- powerpc-utils-1.3.10/man/update_flash_nv.8.than 2023-11-27 22:05:20.283979110 +0100
+++ powerpc-utils-1.3.10/man/update_flash_nv.8 2023-11-27 22:05:20.283979110 +0100
@@ -0,0 +1,15 @@
+.\"
+.\" Copyright (C) 2015 International Business Machines
@ -327,25 +347,3 @@ diff -up powerpc-utils-1.3.5/man/update_flash_nv.8.me powerpc-utils-1.3.5/man/up
+.SH SEE ALSO
+update_flash(8).
+
diff -up powerpc-utils-1.3.10/Makefile.am.me powerpc-utils-1.3.10/Makefile.am
--- powerpc-utils-1.3.10/Makefile.am.me 2022-06-03 12:35:01.335312481 +0200
+++ powerpc-utils-1.3.10/Makefile.am 2022-06-03 12:46:42.460763120 +0200
@@ -48,7 +48,17 @@ man_MANS = \
man/vcpustat.8 \
man/rtas_dbg.8 \
man/drmgr.8 \
- man/lparnumascore.8
+ man/lparnumascore.8 \
+ man/lsdevinfo.8 \
+ man/rtas_event_decode.8 \
+ man/ls-vdev.8 \
+ man/lsprop.8 \
+ man/ls-veth.8 \
+ man/nvsetenv.8 \
+ man/ls-vscsi.8 \
+ man/pseries_platform.8 \
+ man/update_flash_nv.8 \
+ man/hcnmgr.8
EXTRA_DIST += $(bin_SCRIPTS) $(sbin_SCRIPTS) $(man_MANS)

View File

@ -0,0 +1,31 @@
commit 3a8127ad7fe6615a8c6e8a3f0965addfdf888b38
Author: Haren Myneni <haren@linux.ibm.com>
Date: Fri Feb 14 21:43:33 2025 -0800
drmgr/pci: Return 0 for success from do_replace()
Added replace_add_work() in commit f40a63b15c563 to support
replacement node and the partner node. But this function returns
0 for user input and 1 for success which caused do_replace()
returns 1. This patch fixes the problem with return 0.
Fixes: f40a63b15c563 ("drmgr/pci: Add multipath partner device support for hotplug replace")
Signed-off-by: Haren Myneni <haren@linux.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
diff --git a/src/drmgr/drslot_chrp_pci.c b/src/drmgr/drslot_chrp_pci.c
index 4c41fcd..91c08e9 100644
--- a/src/drmgr/drslot_chrp_pci.c
+++ b/src/drmgr/drslot_chrp_pci.c
@@ -1051,9 +1051,10 @@ static int do_replace(struct dr_node *all_nodes)
}
usr_prompt = prompt_save;
+ return rc;
}
- return rc;
+ return 0;
}
int valid_pci_options(void)

View File

@ -0,0 +1,47 @@
commit 4443a68d523043d69195e5a5a27fb9fc7ae8c50f
Author: Shrikanth Hegde <sshegde@linux.ibm.com>
Date: Mon Mar 10 22:29:16 2025 +0530
lparstat: print memory mode correctly (revised)
Starting from power10, active memory sharing(AMS) is not supported.
So from power10 onwards the H_GET_MPP hcall fails and hence
corresponding fields in lparcfg are not populated, such as
entitled_memory_pool_number etc.
Use HWCAP mechanism and print memory model as dedicated for power10
onwards.
Suggested-by: Peter Bergner <bergner@linux.ibm.com>
Signed-off-by: Shrikanth Hegde <sshegde@linux.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
diff --git a/src/lparstat.c b/src/lparstat.c
index db22316..8eddd7c 100644
--- a/src/lparstat.c
+++ b/src/lparstat.c
@@ -37,6 +37,11 @@
#include "pseries_platform.h"
#include "cpu_info_helpers.h"
#include <time.h>
+#include <sys/auxv.h>
+
+#ifndef PPC_FEATURE2_ARCH_3_1
+#define PPC_FEATURE2_ARCH_3_1 0x00040000
+#endif
#define LPARCFG_FILE "/proc/ppc64/lparcfg"
#define SE_NOT_FOUND "???"
@@ -794,7 +799,11 @@ void get_memory_mode(struct sysentry *se, char *buf)
struct sysentry *tmp;
tmp = get_sysentry("entitled_memory_pool_number");
- if (atoi(tmp->value) == 65535)
+ /*
+ * from power10 onwards Active Memory Sharing(AMS) is not
+ * supported. Hence always display it as dedicated for those
+ */
+ if (atoi(tmp->value) == 65535 || (getauxval(AT_HWCAP2) & PPC_FEATURE2_ARCH_3_1))
sprintf(buf, "Dedicated");
else
sprintf(buf, "Shared");

View File

@ -1,28 +1,18 @@
Name: powerpc-utils
Version: 1.3.10
Release: 6%{?dist}
Version: 1.3.13
Release: 2%{?dist}
Summary: PERL-based scripts for maintaining and servicing PowerPC systems
Group: System Environment/Base
License: GPLv2
URL: https://github.com/ibm-power-utilities/powerpc-utils
Source0: https://github.com/ibm-power-utilities/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
Source1: nx-gzip.udev
Patch0: powerpc-utils-1.3.10-manpages.patch
Patch1: powerpc-utils-1.3.10-distro.patch
# bz#2121470, Fix lsslot -c mem output when using 4GB LMB size
Patch3: powerpc-utils-b1b9e7-LMB_size_4GB.patch
Patch4: powerpc-utils-e1f1de-lmb_address_in_hexadecimal.patch
Patch5: powerpc-utils-fix_setting_primary_slave_across_reboots.patch
Patch6: powerpc-utils-f4c2b0-fix_display_of_mode_for_dedicated_donating_partition.patch
# lparstat: Fix-negative-values-seen-while-running-lpar
Patch10: powerpc-utils-1.3.10-lparstat-Fix-negative-values-seen-while-running-lpar.patch
# report-mixed-SMT-state
Patch11: powerpc-utils-1.3.10-lparstat-report-mixed-SMT-state.patch
# Fix-offline-threads-uninitialized-entries
Patch12: powerpc-utils-1.3.10-lparstat-Fix-offline-threads-uninitialized-entries.patch
# upstream patches
Patch10: powerpc-utils-fix-return-value-from-do_replace.patch
Patch11: powerpc-utils-lparstat-print-memory-mode-correctly.patch
ExclusiveArch: ppc %{power64}
BuildRequires: gcc
@ -51,13 +41,20 @@ Requires(preun): systemd
Requires(postun): systemd
Requires: kmod
Requires: which
Requires: gawk
Requires: bc
Requires: findutils
Requires: grep
Requires: sed
Requires: systemd-udev
Requires: coreutils
Requires: /usr/bin/awk
Requires: /usr/bin/basename
Requires: /usr/bin/bc
Requires: /usr/bin/cat
Requires: /usr/bin/cut
Requires: /usr/bin/echo
Requires: /usr/bin/find
Requires: /bin/grep
Requires: /usr/bin/head
Requires: /usr/bin/ls
Requires: /usr/bin/sed
Requires: /usr/bin/tr
Requires: /usr/bin/udevadm
%description core
Core utilities for maintaining and servicing PowerPC systems.
@ -66,12 +63,10 @@ Core utilities for maintaining and servicing PowerPC systems.
%prep
%autosetup -p1
%build
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
./autogen.sh
%configure --with-systemd=%{_unitdir} --disable-werror
make %{?_smp_mflags}
make %{?_smp_mflags} V=1
%install
@ -87,7 +82,7 @@ rm -rf $RPM_BUILD_ROOT/usr/share/doc/packages/powerpc-utils
rm -f $RPM_BUILD_ROOT%{_pkgdocdir}/COPYING
# install udev rule for the nx-gzip accelerator
install -pDm 644 %{SOURCE1} %{buildroot}%{_udevrulesdir}/90-nx-gzip.rules
install -pDm 644 %{SOURCE1} %{buildroot}%{_udevrulesdir}/90-nx-gzip.rules
# remove init script and perl script. They are deprecated
rm -rf $RPM_BUILD_ROOT/etc/init.d/ibmvscsis.sh $RPM_BUILD_ROOT/usr/sbin/vscsisadmin
@ -102,6 +97,16 @@ ln -s serv_config.8 %{buildroot}%{_mandir}/man8/uspchrp.8
# deprecated, use sosreport instead
rm -f $RPM_BUILD_ROOT%{_sbindir}/snap $RPM_BUILD_ROOT%{_mandir}/man8/snap.8*
# add hierachy /etc/drmgr.d/pmig
mkdir -p $RPM_BUILD_ROOT/etc/drmgr.d/pmig
# drop needless stuffs
rm -rf $RPM_BUILD_ROOT%{_prefix}/lib/powerpc-utils \
$RPM_BUILD_ROOT%{_unitdir}/hcn-init-wicked.service
# keep service name
mv $RPM_BUILD_ROOT%{_unitdir}/hcn-init-NetworkManager.service $RPM_BUILD_ROOT%{_unitdir}/hcn-init.service
%post core
%systemd_post hcn-init.service
# update the smt.state file with current SMT
@ -127,9 +132,11 @@ systemctl enable hcn-init.service >/dev/null 2>&1 || :
%{_mandir}/man8/rtas_dump.8*
%files core
%doc README Changelog
%license COPYING
%dir %{_localstatedir}/lib/powerpc-utils
%config(noreplace) %{_localstatedir}/lib/powerpc-utils/smt.state
%dir /etc/drmgr.d/pmig
%verify(not md5 size mtime) %config(noreplace) %{_localstatedir}/lib/powerpc-utils/smt.state
%{_unitdir}/smtstate.service
%{_unitdir}/smt_off.service
%{_unitdir}/hcn-init.service
@ -201,123 +208,166 @@ systemctl enable hcn-init.service >/dev/null 2>&1 || :
%{_mandir}/man8/nvram.8*
%{_mandir}/man8/ofpathname.8*
%{_mandir}/man8/drmgr.8*
%{_mandir}/man8/drmgr-hooks.8*
%{_mandir}/man8/lparnumascore.8*
%changelog
* Wed Jul 26 2023 Than Ngo <than@redhat.com> - 1.3.10-6
* Tue Mar 11 2025 Than Ngo <than@redhat.com> - 1.3.13-2
- Resolves: RHEL-80729, drmgr: return correct value
- Resolves: RHEL-80277, lparstat: print memory mode correctly
* Tue Dec 03 2024 Than Ngo <than@redhat.com> - 1.3.13-1
- Resolves: RHEL-30880, multipath - drmgr support
- Resolces: RHEL-61089, lparstat -E Fails to Display Correct Values for %Busy and %Idle States
* Sat Jun 29 2024 Than Ngo <than@redhat.com> - 1.3.10-11
- Resolves: RHEL-23620, nvram help page and man page are not in sync
- Resolves: RHEL-23619, segault when running nvram --nvram-size 268435456
- Resolves: RHEL-23624, segault when running nvram --print-config
* Tue Jan 30 2024 Than Ngo <than@redhat.com> - 1.3.10-10
- Resolves: RHEL-22830, Support multiple dev paths for a nvme boot device
* Wed Jan 10 2024 Than Ngo <than@redhat.com> - 1.3.10-9
- Resolves: RHEL-20350, getting larger Negative value while running rtas_dbg -l
- Resolves: RHEL-19076, installation fails if nsid of nvme device is greater than 10
- Resolves: RHEL-11456, add new /etc/drmgr.d/pmig hierarchy
* Mon Nov 27 2023 Than Ngo <than@redhat.com> - 1.3.10-8
- Resolves: RHEL-16045, Support partial SMT level through SYS FS smt/control files
- Resolves: RHEL-11456, LPM hooks
* Wed Jul 26 2023 Than Ngo <than@redhat.com> - 1.3.10-7
- Fix negative values seen while running lpar
- Fix lparstat error with mixed SMT state
Resolves: #2225135
Resolves: #2225371
* Sat Jun 17 2023 Than Ngo <than@redhat.com> - 1.3.10-5
- Resolves: #2207649, Add udev rule for the nx-gzip in to the core subpackage
* Wed May 10 2023 Than Ngo <than@redhat.com> - 1.3.10-6
- Resolves: #2166870, lparstat: Fix display of mode for dedicated-donating partition
- Resolves: #2169269, lparstat: Fix negative values seen while running lparstat with -E option
* Tue Apr 25 2023 Than Ngo <than@redhat.com> - 1.3.10-4
- Resolves: #2166871, lparstat showing incorrect mode in a dedicated-donating LPAR
* Mon Dec 12 2022 Than Ngo <than@redhat.com> - 1.3.10-5
- Resolves: #2125152, HNV bond fails to come up with sriov interface as active slave
* Mon Nov 28 2022 Than Ngo <than@redhat.com> - 1.3.10-3
- Resolves: #2148878, HNV bond fails to come up with sriov interface as active slave
* Thu Dec 08 2022 Than Ngo <than@redhat.com> - 1.3.10-4
- Resolves: #2150698, handle nsid of nvmf device as hexadecimal number
- Resolves: #2150697, setup multiple device path for a nvmf boot device
* Fri Oct 21 2022 Than Ngo <than@redhat.com> - 1.3.10-2
- Resolves: #2121481, Fix lsslot -c mem output when using 4GB LMB size
* Thu Nov 03 2022 Than Ngo <than@redhat.com> - 1.3.10-3
- Resolves: #2111991, Add udev rule for the nx-gzip in to the core subpackage
- Resolves: #2121470, Fix lsslot -c mem output when using 4GB LMB size
- Resolves: #2110129, Add NVMf-FC boot support for Power
* Mon Jun 06 2022 Than Ngo <than@redhat.com> - 1.3.10-2
- Related: #2089106, install smt.state as config file
* Mon Jun 06 2022 Than Ngo <than@redhat.com> - 1.3.10-1
- Resolves: #2051330, Linux Hybrid Network Virtualization update
- Resolves: #2083469, smtstate --save command failed
- Resolves: #1920964, P10 Power Mode Reporting
- Resolves: #2050893, Linux Hybrid Network Virtualizatio
- Resolves: #2065169, bootloader fails to update boot order after OS install
- Resolves: #2071862, Fix NM HNV setting primary slave
- Resolves: #2089106, smtstate --save command failed
* Fri May 13 2022 Than Ngo <than@redhat.com> - 1.3.9-3
- Resolves: #2059459, add new DRC type description strings for latest PCIe slot types
- Resolves: #2078514, Fix NM HNV setting primary slave
- Resolves: #2083469, smtstate test failed as smtstate --save command failed
* Fri Jan 14 2022 Than Ngo <than@redhat.com> - 1.3.9-6
- Resolves: #2039201, santize devspec output of a newline if one is present
* Thu Dec 09 2021 Than Ngo <than@redhat.com> - 1.3.9-1
- Resolves: #2028690, rebase to 1.3.9
* Tue Dec 07 2021 Than Ngo <than@redhat.com> - 1.3.9-5
- Resolves: #2024038 - HNV interface fails to configure when added in lpar shutdown state
* Thu Dec 02 2021 Than Ngo <than@redhat.com> - 1.3.8-10
- Related: #2022225, increase release
* Thu Nov 11 2021 Than Ngo <than@redhat.com> - 1.3.9-4
- enable support vnic as backend for HNV interface
- fixed hexdump format
Resolves: #2022235
* Thu Nov 11 2021 Than Ngo <than@redhat.com> - 1.3.8-9
- Resolves: #2022225, enable support vnic as backend for HNV interfaces
* Wed Oct 20 2021 Than Ngo <than@redhat.com> - 1.3.9-3
- Resolves: #2014916, marked smt.state as %%ghost
* Thu Oct 07 2021 Than Ngo <than@redhat.com> - 1.3.8-8
- lsdevinfo: optimize criteria filtering
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 1.3.9-2
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Fri Jul 16 2021 Than Ngo <than@redhat.com> - 1.3.8-7
- Related: #1938420, Fix checking HCNID array size at boot time
* Mon Jul 19 2021 Than Ngo <than@redhat.com> - 1.3.9-1
- Resolves: #1873868, rebase to 1.3.9
* Thu Apr 01 2021 Than Ngo <than@redhat.com> - 1.3.8-6
- Resolves: #1935658, New lparstat -x option to report the security flavor
- Resolves: #1953818, Use od instead xxd
- Resolves: #1938420, rebase patch fix_boot-time_bonding_interface_cleanup_and_avoid_use_ifcfg
- Resolves: #1940358, ppc64_cpu --help does not list --version as an option
- Resolves: #1951068, take care of NUMA topology when removing memory (DLPAR)
* Fri Jun 11 2021 Than Ngo <than@redhat.com> - 1.3.8-9
- Resolves: #1937038, New lparstat -x option to report the security flavor
- Use od instead xxd
- rebase patch fix_boot-time_bonding_interface_cleanup_and_avoid_use_ifcfg
- ppc64_cpu --help does not list --version as an option
- take care of NUMA topology when removing memory (DLPAR)
* Wed Feb 03 2021 Than Ngo <than@redhat.com> - 1.3.8-5
- Resolves: #1924150, Fix boot-time bonding interface cleanup and avoid use ifcfg
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.3.8-8
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Mon Dec 21 2020 Than Ngo <than@redhat.com> - 1.3.8-4
- Resolves: #1909526, additional patches to support Linux Hybrid Network Virtualization
- Resolves: #1909135, move commands that dont depend on perl to core subpackage
* Mon Feb 08 2021 Than Ngo <than@redhat.com> - 1.3.8-7
- updated hcnmgr manpage
* Tue Oct 06 2020 Than Ngo <than@redhat.com> - 1.3.8-3
- Resolves: #1868474, ofpathname: Use NVMe controller physical nsid
- Resolves: #1885532, sys_ident: Skip length field from search
* Mon Feb 08 2021 Than Ngo <than@redhat.com> - 1.3.8-6
- Fix boot-time bonding interface cleanup and avoid use ifcfg
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.8-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Dec 22 2020 Than Ngo <than@redhat.com> - 1.3.8-4
- additional patches to support Linux Hybrid Network Virtualization
- move commands that dont depend on perl to core subpackage
- update hcnmgr patch
- sys_ident: Skip length field from search
- ofpathname: Use NVMe controller physical nsid
* Thu Oct 01 2020 Than Ngo <than@redhat.com> - 1.3.8-3
- add hcnmgr man page
* Thu Oct 01 2020 Than Ngo <than@redhat.com> - 1.3.8-2
- Related: #1853297, add missing hcnmgr manpage and Req on which
- clean up systemd service
* Thu Oct 01 2020 Than Ngo <than@redhat.com> - 1.3.8-1
- Resolves: #1853297, rebase to 1.3.8
- Resolves: #1802181, SR-IOV - Linux Hybrid Network Virtualization
- Resolves: #1844421, Include vcpustat
* Fri Sep 04 2020 Than Ngo <than@redhat.com> - 1.3.8-1
- update to 1.3.8
* Wed Jun 24 2020 Than Ngo <than@redhat.com> - 1.3.6-11
- Resolves: #1847604, ofpathname: failed to boot
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.7-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jun 19 2020 Than Ngo <than@redhat.com> - 1.3.6-10
- Resolves: #1848839, update lparstat man page with -E option
* Thu Jul 09 2020 Than Ngo <than@redhat.com> - 1.3.7-6
- Track and expose idle PURR and SPURR ticks
- ofpathname: speed up l2of_scsi()
- ofpathname: failed to boot
- update lparstat man page with -E option
- enable support for ibm,drc-info property
* Fri May 22 2020 Than Ngo <than@redhat.com> - 1.3.6-9
- Resolves: #1837751, ofpathname: speed up l2of_scsi()
* Sat Mar 28 2020 Than Ngo <than@redhat.com> - 1.3.7-5
- move drmgr in core to avoid pulling in Perl
* Fri May 15 2020 Than Ngo <than@redhat.com> - 1.3.6-8
- Related: #1783285, update the patches V4
* Mon Mar 09 2020 Than Ngo <than@redhat.com> - 1.3.7-4
- update_flash_nv: fixup null byte command substitution warning
- drmgr: Fix segfault when running 'drmgr -c pmig -h'
* Wed May 13 2020 Than Ngo <than@redhat.com> - 1.3.6-7
- Resolves: #1783285, Track and expose idle PURR and SPURR ticks
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Mar 25 2020 Than Ngo <than@redhat.com> - 1.3.6-6
- Resolves: #1819566 - move drmgr in core to avoid pulling in Perl
- Resolves: #1806870 - ignored null byte in input
- Resolves: #1779197 - enable support for ibm,drc-info property
* Thu Dec 19 2019 Than Ngo <than@redhat.com> - 1.3.7-2
- add systemd service to set default system SMT mode
* Wed Dec 04 2019 Than Ngo <than@redhat.com> - 1.3.6-5
- Resolves: #1779257, Safe bootlist update
* Wed Dec 18 2019 Than Ngo <than@redhat.com> - 1.3.7-1
- update to 1.3.7
* Wed Jul 24 2019 Than Ngo <than@redhat.com> - 1.3.6-4
- Resolves: #1719372 - wrong disk gets booted after installation
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Jun 07 2019 Than Ngo <than@redhat.com> - 1.3.6-3
- Resolves: #1718254, improve handling of errors from subsidiary scripts
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Jun 05 2019 Than Ngo <than@redhat.com> - 1.3.6-2
- Resolves: #1716425, lparstat and update_flash fixes
* Wed Jan 16 2019 Than Ngo <than@redhat.com> - 1.3.6-1
- update to 1.3.6
* Mon Apr 01 2019 Than Ngo <than@redhat.com> - 1.3.6-1
- Resolves: #1666618, rebase to 1.3.6
* Fri Nov 30 2018 Than Ngo <than@redhat.com> - 1.3.5-4
- install missing pseries_platform and update_flash_nv man pages
* Tue Dec 04 2018 Than Ngo <than@redhat.com> - 1.3.5-5
- Related: #1655903, add missing man pages
* Thu Nov 29 2018 Than Ngo <than@redhat.com> - 1.3.5-3
- added pseries_platform and update_flash_nv man pages
* Tue Dec 04 2018 Than Ngo <than@redhat.com> - 1.3.5-4
- Resolves: #1655903, lsslot -c mem is not displaying any information
* Tue Nov 27 2018 Than Ngo <than@redhat.com> - 1.3.5-3
- Resolves: #1653621, fix to display logical name using bootlist -o option
* Sat Nov 10 2018 Than Ngo <than@redhat.com> - 1.3.5-2
- fix metadate issue detected by rpmdiff
Related: #1608172
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Jun 18 2018 Dan Horák <dan[at]danny.cz> - 1.3.5-1
- Rebased to 1.3.5

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (powerpc-utils-1.3.13.tar.gz) = 81fe5588e7330cb0bac81b7106c9949e364fe0b11cc1739a4074fee54c01c363ed8af05488152c9527c56ba053c11278c6b1a2340b2e088a6f25521965e4fc62