aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/core/restrack.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/core/restrack.h')
-rw-r--r--drivers/infiniband/core/restrack.h17
1 files changed, 3 insertions, 14 deletions
diff --git a/drivers/infiniband/core/restrack.h b/drivers/infiniband/core/restrack.h
index cf89ef0b8ed5..09a1fbdf578e 100644
--- a/drivers/infiniband/core/restrack.h
+++ b/drivers/infiniband/core/restrack.h
@@ -7,33 +7,22 @@
#define _RDMA_CORE_RESTRACK_H_
#include <linux/mutex.h>
-#include <linux/rwsem.h>
/**
* struct rdma_restrack_root - main resource tracking management
* entity, per-device
*/
struct rdma_restrack_root {
- /*
- * @rwsem: Read/write lock to protect erase of entry.
- * Lists and insertions are protected by XArray internal lock.
- */
- struct rw_semaphore rwsem;
/**
- * @xa: Array of XArray structures to hold restrack entries.
- * We want to use array of XArrays because insertion is type
- * dependent. For types with xisiting unique ID (like QPN),
- * we will insert to that unique index. For other types,
- * we insert based on pointers and auto-allocate unique index.
+ * @xa: Array of XArray structure to hold restrack entries.
*/
- struct xarray xa[RDMA_RESTRACK_MAX];
+ struct xarray xa;
/**
* @next_id: Next ID to support cyclic allocation
*/
- u32 next_id[RDMA_RESTRACK_MAX];
+ u32 next_id;
};
-
int rdma_restrack_init(struct ib_device *dev);
void rdma_restrack_clean(struct ib_device *dev);
#endif /* _RDMA_CORE_RESTRACK_H_ */