From b187ba91ebf2a96c6e9233f8f7a1c050c329c905 Mon Sep 17 00:00:00 2001 From: Michael Filanov Date: Tue, 3 Sep 2024 14:07:01 +0300 Subject: [PATCH] mellanox firmware fixes remove fwtrace - it trace HW events and can take a lot of time, not needed for debug mstconfig -> mlxconfig otherwise command not found mlxdump use mstdump, pcie_uc doesn't exists set timeout to 300 seconds, some commands take a longer time to execute, the avg time to run the plugin is 55 seconds add resourcedump command --- sos/report/plugins/mellanox_firmware.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/sos/report/plugins/mellanox_firmware.py b/sos/report/plugins/mellanox_firmware.py index e68543b64c..68522c74d7 100644 --- a/sos/report/plugins/mellanox_firmware.py +++ b/sos/report/plugins/mellanox_firmware.py @@ -19,7 +19,7 @@ class MellanoxFirmware(Plugin, IndependentPlugin): plugin_name = "mellanox_firmware" profiles = ('hardware', 'system') - packages = ('mst', 'mstflint') + packages = ('mst', 'mstflint', 'mft') MLNX_STRING = "Mellanox Technologies" @@ -103,18 +103,20 @@ def setup(self): # mft package commands # the commands do not support position independent arguments commands = [ - ["mlxdump -d ", " pcie_uc --all"], - ["mstconfig -d ", " -e q"], + ["mlxdump -d ", " mstdump --all"], + ["mlxconfig -d ", " -e q"], ["flint -d ", " dc"], ["flint -d ", " q"], ["mlxreg -d ", " --reg_name ROCE_ACCL --get"], ["mlxlink -d ", ""], - ["fwtrace -d ", " -i all --tracer_mode FIFO"], + # segment is hard coded at the moment, no way to get it + # out of the firmware + ["resourcedump dump --device ", " --segment 0x400"], ] for device in devices: for command in commands: self.add_cmd_output(f"{command[0]} {device} " - f"{command[1]}", timeout=30) + f"{command[1]}", timeout=300) # Dump the output of the mstdump command three times # waiting for one second. This output is useful to check