2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-24 21:24:00 +08:00
linux-next/drivers/infiniband/hw/cxgb3
Christoph Lameter b40f4757da 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 ]
2016-05-26 12:52:51 -04:00
..
cxio_dbg.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cxio_hal.c RDMA/cxgb3: device driver frees DMA memory with different size 2016-05-24 11:19:46 -04:00
cxio_hal.h RDMA/cxgb3: Don't exceed the max HW CQ depth 2010-09-02 14:52:21 -07:00
cxio_resource.c RDMA: Rename random32() to prandom_u32() 2013-04-16 22:47:05 -07:00
cxio_resource.h
cxio_wr.h tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
iwch_cm.c iw_cxgb3: support for iWARP port mapping 2016-03-16 13:48:27 -04:00
iwch_cm.h RDMA/cxgb3: Don't free endpoints early 2009-09-05 20:22:38 -07:00
iwch_cq.c IB: remove in-kernel support for memory windows 2015-12-23 14:29:04 -05:00
iwch_ev.c RDMA/cxgb3: Serialize calls to CQ's comp_handler 2011-10-31 11:33:17 -07:00
iwch_mem.c cxgb3: simplify iwch_get_dma_wr 2015-12-23 14:29:04 -05:00
iwch_provider.c IB/core: Make device counter infrastructure dynamic 2016-05-26 12:52:51 -04:00
iwch_provider.h cxgb3: simplify iwch_get_dma_wr 2015-12-23 14:29:04 -05:00
iwch_qp.c IB: remove in-kernel support for memory windows 2015-12-23 14:29:04 -05:00
iwch_user.h RDMA/cxgb3: When a user QP is marked in error, also mark the CQs in error 2010-10-22 22:00:53 -07:00
iwch.c RDMA/cxgb3: Shrink .text with compile-time init of handlers arrays 2010-04-28 14:57:40 -07:00
iwch.h IB/cxgb3: convert to idr_alloc() 2013-02-27 19:10:16 -08:00
Kconfig Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
Makefile chelsio: Move the Chelsio drivers 2011-08-10 19:54:52 -07:00
tcb.h