Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f6316032 authored by Leon Romanovsky's avatar Leon Romanovsky Committed by Jason Gunthorpe
Browse files

RDMA/core: Support object allocation in atomic context



AH objects are allocated in atomic context and those allocations should
be done with GFP_ATOMIC.

Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent feec576a
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -59,6 +59,8 @@
#include <linux/mmu_notifier.h>
#include <linux/uaccess.h>
#include <linux/cgroup_rdma.h>
#include <linux/irqflags.h>
#include <linux/preempt.h>
#include <uapi/rdma/ib_user_verbs.h>
#include <rdma/restrack.h>
#include <uapi/rdma/rdma_user_ioctl.h>
@@ -2281,8 +2283,11 @@ struct uverbs_attr_bundle;
			 !__same_type(((struct drv_struct *)NULL)->member,     \
				      struct ib_struct)))

#define rdma_zalloc_drv_obj_gfp(ib_dev, ib_type, gfp)                         \
	((struct ib_type *)kzalloc(ib_dev->ops.size_##ib_type, gfp))

#define rdma_zalloc_drv_obj(ib_dev, ib_type)                                   \
	((struct ib_type *)kzalloc(ib_dev->ops.size_##ib_type, GFP_KERNEL))
	rdma_zalloc_drv_obj_gfp(ib_dev, ib_type, GFP_KERNEL)

#define DECLARE_RDMA_OBJ_SIZE(ib_struct) size_t size_##ib_struct