aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2022-01-09 13:16:44 +0100
committerDmitry Vyukov <dvyukov@google.com>2022-01-11 16:30:08 +0100
commit2235758e92963b2abd82a206993c28b9009769db (patch)
tree3d69a75ae00f1e34fdfad91e380d80f16f998334 /sys/linux
parent0170cab3f148dfd90cb0ba715c0d20b45c86cfca (diff)
sys/linux: prepare dev_infiniband_rdma for stricter resource requirements
Subsequent changes will require stricter resource constructors and checks start failing for vcontext_handle (doesn't have ctors). I can't wrap my head around how vcontext_handle is supposed to be created, so for now it's downgraded to just int.
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/dev_infiniband_rdma.txt16
1 files changed, 10 insertions, 6 deletions
diff --git a/sys/linux/dev_infiniband_rdma.txt b/sys/linux/dev_infiniband_rdma.txt
index 72178cbc7..7cd367acd 100644
--- a/sys/linux/dev_infiniband_rdma.txt
+++ b/sys/linux/dev_infiniband_rdma.txt
@@ -1278,7 +1278,7 @@ ib_uverbs_flow_attr {
create_flow_cmd_ex {
comp_mask const[0x0, int32]
- qp_handle qp_handle
+ qp_handle qp_handle (in)
flow_attr ib_uverbs_flow_attr
}
@@ -1295,7 +1295,7 @@ create_flow_cmd {
provider_in_words const[0x0, int16]
provider_out_words const[0x0, int16]
reserved const[0x0, int32]
- flow_ex create_flow_cmd_ex
+ flow_ex create_flow_cmd_ex (in)
}
destroy_flow_cmd {
@@ -1314,7 +1314,11 @@ destroy_flow_cmd {
ib_uverbs_attr_flags = UVERBS_ATTR_F_MANDATORY
ib_read_counters_flags = IB_UVERBS_READ_COUNTERS_PREFER_CACHED
-resource vcontext_handle[int32]
+
+# This used to be a resource, but it's unclear what is supposed to create this resource,
+# so for now it's downgraded to just int.
+# resource vcontext_handle[int32]
+type vcontext_handle int32
ib_uverbs_create_counters_cmd {
length bytesize8[ib_uverbs_create_counters_cmd, int16]
@@ -1334,7 +1338,7 @@ ib_uverbs_create_counters_cmd {
reserved3 const[0x0, int16]
# TODO: Is the following field really optional, or, is opt used as a workaround?
# Now that we have per-field directions, this can be fixed if it is the second case.
- vcontext_handle vcontext_handle[opt]
+ vcontext_handle vcontext_handle
more_data int32
}
@@ -1371,7 +1375,7 @@ ib_uverbs_read_counters_cmd {
len0 int16
flags0 flags[ib_uverbs_attr_flags, int16]
reserved2 const[0x0, int16]
- vcontext_handle vcontext_handle
+ vcontext_handle vcontext_handle (in)
more_data0 int32
attr_id1 const[UVERBS_ATTR_READ_COUNTERS_BUFF, int16]
@@ -1467,4 +1471,4 @@ write$DESTROY_RWQ_IND_TBL(fd fd_rdma, buf ptr[inout, destroy_rwq_ind_table_cmd],
# create_flow
write$CREATE_FLOW(fd fd_rdma, buf ptr[inout, create_flow_cmd], len len[buf])
-write$DESTROY_FLOW(fd fd_rdma, buf ptr[inout, destroy_flow_cmd], len len[buf])
+write$DESTROY_FLOW(fd fd_rdma, buf ptr[in, destroy_flow_cmd], len len[buf])