Message ID | 20190919035032.31373-1-honli@redhat.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v3,1/2] RDMA/srp: Add parse function for maximum initiator to target IU size | expand |
On 9/18/19 8:50 PM, Honggang LI wrote: > diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c > index b5960351bec0..b829dab0df77 100644 > --- a/drivers/infiniband/ulp/srp/ib_srp.c > +++ b/drivers/infiniband/ulp/srp/ib_srp.c > @@ -3411,6 +3411,7 @@ enum { > SRP_OPT_IP_SRC = 1 << 15, > SRP_OPT_IP_DEST = 1 << 16, > SRP_OPT_TARGET_CAN_QUEUE= 1 << 17, > + SRP_OPT_MAX_IT_IU_SIZE = 1 << 18, > }; > > static unsigned int srp_opt_mandatory[] = { > @@ -3443,6 +3444,7 @@ static const match_table_t srp_opt_tokens = { > { SRP_OPT_QUEUE_SIZE, "queue_size=%d" }, > { SRP_OPT_IP_SRC, "src=%s" }, > { SRP_OPT_IP_DEST, "dest=%s" }, > + { SRP_OPT_MAX_IT_IU_SIZE, "max_it_iu_size=%d" }, > { SRP_OPT_ERR, NULL } > }; > > @@ -3736,6 +3738,14 @@ static int srp_parse_options(struct net *net, const char *buf, > target->tl_retry_count = token; > break; > > + case SRP_OPT_MAX_IT_IU_SIZE: > + if (match_int(args, &token) || token < 0) { > + pr_warn("bad maximum initiator to target IU size '%s'\n", p); > + goto out; > + } > + target->max_it_iu_size = token; > + break; > + > default: > pr_warn("unknown parameter or missing value '%s' in target creation request\n", > p); > diff --git a/drivers/infiniband/ulp/srp/ib_srp.h b/drivers/infiniband/ulp/srp/ib_srp.h > index b2861cd2087a..105b2bc6aa2f 100644 > --- a/drivers/infiniband/ulp/srp/ib_srp.h > +++ b/drivers/infiniband/ulp/srp/ib_srp.h > @@ -209,6 +209,7 @@ struct srp_target_port { > u32 ch_count; > u32 lkey; > enum srp_target_state state; > + uint32_t max_it_iu_size; > unsigned int cmd_sg_cnt; > unsigned int indirect_size; > bool allow_ext_sg; > Something I forgot to mention last time: since this patch adds a new login parameter Documentation/ABI/stable/sysfs-driver-ib_srp should be updated. I don't have a strong opinion about whether that should happen through a separate patch or not. Since the code changes look fine to me: Reviewed-by: Bart Van Assche <bvanassche@acm.org>
On Fri, Sep 20, 2019 at 09:11:06AM -0700, Bart Van Assche wrote: > > Something I forgot to mention last time: since this patch adds a new login > parameter Documentation/ABI/stable/sysfs-driver-ib_srp should be updated. I I will submit a new patch to update 'sysfs-driver-ib_srp'. thanks
On 9/22/19 8:30 PM, Honggang LI wrote: > On Fri, Sep 20, 2019 at 09:11:06AM -0700, Bart Van Assche wrote: >> >> Something I forgot to mention last time: since this patch adds a new login >> parameter Documentation/ABI/stable/sysfs-driver-ib_srp should be updated. I > > I will submit a new patch to update 'sysfs-driver-ib_srp'. Thanks! Bart.
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c index b5960351bec0..b829dab0df77 100644 --- a/drivers/infiniband/ulp/srp/ib_srp.c +++ b/drivers/infiniband/ulp/srp/ib_srp.c @@ -3411,6 +3411,7 @@ enum { SRP_OPT_IP_SRC = 1 << 15, SRP_OPT_IP_DEST = 1 << 16, SRP_OPT_TARGET_CAN_QUEUE= 1 << 17, + SRP_OPT_MAX_IT_IU_SIZE = 1 << 18, }; static unsigned int srp_opt_mandatory[] = { @@ -3443,6 +3444,7 @@ static const match_table_t srp_opt_tokens = { { SRP_OPT_QUEUE_SIZE, "queue_size=%d" }, { SRP_OPT_IP_SRC, "src=%s" }, { SRP_OPT_IP_DEST, "dest=%s" }, + { SRP_OPT_MAX_IT_IU_SIZE, "max_it_iu_size=%d" }, { SRP_OPT_ERR, NULL } }; @@ -3736,6 +3738,14 @@ static int srp_parse_options(struct net *net, const char *buf, target->tl_retry_count = token; break; + case SRP_OPT_MAX_IT_IU_SIZE: + if (match_int(args, &token) || token < 0) { + pr_warn("bad maximum initiator to target IU size '%s'\n", p); + goto out; + } + target->max_it_iu_size = token; + break; + default: pr_warn("unknown parameter or missing value '%s' in target creation request\n", p); diff --git a/drivers/infiniband/ulp/srp/ib_srp.h b/drivers/infiniband/ulp/srp/ib_srp.h index b2861cd2087a..105b2bc6aa2f 100644 --- a/drivers/infiniband/ulp/srp/ib_srp.h +++ b/drivers/infiniband/ulp/srp/ib_srp.h @@ -209,6 +209,7 @@ struct srp_target_port { u32 ch_count; u32 lkey; enum srp_target_state state; + uint32_t max_it_iu_size; unsigned int cmd_sg_cnt; unsigned int indirect_size; bool allow_ext_sg;