mirror of https://github.com/torvalds/linux.git
net/mlx5: Expose uar access and odp page fault counters
Add three counters to vnic health reporter:
bar_uar_access, odp_local_triggered_page_fault, and
odp_remote_triggered_page_fault.
- bar_uar_access
number of WRITE or READ access operations to the UAR on the PCIe
BAR.
- odp_local_triggered_page_fault
number of locally-triggered page-faults due to ODP.
- odp_remote_triggered_page_fault
number of remotly-triggered page-faults due to ODP.
Example access:
$ devlink health diagnose pci/0000:08:00.0 reporter vnic
vNIC env counters:
total_error_queues: 0 send_queue_priority_update_flow: 0
comp_eq_overrun: 0 async_eq_overrun: 0 cq_overrun: 0
invalid_command: 0 quota_exceeded_command: 0
nic_receive_steering_discard: 0 icm_consumption: 1032
bar_uar_access: 1279 odp_local_triggered_page_fault: 20
odp_remote_triggered_page_fault: 34
Signed-off-by: Akiva Goldberger <agoldberger@nvidia.com>
Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/1758797130-829564-1-git-send-email-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
1493c18fe8
commit
e835faaed2
|
|
@ -385,6 +385,12 @@ Description of the vnic counters:
|
|||
amount of Interconnect Host Memory (ICM) consumed by the vnic in
|
||||
granularity of 4KB. ICM is host memory allocated by SW upon HCA request
|
||||
and is used for storing data structures that control HCA operation.
|
||||
- bar_uar_access
|
||||
number of WRITE or READ access operations to the UAR on the PCIe BAR.
|
||||
- odp_local_triggered_page_fault
|
||||
number of locally-triggered page-faults due to ODP.
|
||||
- odp_remote_triggered_page_fault
|
||||
number of remotly-triggered page-faults due to ODP.
|
||||
|
||||
User commands examples:
|
||||
|
||||
|
|
|
|||
|
|
@ -107,6 +107,15 @@ void mlx5_reporter_vnic_diagnose_counters(struct mlx5_core_dev *dev,
|
|||
}
|
||||
if (MLX5_CAP_GEN(dev, nic_cap_reg))
|
||||
mlx5_reporter_vnic_diagnose_counter_icm(dev, fmsg, vport_num, other_vport);
|
||||
if (MLX5_CAP_GEN(dev, vnic_env_cnt_bar_uar_access))
|
||||
devlink_fmsg_u32_pair_put(fmsg, "bar_uar_access",
|
||||
VNIC_ENV_GET(&vnic, bar_uar_access));
|
||||
if (MLX5_CAP_GEN(dev, vnic_env_cnt_odp_page_fault)) {
|
||||
devlink_fmsg_u32_pair_put(fmsg, "odp_local_triggered_page_fault",
|
||||
VNIC_ENV_GET(&vnic, odp_local_triggered_page_fault));
|
||||
devlink_fmsg_u32_pair_put(fmsg, "odp_remote_triggered_page_fault",
|
||||
VNIC_ENV_GET(&vnic, odp_remote_triggered_page_fault));
|
||||
}
|
||||
|
||||
devlink_fmsg_obj_nest_end(fmsg);
|
||||
devlink_fmsg_pair_nest_end(fmsg);
|
||||
|
|
|
|||
Loading…
Reference in New Issue