aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/rdma
diff options
context:
space:
mode:
authorSagi Grimberg <sagig@mellanox.com>2014-12-11 10:04:16 -0500
committerRoland Dreier <roland@purestorage.com>2014-12-15 21:13:35 -0500
commit860f10a799c83e38a69d5a69d80da5312a4c4106 (patch)
tree32bc827e3535988397e99b11f9db5c429c09511f /include/uapi/rdma
parent5a77abf9a97a7ecc8fb0f6bf4ad411fb12b02f31 (diff)
IB/core: Add flags for on demand paging support
* Add a configuration option for enable on-demand paging support in the infiniband subsystem (CONFIG_INFINIBAND_ON_DEMAND_PAGING). In a later patch, this configuration option will select the MMU_NOTIFIER configuration option to enable mmu notifiers. * Add a flag for on demand paging (ODP) support in the IB device capabilities. * Add a flag to request ODP MR in the access flags to reg_mr. * Fail registrations done with the ODP flag when the low-level driver doesn't support this. * Change the conditions in which an MR will be writable to explicitly specify the access flags. This is to avoid making an MR writable just because it is an ODP MR. * Add a ODP capabilities to the extended query device verb. Signed-off-by: Sagi Grimberg <sagig@mellanox.com> Signed-off-by: Shachar Raindel <raindel@mellanox.com> Signed-off-by: Haggai Eran <haggaie@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'include/uapi/rdma')
-rw-r--r--include/uapi/rdma/ib_user_verbs.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/uapi/rdma/ib_user_verbs.h b/include/uapi/rdma/ib_user_verbs.h
index e8a96071e352..4275b961bf60 100644
--- a/include/uapi/rdma/ib_user_verbs.h
+++ b/include/uapi/rdma/ib_user_verbs.h
@@ -202,15 +202,30 @@ struct ib_uverbs_query_device_resp {
202 __u8 reserved[4]; 202 __u8 reserved[4];
203}; 203};
204 204
205enum {
206 IB_USER_VERBS_EX_QUERY_DEVICE_ODP = 1ULL << 0,
207};
208
205struct ib_uverbs_ex_query_device { 209struct ib_uverbs_ex_query_device {
206 __u32 comp_mask; 210 __u32 comp_mask;
207 __u32 reserved; 211 __u32 reserved;
208}; 212};
209 213
214struct ib_uverbs_odp_caps {
215 __u64 general_caps;
216 struct {
217 __u32 rc_odp_caps;
218 __u32 uc_odp_caps;
219 __u32 ud_odp_caps;
220 } per_transport_caps;
221 __u32 reserved;
222};
223
210struct ib_uverbs_ex_query_device_resp { 224struct ib_uverbs_ex_query_device_resp {
211 struct ib_uverbs_query_device_resp base; 225 struct ib_uverbs_query_device_resp base;
212 __u32 comp_mask; 226 __u32 comp_mask;
213 __u32 reserved; 227 __u32 reserved;
228 struct ib_uverbs_odp_caps odp_caps;
214}; 229};
215 230
216struct ib_uverbs_query_port { 231struct ib_uverbs_query_port {