Dynamically extendable device counter support
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest3 patches 38 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/3 | ib core: Make device counter infrastructure dynamicdrivers/ drivers/ drivers/ +1 more | +286 | 35 replies | |
| 2/3 | mlx4: Add support for protocol statisticsdrivers/ drivers/ include/ | +138 | 0 replies | |
| 3/3 | mlx5: Implement new counter infrastructuredrivers/ | +71 | 3 replies |
Reviews trailers per patch
1 of 3 patches has a Reviewed-by or Acked-by.
| Patch | Steve Wise |
|---|---|
| 1/3 | R-b |
| 2/3 | |
| 3/3 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH 0/3] Dynamically extendable device counter support
We currently have issues when we want to expose device counters to the system because we have statically defined structures that define these counters. Changing these requires a change in the ABI since the counter structures are defined in ib_verbs.h.
Moreover it seems that these counter diverge in a device driver specific way. Counters show up in sysfs that are not supported by the device driver and that will always be zero.
The patches here change the ABI to avoid hardcoding counter names to the ABI. Instead of populated counters in structure predefined in ib_verbs.h we simply return a pointer to an array of strings describing the pointers supported and an array of values of these counters. That allows device drives to define an arbitrary amount of counters as needed. Adding a counter does not requrie changing ib_verbs.h.
IB device drivers can develop standard semantics for specific counters that are supported by multiple device drives by using the same names there. So software can just check if the device supports a certain counter and then expect the same behavior of that counter regardless of the device driver.
This patch also adds counters at a port level. A device driver can support counters at the device level and then at the level of each individual port supports.
This patch series modifies the Iwarp device drives to support the new way of handling counters. It removes the counters that these devices do not support and that have never had a function.
The mlx4 implementatation provided provides basic counter support based on a patch posted by Majd years ago.
The mlx5 implementation is just some sample code that does not actually retrieve any counters. I hope that Mellanox will fix up the last two patches to allow more counters for mlx4 and provide the proper way of retrieving counters for mlx5.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html