rasdaemon/0008-rasdaemon-ras-mc-ctl-Relocate-reading-and-display-Ku.patch
Shiju Jose f9eb9d8c57 rasdaemon: Update with the latest patches for the CPU fault isolation, Hisilicon Kunpeng9xx common error records and improvements in the ras-mc-ctl for the Hisilicon Kunpeng9xx errors
Update with the latest patches for the
1. CPU online fault isolation for arm event.
2. Modify recording Hisilicon common error data in the rasdaemon
3. In the ras-mc-ctl,
3.1. Improve Hisilicon common error statistics.
3.2. Add support to display the HiSilicon vendor-errors for a specified module.
3.3. Add printing usage if necessary parameters are not passed for the HiSilicon vendor-errors options.
3.4. Reformat error info of the HiSilicon Kunpeng920.
3.5. Relocate reading and display Kunpeng920 errors to under Kunpeng9xx.
3.6. Updated the HiSilicon platform name as KunPeng9xx.
4. Fixed a memory out-of-bounds issue in the rasdaemon.

Signed-off-by: Shiju Jose <shiju.jose@huawei.com>
2022-05-30 09:30:03 +01:00

151 lines
5.6 KiB
Diff

From 2f23b5dc6e5831c8ef2e179bb936e13502f75041 Mon Sep 17 00:00:00 2001
From: Shiju Jose <shiju.jose@huawei.com>
Date: Mon, 7 Mar 2022 12:38:45 +0000
Subject: [PATCH 08/10] rasdaemon: ras-mc-ctl: Relocate reading and display
Kunpeng920 errors to under Kunpeng9xx
Relocate reading and display Kunpeng920 errors to under Kunpeng9xx.
Signed-off-by: Shiju Jose <shiju.jose@huawei.com>
---
util/ras-mc-ctl.in | 40 ++++++++++------------------------------
1 file changed, 10 insertions(+), 30 deletions(-)
diff --git a/util/ras-mc-ctl.in b/util/ras-mc-ctl.in
index 296eb87..75981a0 100755
--- a/util/ras-mc-ctl.in
+++ b/util/ras-mc-ctl.in
@@ -1529,7 +1529,6 @@ sub errors
# Definitions of the vendor platform IDs.
use constant {
- HISILICON_KUNPENG_920 => "Kunpeng920",
HISILICON_KUNPENG_9XX => "Kunpeng9xx",
};
@@ -1553,8 +1552,8 @@ sub vendor_errors_summary
my $dbh = DBI->connect("dbi:SQLite:dbname=$dbname", "", "", {});
- # HiSilicon Kunpeng920 errors
- if ($platform_id eq HISILICON_KUNPENG_920) {
+ # HiSilicon Kunpeng9xx errors
+ if ($platform_id eq HISILICON_KUNPENG_9XX) {
$found_platform = 1;
$query = "select err_severity, module_id, count(*) from hip08_oem_type1_event_v2 group by err_severity, module_id";
$query_handle = $dbh->prepare($query);
@@ -1570,9 +1569,7 @@ sub vendor_errors_summary
$out .= "\t$module_id: $count\n";
}
if ($out ne "") {
- print "HiSilicon Kunpeng920 OEM type1 error events summary:\n$out\n";
- } else {
- print "No HiSilicon Kunpeng920 OEM type1 errors.\n\n";
+ print "HiSilicon Kunpeng9xx OEM type1 error events summary:\n$out\n";
}
$query_handle->finish;
@@ -1590,9 +1587,7 @@ sub vendor_errors_summary
$out .= "\t$module_id: $count\n";
}
if ($out ne "") {
- print "HiSilicon Kunpeng920 OEM type2 error events summary:\n$out\n";
- } else {
- print "No HiSilicon Kunpeng920 OEM type2 errors.\n\n";
+ print "HiSilicon Kunpeng9xx OEM type2 error events summary:\n$out\n";
}
$query_handle->finish;
@@ -1610,16 +1605,10 @@ sub vendor_errors_summary
$out .= "\t$sub_module_id: $count\n";
}
if ($out ne "") {
- print "HiSilicon Kunpeng920 PCIe controller error events summary:\n$out\n";
- } else {
- print "No HiSilicon Kunpeng920 PCIe controller errors.\n\n";
+ print "HiSilicon Kunpeng9xx PCIe controller error events summary:\n$out\n";
}
$query_handle->finish;
- }
- # HiSilicon Kunpeng9xx common errors
- if ($platform_id eq HISILICON_KUNPENG_9XX) {
- $found_platform = 1;
$query = "select err_severity, module_id, count(*) from hisi_common_section_v2 group by err_severity, module_id";
$query_handle = $dbh->prepare($query);
$query_handle->execute();
@@ -1635,8 +1624,6 @@ sub vendor_errors_summary
}
if ($out ne "") {
print "HiSilicon Kunpeng9xx common error events summary:\n$out\n";
- } else {
- print "No HiSilicon Kunpeng9xx common errors.\n\n";
}
$query_handle->finish;
}
@@ -1673,8 +1660,8 @@ sub vendor_errors
my $dbh = DBI->connect("dbi:SQLite:dbname=$dbname", "", "", {});
- # HiSilicon Kunpeng920 errors
- if ($platform_id eq HISILICON_KUNPENG_920) {
+ # HiSilicon Kunpeng9xx errors
+ if ($platform_id eq HISILICON_KUNPENG_9XX) {
$found_platform = 1;
$query = "select id, timestamp, version, soc_id, socket_id, nimbus_id, module_id, sub_module_id, err_severity, regs_dump from hip08_oem_type1_event_v2 order by id, module_id, err_severity";
$query_handle = $dbh->prepare($query);
@@ -1697,7 +1684,7 @@ sub vendor_errors
}
}
if ($out ne "") {
- print "HiSilicon Kunpeng920 OEM type1 error events:\n$out\n";
+ print "HiSilicon Kunpeng9xx OEM type1 error events:\n$out\n";
}
$query_handle->finish;
@@ -1722,7 +1709,7 @@ sub vendor_errors
}
}
if ($out ne "") {
- print "HiSilicon Kunpeng920 OEM type2 error events:\n$out\n";
+ print "HiSilicon Kunpeng9xx OEM type2 error events:\n$out\n";
}
$query_handle->finish;
@@ -1749,14 +1736,10 @@ sub vendor_errors
}
}
if ($out ne "") {
- print "HiSilicon Kunpeng920 PCIe controller error events:\n$out\n";
+ print "HiSilicon Kunpeng9xx PCIe controller error events:\n$out\n";
}
$query_handle->finish;
- }
- # HiSilicon Kunpeng9xx common errors
- if ($platform_id eq HISILICON_KUNPENG_9XX) {
- $found_platform = 1;
$query = "select id, timestamp, version, soc_id, socket_id, totem_id, nimbus_id, sub_system_id, module_id, sub_module_id, core_id, port_id, err_type, pcie_info, err_severity, regs_dump from hisi_common_section_v2 order by id, module_id, err_severity";
$query_handle = $dbh->prepare($query);
$query_handle->execute();
@@ -1785,8 +1768,6 @@ sub vendor_errors
}
if ($out ne "") {
print "HiSilicon Kunpeng9xx common error events:\n$out\n";
- } else {
- print "No HiSilicon Kunpeng9xx common errors.\n";
}
$query_handle->finish;
}
@@ -1803,7 +1784,6 @@ sub vendor_errors
sub vendor_platforms
{
print "\nSupported platforms for the vendor-specific errors:\n";
- print "\tHiSilicon Kunpeng920, platform-id=\"", HISILICON_KUNPENG_920, "\"\n";
print "\tHiSilicon Kunpeng9xx, platform-id=\"", HISILICON_KUNPENG_9XX, "\"\n";
print "\n";
}
--
2.25.1