diff options
Diffstat (limited to 'drivers/infiniband/core/restrack.h')
-rw-r--r-- | drivers/infiniband/core/restrack.h | 17 |
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_ */ |