summaryrefslogtreecommitdiff
path: root/tools/cgroup
diff options
context:
space:
mode:
authorChristoph Lameter <cl@linux.com>2016-05-16 12:49:33 -0500
committerDoug Ledford <dledford@redhat.com>2016-05-26 12:52:51 -0400
commitb40f4757daa1b28e586fddad76638c98e2edfc34 (patch)
tree71181730fcd3875cc0e80d20638e57d33fceaf9b /tools/cgroup
parent8779e7658df2496f27660586e3a20a86c75fb526 (diff)
downloadlwn-b40f4757daa1b28e586fddad76638c98e2edfc34.tar.gz
lwn-b40f4757daa1b28e586fddad76638c98e2edfc34.zip
IB/core: Make device counter infrastructure dynamic
In practice, each RDMA device has a unique set of counters that the hardware implements. Having a central set of counters that they must all adhere to is limiting and causes many useful counters to not be available. Therefore we create a dynamic counter registration infrastructure. The driver must implement a stats structure allocation routine, in which the driver must place the directory name it wants, a list of names for all of the counters, an array of u64 counters themselves, plus a few generic configuration options. We then implement a core routine to create a sysfs file for each of the named stats elements, and a core routine to retrieve the stats when any of the sysfs attribute files are read. To avoid excessive beating on the stats generation routine in the drivers, the core code also caches the stats for a short period of time so that someone attempting to read all of the stats in a given device's directory will not result in a stats generation call per file read. Future work will attempt to standardize just the shared stats elements, and possibly add a method to get the stats via netlink in addition to sysfs. Signed-off-by: Christoph Lameter <cl@linux.com> Signed-off-by: Mark Bloch <markb@mellanox.com> Reviewed-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Doug Ledford <dledford@redhat.com> [ Add caching, make structure names more informative, add i40iw support, other significant rewrites from the original patch ]
Diffstat (limited to 'tools/cgroup')
0 files changed, 0 insertions, 0 deletions