diff options
author | Amit Cohen <amcohen@nvidia.com> | 2023-01-19 11:32:32 +0100 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-01-21 03:50:15 +0100 |
commit | 49f5b769d5bd203596b0db4df72344f20f59e938 (patch) | |
tree | af0c57469cbcf2dc4ac112ffe2526e722d5b139c /scripts | |
parent | mlxsw: core: Define latency TLV fields (diff) | |
download | linux-49f5b769d5bd203596b0db4df72344f20f59e938.tar.xz linux-49f5b769d5bd203596b0db4df72344f20f59e938.zip |
mlxsw: Add support of latency TLV
The latency of each EMAD can be measured by firmware. The driver can get
the measurement via latency TLV which can be added to each EMAD. This TLV
is optional, when EMAD is sent with this TLV, the EMAD's response will
include the TLV and the field 'latency_time' will contain the firmware
measurement.
This information can be processed using BPF program for example, to
create a histogram and average of the latency per register. In addition,
it is possible to measure the end-to-end latency, and then reduce firmware
measurement, which will result in the latency of the software overhead.
This information can be useful to improve the driver performance.
Add support for latency TLV by default for all EMADs. First we planned to
enable latency TLV per demand, using devlink-param. After some tests, we
know that the usage of latency TLV does not impact the end-to-end latency,
so it is OK to enable it by default.
Note that similar to string TLV, the latency TLV is not supported in all
firmware versions. Enable the usage of this TLV only after verifying it is
supported by the current firmware version by querying the Management
General Information Register (MGIR).
Signed-off-by: Danielle Ratson <danieller@nvidia.com>
Signed-off-by: Amit Cohen <amcohen@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions