Roland Dreier wrote:
@@ -486,7 +500,11 @@ enum ibv_wr_opcode {
+ IBV_WR_LSO,
LSO is not exposed to user space by this patch, so maybe better to just
reserve/skip this enum value?
--- a/src/cmd.c
+++ b/src/cmd.c
@@ -159,6 +159,18 @@ int ibv_cmd_query_device(struct ibv_context *context,
+ /*
+ * If the kernel driver says that it supports memory
+ * management extensions, then move the flag to
+ * IBV_DEVICE_KERN_MEM_MGT_EXTENSIONS so that the low-level
+ * driver needs to move the flag back to show it supports the
+ * operations as well.
+ */
+ if (device_attr->device_cap_flags & IBV_DEVICE_MEM_MGT_EXTENSIONS) {
+ device_attr->device_cap_flags &= ~IBV_DEVICE_MEM_MGT_EXTENSIONS;
+ device_attr->device_cap_flags |=
IBV_DEVICE_KERN_MEM_MGT_EXTENSIONS;
+ }
this sets IBV_DEVICE_MEM_MGT_EXTENSIONS off and the
IBV_DEVICE_KERN_MEM_MGT_EXTENSIONS on, correct?
--- a/src/verbs.c
+++ b/src/verbs.c
@@ -79,7 +79,13 @@ enum ibv_rate mult_to_ibv_rate(int mult)
int __ibv_query_device(struct ibv_context *context,
struct ibv_device_attr *device_attr)
{
- return context->ops.query_device(context, device_attr);
+ int ret;
+
+ ret = context->ops.query_device(context, device_attr);
+
+ device_attr->device_cap_flags &= ~IBV_DEVICE_KERN_MEM_MGT_EXTENSIONS;
and this sets IBV_DEVICE_KERN_MEM_MGT_EXTENSIONS off, so at the bottom
line the user will never see IBV_DEVICE_MEM_MGT_EXTENSIONS being set to
ON? or the user space hw library should somwhow add this bit?
Or.
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general