On Mon, Jul 29, 2019 at 11:19:45AM -0300, Jason Gunthorpe wrote: > On Mon, Jul 29, 2019 at 08:49:33AM +0300, Leon Romanovsky wrote: > > > +/** > > > + * ib_alloc_cq_any: Allocate kernel CQ > > > + * @dev: The IB device > > > + * @private: Private data attached to the CQE > > > + * @nr_cqe: Number of CQEs in the CQ > > > + * @poll_ctx: Context used for polling the CQ > > > + */ > > > +static inline struct ib_cq *ib_alloc_cq_any(struct ib_device *dev, > > > + void *private, int nr_cqe, > > > + enum ib_poll_context poll_ctx) > > > +{ > > > + return __ib_alloc_cq_any(dev, private, nr_cqe, poll_ctx, > > > + KBUILD_MODNAME); > > > +} > > > > This should be macro and not inline function, because compiler can be > > instructed do not inline functions (there is kconfig option for that) > > and it will cause that wrong KBUILD_MODNAME will be inserted (ib_core > > instead of ulp). > > No, it can't, a static inline can only be de-inlined within the same > compilation unit, so KBUILD_MODNAME can never be mixed up. > > You only need to use macros of the value changes within the > compilation unit. Thanks, good to know. > > Jason