On 11-Dec-18 18:22, Jason Gunthorpe wrote: > On Tue, Dec 11, 2018 at 10:59:25AM +0200, Gal Pressman wrote: > >> diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h >> index 85021451eee0..499d96302262 100644 >> +++ b/include/rdma/ib_verbs.h >> @@ -2374,6 +2374,7 @@ struct ib_device { >> int (*dealloc_pd)(struct ib_pd *pd); >> struct ib_ah * (*create_ah)(struct ib_pd *pd, >> struct rdma_ah_attr *ah_attr, >> + bool sleepable, >> struct ib_udata *udata); > > I think the Linux style consensus here is that these should be a flag with a > enum name not a bool Will change. I'm familiar with the no bool fields in structs (https://lkml.org/lkml/2017/11/21/384), good to know it applies to function parameters as well. > >> @@ -3180,11 +3181,13 @@ void ib_dealloc_pd(struct ib_pd *pd); >> * rdma_create_ah - Creates an address handle for the given address vector. >> * @pd: The protection domain associated with the address handle. >> * @ah_attr: The attributes of the address vector. >> + * @sleepable: In a sleepable context. >> * >> * The address handle is used to reference a local or global destination >> * in all UD QP post sends. >> */ >> -struct ib_ah *rdma_create_ah(struct ib_pd *pd, struct rdma_ah_attr *ah_attr); >> +struct ib_ah *rdma_create_ah(struct ib_pd *pd, struct rdma_ah_attr *ah_attr, >> + bool sleepable); > > Probably here too > > Jason >