mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
IB/uverbs: Add support to advise_mr
Add new ioctl method for the MR object - ADVISE_MR. This command can be used by users to give an advice or directions to the kernel about an address range that belongs to memory regions. A new ib_device callback, advise_mr(), is introduced here to suupport the new command. This command takes the following arguments: - pd: The protection domain to which all memory regions belong - advice: The type of the advice * IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH - Pre-fetch a range of an on-demand paging MR * IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE - Pre-fetch a range of an on-demand paging MR with write intention - flags: The properties of the advice * IB_UVERBS_ADVISE_MR_FLAG_FLUSH - Operation must end before return to the caller - sg_list: The list of memory ranges - num_sge: The number of memory ranges in the list - attrs: More attributes to be parsed by the provider Signed-off-by: Moni Shoua <[email protected]> Reviewed-by: Guy Levi <[email protected]> Signed-off-by: Leon Romanovsky <[email protected]> Signed-off-by: Jason Gunthorpe <[email protected]>
This commit is contained in:
parent
cbfdd442c4
commit
ad8a449675
4 changed files with 76 additions and 1 deletions
|
|
@ -2415,6 +2415,10 @@ struct ib_device_ops {
|
|||
int (*dereg_mr)(struct ib_mr *mr);
|
||||
struct ib_mr *(*alloc_mr)(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||
u32 max_num_sg);
|
||||
int (*advise_mr)(struct ib_pd *pd,
|
||||
enum ib_uverbs_advise_mr_advice advice, u32 flags,
|
||||
struct ib_sge *sg_list, u32 num_sge,
|
||||
struct uverbs_attr_bundle *attrs);
|
||||
int (*map_mr_sg)(struct ib_mr *mr, struct scatterlist *sg, int sg_nents,
|
||||
unsigned int *sg_offset);
|
||||
int (*check_mr_status)(struct ib_mr *mr, u32 check_mask,
|
||||
|
|
|
|||
Loading…
Reference in a new issue