RDMA: Mark if destroy address handle is in a sleepable context
Introduce a 'flags' field to destroy address handle callback and add a flag that marks whether the callback is executed in an atomic context or not. This will allow drivers to wait for completion instead of polling for it when it is allowed. Signed-off-by: Gal Pressman <galpress@amazon.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:

committato da
Jason Gunthorpe

parent
b090c4e3a0
commit
2553ba217e
@@ -582,10 +582,11 @@ struct ib_ah *pvrdma_create_ah(struct ib_pd *pd, struct rdma_ah_attr *ah_attr,
|
||||
/**
|
||||
* pvrdma_destroy_ah - destroy an address handle
|
||||
* @ah: the address handle to destroyed
|
||||
* @flags: destroy address handle flags (see enum rdma_destroy_ah_flags)
|
||||
*
|
||||
* @return: 0 on success.
|
||||
*/
|
||||
int pvrdma_destroy_ah(struct ib_ah *ah)
|
||||
int pvrdma_destroy_ah(struct ib_ah *ah, u32 flags)
|
||||
{
|
||||
struct pvrdma_dev *dev = to_vdev(ah->device);
|
||||
|
||||
|
@@ -421,7 +421,7 @@ int pvrdma_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc);
|
||||
int pvrdma_req_notify_cq(struct ib_cq *cq, enum ib_cq_notify_flags flags);
|
||||
struct ib_ah *pvrdma_create_ah(struct ib_pd *pd, struct rdma_ah_attr *ah_attr,
|
||||
u32 flags, struct ib_udata *udata);
|
||||
int pvrdma_destroy_ah(struct ib_ah *ah);
|
||||
int pvrdma_destroy_ah(struct ib_ah *ah, u32 flags);
|
||||
|
||||
struct ib_srq *pvrdma_create_srq(struct ib_pd *pd,
|
||||
struct ib_srq_init_attr *init_attr,
|
||||
|
Fai riferimento in un nuovo problema
Block a user