IB/qib: RCU locking for MR validation
Profiling indicates that MR validation locking is expensive. The MR table is largely read-only and is a suitable candidate for RCU locking. The patch uses RCU locking during validation to eliminate one lock/unlock during that validation. Reviewed-by: Mike Heinz <michael.william.heinz@intel.com> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
@@ -527,3 +527,10 @@ int qib_dealloc_fmr(struct ib_fmr *ibfmr)
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
void mr_rcu_callback(struct rcu_head *list)
|
||||
{
|
||||
struct qib_mregion *mr = container_of(list, struct qib_mregion, list);
|
||||
|
||||
complete(&mr->comp);
|
||||
}
|
||||
|
Reference in New Issue
Block a user