* [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev
@ 2022-08-26 8:11 Guoqing Jiang
2022-08-26 10:48 ` Jinpu Wang
2022-08-29 7:44 ` Leon Romanovsky
0 siblings, 2 replies; 16+ messages in thread
From: Guoqing Jiang @ 2022-08-26 8:11 UTC (permalink / raw)
To: haris.iqbal, jinpu.wang, axboe, jgg, leon; +Cc: linux-block, linux-rdma
Since all callers (process_{read,write}) set id->dir, no need to
pass 'dir' again.
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
---
drivers/block/rnbd/rnbd-srv.c | 9 ++++-----
drivers/block/rnbd/rnbd-srv.h | 1 +
drivers/infiniband/ulp/rtrs/rtrs-srv.c | 4 ++--
drivers/infiniband/ulp/rtrs/rtrs.h | 3 +--
4 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
index 3f6c268e04ef..9600715f1029 100644
--- a/drivers/block/rnbd/rnbd-srv.c
+++ b/drivers/block/rnbd/rnbd-srv.c
@@ -368,10 +368,9 @@ static int process_msg_sess_info(struct rnbd_srv_session *srv_sess,
const void *msg, size_t len,
void *data, size_t datalen);
-static int rnbd_srv_rdma_ev(void *priv,
- struct rtrs_srv_op *id, int dir,
- void *data, size_t datalen, const void *usr,
- size_t usrlen)
+static int rnbd_srv_rdma_ev(void *priv, struct rtrs_srv_op *id,
+ void *data, size_t datalen,
+ const void *usr, size_t usrlen)
{
struct rnbd_srv_session *srv_sess = priv;
const struct rnbd_msg_hdr *hdr = usr;
@@ -398,7 +397,7 @@ static int rnbd_srv_rdma_ev(void *priv,
break;
default:
pr_warn("Received unexpected message type %d with dir %d from session %s\n",
- type, dir, srv_sess->sessname);
+ type, id->dir, srv_sess->sessname);
return -EINVAL;
}
diff --git a/drivers/block/rnbd/rnbd-srv.h b/drivers/block/rnbd/rnbd-srv.h
index 081bceaf4ae9..5a0ef6c2b5c7 100644
--- a/drivers/block/rnbd/rnbd-srv.h
+++ b/drivers/block/rnbd/rnbd-srv.h
@@ -14,6 +14,7 @@
#include <linux/kref.h>
#include <rtrs.h>
+#include <rtrs-srv.h>
#include "rnbd-proto.h"
#include "rnbd-log.h"
diff --git a/drivers/infiniband/ulp/rtrs/rtrs-srv.c b/drivers/infiniband/ulp/rtrs/rtrs-srv.c
index 34c03bde5064..9dc50ff0e1b9 100644
--- a/drivers/infiniband/ulp/rtrs/rtrs-srv.c
+++ b/drivers/infiniband/ulp/rtrs/rtrs-srv.c
@@ -1024,7 +1024,7 @@ static void process_read(struct rtrs_srv_con *con,
usr_len = le16_to_cpu(msg->usr_len);
data_len = off - usr_len;
data = page_address(srv->chunks[buf_id]);
- ret = ctx->ops.rdma_ev(srv->priv, id, READ, data, data_len,
+ ret = ctx->ops.rdma_ev(srv->priv, id, data, data_len,
data + data_len, usr_len);
if (ret) {
@@ -1077,7 +1077,7 @@ static void process_write(struct rtrs_srv_con *con,
usr_len = le16_to_cpu(req->usr_len);
data_len = off - usr_len;
data = page_address(srv->chunks[buf_id]);
- ret = ctx->ops.rdma_ev(srv->priv, id, WRITE, data, data_len,
+ ret = ctx->ops.rdma_ev(srv->priv, id, data, data_len,
data + data_len, usr_len);
if (ret) {
rtrs_err_rl(s,
diff --git a/drivers/infiniband/ulp/rtrs/rtrs.h b/drivers/infiniband/ulp/rtrs/rtrs.h
index 5e57a7ccc7fb..b48b53a7c143 100644
--- a/drivers/infiniband/ulp/rtrs/rtrs.h
+++ b/drivers/infiniband/ulp/rtrs/rtrs.h
@@ -139,7 +139,6 @@ struct rtrs_srv_ops {
* @priv: Private data set by rtrs_srv_set_sess_priv()
* @id: internal RTRS operation id
- * @dir: READ/WRITE
* @data: Pointer to (bidirectional) rdma memory area:
* - in case of %RTRS_SRV_RDMA_EV_RECV contains
* data sent by the client
@@ -151,7 +150,7 @@ struct rtrs_srv_ops {
* @usrlen: Size of the user message
*/
int (*rdma_ev)(void *priv,
- struct rtrs_srv_op *id, int dir,
+ struct rtrs_srv_op *id,
void *data, size_t datalen, const void *usr,
size_t usrlen);
/**
--
2.31.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev
2022-08-26 8:11 [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev Guoqing Jiang
@ 2022-08-26 10:48 ` Jinpu Wang
2022-08-26 11:26 ` Guoqing Jiang
2022-08-29 7:44 ` Leon Romanovsky
1 sibling, 1 reply; 16+ messages in thread
From: Jinpu Wang @ 2022-08-26 10:48 UTC (permalink / raw)
To: Guoqing Jiang; +Cc: haris.iqbal, axboe, jgg, leon, linux-block, linux-rdma
On Fri, Aug 26, 2022 at 10:11 AM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
>
> Since all callers (process_{read,write}) set id->dir, no need to
> pass 'dir' again.
>
> Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
> ---
> drivers/block/rnbd/rnbd-srv.c | 9 ++++-----
> drivers/block/rnbd/rnbd-srv.h | 1 +
> drivers/infiniband/ulp/rtrs/rtrs-srv.c | 4 ++--
> drivers/infiniband/ulp/rtrs/rtrs.h | 3 +--
> 4 files changed, 8 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
> index 3f6c268e04ef..9600715f1029 100644
> --- a/drivers/block/rnbd/rnbd-srv.c
> +++ b/drivers/block/rnbd/rnbd-srv.c
> @@ -368,10 +368,9 @@ static int process_msg_sess_info(struct rnbd_srv_session *srv_sess,
> const void *msg, size_t len,
> void *data, size_t datalen);
>
> -static int rnbd_srv_rdma_ev(void *priv,
> - struct rtrs_srv_op *id, int dir,
> - void *data, size_t datalen, const void *usr,
> - size_t usrlen)
> +static int rnbd_srv_rdma_ev(void *priv, struct rtrs_srv_op *id,
> + void *data, size_t datalen,
> + const void *usr, size_t usrlen)
> {
> struct rnbd_srv_session *srv_sess = priv;
> const struct rnbd_msg_hdr *hdr = usr;
> @@ -398,7 +397,7 @@ static int rnbd_srv_rdma_ev(void *priv,
> break;
> default:
> pr_warn("Received unexpected message type %d with dir %d from session %s\n",
> - type, dir, srv_sess->sessname);
> + type, id->dir, srv_sess->sessname);
> return -EINVAL;
> }
>
> diff --git a/drivers/block/rnbd/rnbd-srv.h b/drivers/block/rnbd/rnbd-srv.h
> index 081bceaf4ae9..5a0ef6c2b5c7 100644
> --- a/drivers/block/rnbd/rnbd-srv.h
> +++ b/drivers/block/rnbd/rnbd-srv.h
> @@ -14,6 +14,7 @@
> #include <linux/kref.h>
>
> #include <rtrs.h>
> +#include <rtrs-srv.h>
why do we need this?
> #include "rnbd-proto.h"
> #include "rnbd-log.h"
>
> diff --git a/drivers/infiniband/ulp/rtrs/rtrs-srv.c b/drivers/infiniband/ulp/rtrs/rtrs-srv.c
> index 34c03bde5064..9dc50ff0e1b9 100644
> --- a/drivers/infiniband/ulp/rtrs/rtrs-srv.c
> +++ b/drivers/infiniband/ulp/rtrs/rtrs-srv.c
> @@ -1024,7 +1024,7 @@ static void process_read(struct rtrs_srv_con *con,
> usr_len = le16_to_cpu(msg->usr_len);
> data_len = off - usr_len;
> data = page_address(srv->chunks[buf_id]);
> - ret = ctx->ops.rdma_ev(srv->priv, id, READ, data, data_len,
> + ret = ctx->ops.rdma_ev(srv->priv, id, data, data_len,
> data + data_len, usr_len);
>
> if (ret) {
> @@ -1077,7 +1077,7 @@ static void process_write(struct rtrs_srv_con *con,
> usr_len = le16_to_cpu(req->usr_len);
> data_len = off - usr_len;
> data = page_address(srv->chunks[buf_id]);
> - ret = ctx->ops.rdma_ev(srv->priv, id, WRITE, data, data_len,
> + ret = ctx->ops.rdma_ev(srv->priv, id, data, data_len,
> data + data_len, usr_len);
> if (ret) {
> rtrs_err_rl(s,
> diff --git a/drivers/infiniband/ulp/rtrs/rtrs.h b/drivers/infiniband/ulp/rtrs/rtrs.h
> index 5e57a7ccc7fb..b48b53a7c143 100644
> --- a/drivers/infiniband/ulp/rtrs/rtrs.h
> +++ b/drivers/infiniband/ulp/rtrs/rtrs.h
> @@ -139,7 +139,6 @@ struct rtrs_srv_ops {
>
> * @priv: Private data set by rtrs_srv_set_sess_priv()
> * @id: internal RTRS operation id
> - * @dir: READ/WRITE
> * @data: Pointer to (bidirectional) rdma memory area:
> * - in case of %RTRS_SRV_RDMA_EV_RECV contains
> * data sent by the client
> @@ -151,7 +150,7 @@ struct rtrs_srv_ops {
> * @usrlen: Size of the user message
> */
> int (*rdma_ev)(void *priv,
> - struct rtrs_srv_op *id, int dir,
> + struct rtrs_srv_op *id,
> void *data, size_t datalen, const void *usr,
> size_t usrlen);
> /**
> --
> 2.31.1
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev
2022-08-26 10:48 ` Jinpu Wang
@ 2022-08-26 11:26 ` Guoqing Jiang
2022-08-26 11:29 ` Jinpu Wang
0 siblings, 1 reply; 16+ messages in thread
From: Guoqing Jiang @ 2022-08-26 11:26 UTC (permalink / raw)
To: Jinpu Wang; +Cc: haris.iqbal, axboe, jgg, leon, linux-block, linux-rdma
On 8/26/22 6:48 PM, Jinpu Wang wrote:
> On Fri, Aug 26, 2022 at 10:11 AM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
>> Since all callers (process_{read,write}) set id->dir, no need to
>> pass 'dir' again.
>>
>> Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
>> ---
>> drivers/block/rnbd/rnbd-srv.c | 9 ++++-----
>> drivers/block/rnbd/rnbd-srv.h | 1 +
>> drivers/infiniband/ulp/rtrs/rtrs-srv.c | 4 ++--
>> drivers/infiniband/ulp/rtrs/rtrs.h | 3 +--
>> 4 files changed, 8 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
>> index 3f6c268e04ef..9600715f1029 100644
>> --- a/drivers/block/rnbd/rnbd-srv.c
>> +++ b/drivers/block/rnbd/rnbd-srv.c
>> @@ -368,10 +368,9 @@ static int process_msg_sess_info(struct rnbd_srv_session *srv_sess,
>> const void *msg, size_t len,
>> void *data, size_t datalen);
>>
>> -static int rnbd_srv_rdma_ev(void *priv,
>> - struct rtrs_srv_op *id, int dir,
>> - void *data, size_t datalen, const void *usr,
>> - size_t usrlen)
>> +static int rnbd_srv_rdma_ev(void *priv, struct rtrs_srv_op *id,
>> + void *data, size_t datalen,
>> + const void *usr, size_t usrlen)
>> {
>> struct rnbd_srv_session *srv_sess = priv;
>> const struct rnbd_msg_hdr *hdr = usr;
>> @@ -398,7 +397,7 @@ static int rnbd_srv_rdma_ev(void *priv,
>> break;
>> default:
>> pr_warn("Received unexpected message type %d with dir %d from session %s\n",
>> - type, dir, srv_sess->sessname);
>> + type, id->dir, srv_sess->sessname);
>> return -EINVAL;
>> }
>>
>> diff --git a/drivers/block/rnbd/rnbd-srv.h b/drivers/block/rnbd/rnbd-srv.h
>> index 081bceaf4ae9..5a0ef6c2b5c7 100644
>> --- a/drivers/block/rnbd/rnbd-srv.h
>> +++ b/drivers/block/rnbd/rnbd-srv.h
>> @@ -14,6 +14,7 @@
>> #include <linux/kref.h>
>>
>> #include <rtrs.h>
>> +#include <rtrs-srv.h>
> why do we need this?
Otherwise, compiler complains
drivers/block/rnbd/rnbd-srv.c: In function ‘rnbd_srv_rdma_ev’:
drivers/block/rnbd/rnbd-srv.c:400:33: error: invalid use of undefined
type ‘struct rtrs_srv_op’
400 | type, id->dir, srv_sess->sessname);
Thanks,
Guoqing
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev
2022-08-26 11:26 ` Guoqing Jiang
@ 2022-08-26 11:29 ` Jinpu Wang
2022-08-26 11:38 ` Guoqing Jiang
2022-08-28 11:27 ` Leon Romanovsky
0 siblings, 2 replies; 16+ messages in thread
From: Jinpu Wang @ 2022-08-26 11:29 UTC (permalink / raw)
To: Guoqing Jiang; +Cc: haris.iqbal, axboe, jgg, leon, linux-block, linux-rdma
On Fri, Aug 26, 2022 at 1:26 PM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
>
>
>
> On 8/26/22 6:48 PM, Jinpu Wang wrote:
> > On Fri, Aug 26, 2022 at 10:11 AM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
> >> Since all callers (process_{read,write}) set id->dir, no need to
> >> pass 'dir' again.
> >>
> >> Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
> >> ---
> >> drivers/block/rnbd/rnbd-srv.c | 9 ++++-----
> >> drivers/block/rnbd/rnbd-srv.h | 1 +
> >> drivers/infiniband/ulp/rtrs/rtrs-srv.c | 4 ++--
> >> drivers/infiniband/ulp/rtrs/rtrs.h | 3 +--
> >> 4 files changed, 8 insertions(+), 9 deletions(-)
> >>
> >> diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
> >> index 3f6c268e04ef..9600715f1029 100644
> >> --- a/drivers/block/rnbd/rnbd-srv.c
> >> +++ b/drivers/block/rnbd/rnbd-srv.c
> >> @@ -368,10 +368,9 @@ static int process_msg_sess_info(struct rnbd_srv_session *srv_sess,
> >> const void *msg, size_t len,
> >> void *data, size_t datalen);
> >>
> >> -static int rnbd_srv_rdma_ev(void *priv,
> >> - struct rtrs_srv_op *id, int dir,
> >> - void *data, size_t datalen, const void *usr,
> >> - size_t usrlen)
> >> +static int rnbd_srv_rdma_ev(void *priv, struct rtrs_srv_op *id,
> >> + void *data, size_t datalen,
> >> + const void *usr, size_t usrlen)
> >> {
> >> struct rnbd_srv_session *srv_sess = priv;
> >> const struct rnbd_msg_hdr *hdr = usr;
> >> @@ -398,7 +397,7 @@ static int rnbd_srv_rdma_ev(void *priv,
> >> break;
> >> default:
> >> pr_warn("Received unexpected message type %d with dir %d from session %s\n",
> >> - type, dir, srv_sess->sessname);
> >> + type, id->dir, srv_sess->sessname);
> >> return -EINVAL;
> >> }
> >>
> >> diff --git a/drivers/block/rnbd/rnbd-srv.h b/drivers/block/rnbd/rnbd-srv.h
> >> index 081bceaf4ae9..5a0ef6c2b5c7 100644
> >> --- a/drivers/block/rnbd/rnbd-srv.h
> >> +++ b/drivers/block/rnbd/rnbd-srv.h
> >> @@ -14,6 +14,7 @@
> >> #include <linux/kref.h>
> >>
> >> #include <rtrs.h>
> >> +#include <rtrs-srv.h>
> > why do we need this?
>
> Otherwise, compiler complains
>
> drivers/block/rnbd/rnbd-srv.c: In function ‘rnbd_srv_rdma_ev’:
> drivers/block/rnbd/rnbd-srv.c:400:33: error: invalid use of undefined
> type ‘struct rtrs_srv_op’
> 400 | type, id->dir, srv_sess->sessname);
>
> Thanks,
> Guoqing
ah, okay, this reminds me, why we have dir there, we don't want to
export too much detail regarding the rtrs_srv_op to
rnbd-server, it is supposed to be transparent to rnbd-srv.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev
2022-08-26 11:29 ` Jinpu Wang
@ 2022-08-26 11:38 ` Guoqing Jiang
2022-08-26 11:58 ` Jinpu Wang
2022-08-28 11:27 ` Leon Romanovsky
1 sibling, 1 reply; 16+ messages in thread
From: Guoqing Jiang @ 2022-08-26 11:38 UTC (permalink / raw)
To: Jinpu Wang; +Cc: haris.iqbal, axboe, jgg, leon, linux-block, linux-rdma
On 8/26/22 7:29 PM, Jinpu Wang wrote:
> On Fri, Aug 26, 2022 at 1:26 PM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
>>
>>
>> On 8/26/22 6:48 PM, Jinpu Wang wrote:
>>> On Fri, Aug 26, 2022 at 10:11 AM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
>>>> Since all callers (process_{read,write}) set id->dir, no need to
>>>> pass 'dir' again.
>>>>
>>>> Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
>>>> ---
>>>> drivers/block/rnbd/rnbd-srv.c | 9 ++++-----
>>>> drivers/block/rnbd/rnbd-srv.h | 1 +
>>>> drivers/infiniband/ulp/rtrs/rtrs-srv.c | 4 ++--
>>>> drivers/infiniband/ulp/rtrs/rtrs.h | 3 +--
>>>> 4 files changed, 8 insertions(+), 9 deletions(-)
>>>>
>>>> diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
>>>> index 3f6c268e04ef..9600715f1029 100644
>>>> --- a/drivers/block/rnbd/rnbd-srv.c
>>>> +++ b/drivers/block/rnbd/rnbd-srv.c
>>>> @@ -368,10 +368,9 @@ static int process_msg_sess_info(struct rnbd_srv_session *srv_sess,
>>>> const void *msg, size_t len,
>>>> void *data, size_t datalen);
>>>>
>>>> -static int rnbd_srv_rdma_ev(void *priv,
>>>> - struct rtrs_srv_op *id, int dir,
>>>> - void *data, size_t datalen, const void *usr,
>>>> - size_t usrlen)
>>>> +static int rnbd_srv_rdma_ev(void *priv, struct rtrs_srv_op *id,
>>>> + void *data, size_t datalen,
>>>> + const void *usr, size_t usrlen)
>>>> {
>>>> struct rnbd_srv_session *srv_sess = priv;
>>>> const struct rnbd_msg_hdr *hdr = usr;
>>>> @@ -398,7 +397,7 @@ static int rnbd_srv_rdma_ev(void *priv,
>>>> break;
>>>> default:
>>>> pr_warn("Received unexpected message type %d with dir %d from session %s\n",
>>>> - type, dir, srv_sess->sessname);
>>>> + type, id->dir, srv_sess->sessname);
>>>> return -EINVAL;
>>>> }
>>>>
>>>> diff --git a/drivers/block/rnbd/rnbd-srv.h b/drivers/block/rnbd/rnbd-srv.h
>>>> index 081bceaf4ae9..5a0ef6c2b5c7 100644
>>>> --- a/drivers/block/rnbd/rnbd-srv.h
>>>> +++ b/drivers/block/rnbd/rnbd-srv.h
>>>> @@ -14,6 +14,7 @@
>>>> #include <linux/kref.h>
>>>>
>>>> #include <rtrs.h>
>>>> +#include <rtrs-srv.h>
>>> why do we need this?
>> Otherwise, compiler complains
>>
>> drivers/block/rnbd/rnbd-srv.c: In function ‘rnbd_srv_rdma_ev’:
>> drivers/block/rnbd/rnbd-srv.c:400:33: error: invalid use of undefined
>> type ‘struct rtrs_srv_op’
>> 400 | type, id->dir, srv_sess->sessname);
>>
>> Thanks,
>> Guoqing
> ah, okay, this reminds me, why we have dir there, we don't want to
> export too much detail regarding the rtrs_srv_op to
> rnbd-server, it is supposed to be transparent to rnbd-srv.
What is the issue with more details are exported from rtrs-srv? Both of
the modules
are run in the same machine.
And I guess we can just pass parameters with register after remove an
argument,
otherwise need to push/pop stack with more than six parameters for x64.
Thanks,
Guoqing
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev
2022-08-26 11:38 ` Guoqing Jiang
@ 2022-08-26 11:58 ` Jinpu Wang
2022-08-26 14:01 ` Guoqing Jiang
0 siblings, 1 reply; 16+ messages in thread
From: Jinpu Wang @ 2022-08-26 11:58 UTC (permalink / raw)
To: Guoqing Jiang; +Cc: haris.iqbal, axboe, jgg, leon, linux-block, linux-rdma
On Fri, Aug 26, 2022 at 1:38 PM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
>
>
>
> On 8/26/22 7:29 PM, Jinpu Wang wrote:
> > On Fri, Aug 26, 2022 at 1:26 PM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
> >>
> >>
> >> On 8/26/22 6:48 PM, Jinpu Wang wrote:
> >>> On Fri, Aug 26, 2022 at 10:11 AM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
> >>>> Since all callers (process_{read,write}) set id->dir, no need to
> >>>> pass 'dir' again.
> >>>>
> >>>> Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
> >>>> ---
> >>>> drivers/block/rnbd/rnbd-srv.c | 9 ++++-----
> >>>> drivers/block/rnbd/rnbd-srv.h | 1 +
> >>>> drivers/infiniband/ulp/rtrs/rtrs-srv.c | 4 ++--
> >>>> drivers/infiniband/ulp/rtrs/rtrs.h | 3 +--
> >>>> 4 files changed, 8 insertions(+), 9 deletions(-)
> >>>>
> >>>> diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
> >>>> index 3f6c268e04ef..9600715f1029 100644
> >>>> --- a/drivers/block/rnbd/rnbd-srv.c
> >>>> +++ b/drivers/block/rnbd/rnbd-srv.c
> >>>> @@ -368,10 +368,9 @@ static int process_msg_sess_info(struct rnbd_srv_session *srv_sess,
> >>>> const void *msg, size_t len,
> >>>> void *data, size_t datalen);
> >>>>
> >>>> -static int rnbd_srv_rdma_ev(void *priv,
> >>>> - struct rtrs_srv_op *id, int dir,
> >>>> - void *data, size_t datalen, const void *usr,
> >>>> - size_t usrlen)
> >>>> +static int rnbd_srv_rdma_ev(void *priv, struct rtrs_srv_op *id,
> >>>> + void *data, size_t datalen,
> >>>> + const void *usr, size_t usrlen)
> >>>> {
> >>>> struct rnbd_srv_session *srv_sess = priv;
> >>>> const struct rnbd_msg_hdr *hdr = usr;
> >>>> @@ -398,7 +397,7 @@ static int rnbd_srv_rdma_ev(void *priv,
> >>>> break;
> >>>> default:
> >>>> pr_warn("Received unexpected message type %d with dir %d from session %s\n",
> >>>> - type, dir, srv_sess->sessname);
> >>>> + type, id->dir, srv_sess->sessname);
> >>>> return -EINVAL;
> >>>> }
> >>>>
> >>>> diff --git a/drivers/block/rnbd/rnbd-srv.h b/drivers/block/rnbd/rnbd-srv.h
> >>>> index 081bceaf4ae9..5a0ef6c2b5c7 100644
> >>>> --- a/drivers/block/rnbd/rnbd-srv.h
> >>>> +++ b/drivers/block/rnbd/rnbd-srv.h
> >>>> @@ -14,6 +14,7 @@
> >>>> #include <linux/kref.h>
> >>>>
> >>>> #include <rtrs.h>
> >>>> +#include <rtrs-srv.h>
> >>> why do we need this?
> >> Otherwise, compiler complains
> >>
> >> drivers/block/rnbd/rnbd-srv.c: In function ‘rnbd_srv_rdma_ev’:
> >> drivers/block/rnbd/rnbd-srv.c:400:33: error: invalid use of undefined
> >> type ‘struct rtrs_srv_op’
> >> 400 | type, id->dir, srv_sess->sessname);
> >>
> >> Thanks,
> >> Guoqing
> > ah, okay, this reminds me, why we have dir there, we don't want to
> > export too much detail regarding the rtrs_srv_op to
> > rnbd-server, it is supposed to be transparent to rnbd-srv.
>
> What is the issue with more details are exported from rtrs-srv? Both of
> the modules
> are run in the same machine.
with including rtrs-srv.h, the code size is bigger, not to mention
many unnecessary
info are exported to rnbd-srv module, ideally we want to have
rnbd/rtrs layered properly
with clear separation.
>
> And I guess we can just pass parameters with register after remove an
> argument,
> otherwise need to push/pop stack with more than six parameters for x64.
I doubt it makes any notable performance change.
>
> Thanks,
> Guoqing
Thx!
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev
2022-08-26 11:58 ` Jinpu Wang
@ 2022-08-26 14:01 ` Guoqing Jiang
2022-08-29 11:12 ` Jinpu Wang
0 siblings, 1 reply; 16+ messages in thread
From: Guoqing Jiang @ 2022-08-26 14:01 UTC (permalink / raw)
To: Jinpu Wang; +Cc: haris.iqbal, axboe, jgg, leon, linux-block, linux-rdma
On 8/26/22 7:58 PM, Jinpu Wang wrote:
>> And I guess we can just pass parameters with register after remove an
>> argument,
>> otherwise need to push/pop stack with more than six parameters for x64.
> I doubt it makes any notable performance change.
I think it is called in the IO path (process_read and process_write) ...
BTW, do you agree if the 'usr' can be dropped from rdma_ev given it is
always
same as 'data + data_len'?
Thanks,
Guoqing
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev
2022-08-26 14:01 ` Guoqing Jiang
@ 2022-08-29 11:12 ` Jinpu Wang
0 siblings, 0 replies; 16+ messages in thread
From: Jinpu Wang @ 2022-08-29 11:12 UTC (permalink / raw)
To: Guoqing Jiang; +Cc: haris.iqbal, axboe, jgg, leon, linux-block, linux-rdma
On Fri, Aug 26, 2022 at 4:02 PM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
>
>
>
> On 8/26/22 7:58 PM, Jinpu Wang wrote:
> >> And I guess we can just pass parameters with register after remove an
> >> argument,
> >> otherwise need to push/pop stack with more than six parameters for x64.
> > I doubt it makes any notable performance change.
>
> I think it is called in the IO path (process_read and process_write) ...
>
> BTW, do you agree if the 'usr' can be dropped from rdma_ev given it is
> always
> same as 'data + data_len'?
in the current form, yes, usr can be dropped. we can add later if
there is a need.
>
> Thanks,
> Guoqing
Thx!
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev
2022-08-26 11:29 ` Jinpu Wang
2022-08-26 11:38 ` Guoqing Jiang
@ 2022-08-28 11:27 ` Leon Romanovsky
1 sibling, 0 replies; 16+ messages in thread
From: Leon Romanovsky @ 2022-08-28 11:27 UTC (permalink / raw)
To: Jinpu Wang
Cc: Guoqing Jiang, haris.iqbal, axboe, jgg, linux-block, linux-rdma
On Fri, Aug 26, 2022 at 01:29:28PM +0200, Jinpu Wang wrote:
> On Fri, Aug 26, 2022 at 1:26 PM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
> >
> >
> >
> > On 8/26/22 6:48 PM, Jinpu Wang wrote:
> > > On Fri, Aug 26, 2022 at 10:11 AM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
> > >> Since all callers (process_{read,write}) set id->dir, no need to
> > >> pass 'dir' again.
> > >>
> > >> Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
> > >> ---
> > >> drivers/block/rnbd/rnbd-srv.c | 9 ++++-----
> > >> drivers/block/rnbd/rnbd-srv.h | 1 +
> > >> drivers/infiniband/ulp/rtrs/rtrs-srv.c | 4 ++--
> > >> drivers/infiniband/ulp/rtrs/rtrs.h | 3 +--
> > >> 4 files changed, 8 insertions(+), 9 deletions(-)
<...>
> > >> #include <rtrs.h>
> > >> +#include <rtrs-srv.h>
> > > why do we need this?
> >
> > Otherwise, compiler complains
> >
> > drivers/block/rnbd/rnbd-srv.c: In function ‘rnbd_srv_rdma_ev’:
> > drivers/block/rnbd/rnbd-srv.c:400:33: error: invalid use of undefined
> > type ‘struct rtrs_srv_op’
> > 400 | type, id->dir, srv_sess->sessname);
> >
> > Thanks,
> > Guoqing
> ah, okay, this reminds me, why we have dir there, we don't want to
> export too much detail regarding the rtrs_srv_op to
> rnbd-server, it is supposed to be transparent to rnbd-srv.
So decouple it from rtrs-srv.h and hide everything that not-needed to be
exported to separate header file.
Thanks
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev
2022-08-26 8:11 [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev Guoqing Jiang
2022-08-26 10:48 ` Jinpu Wang
@ 2022-08-29 7:44 ` Leon Romanovsky
2022-08-29 13:33 ` Guoqing Jiang
1 sibling, 1 reply; 16+ messages in thread
From: Leon Romanovsky @ 2022-08-29 7:44 UTC (permalink / raw)
To: Guoqing Jiang
Cc: haris.iqbal, jinpu.wang, axboe, jgg, linux-block, linux-rdma
On Fri, Aug 26, 2022 at 04:11:17PM +0800, Guoqing Jiang wrote:
> Since all callers (process_{read,write}) set id->dir, no need to
> pass 'dir' again.
>
> Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
> ---
> drivers/block/rnbd/rnbd-srv.c | 9 ++++-----
> drivers/block/rnbd/rnbd-srv.h | 1 +
> drivers/infiniband/ulp/rtrs/rtrs-srv.c | 4 ++--
> drivers/infiniband/ulp/rtrs/rtrs.h | 3 +--
> 4 files changed, 8 insertions(+), 9 deletions(-)
I applied the patch and cleanup of rtrs-srv.h can be done later.
Thanks
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev
2022-08-29 7:44 ` Leon Romanovsky
@ 2022-08-29 13:33 ` Guoqing Jiang
2022-08-29 13:43 ` Jinpu Wang
0 siblings, 1 reply; 16+ messages in thread
From: Guoqing Jiang @ 2022-08-29 13:33 UTC (permalink / raw)
To: Leon Romanovsky
Cc: haris.iqbal, jinpu.wang, axboe, jgg, linux-block, linux-rdma
On 8/29/22 3:44 PM, Leon Romanovsky wrote:
> On Fri, Aug 26, 2022 at 04:11:17PM +0800, Guoqing Jiang wrote:
>> Since all callers (process_{read,write}) set id->dir, no need to
>> pass 'dir' again.
>>
>> Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
>> ---
>> drivers/block/rnbd/rnbd-srv.c | 9 ++++-----
>> drivers/block/rnbd/rnbd-srv.h | 1 +
>> drivers/infiniband/ulp/rtrs/rtrs-srv.c | 4 ++--
>> drivers/infiniband/ulp/rtrs/rtrs.h | 3 +--
>> 4 files changed, 8 insertions(+), 9 deletions(-)
> I applied the patch and cleanup of rtrs-srv.h can be done later.
Thanks! I suppose below
> So decouple it from rtrs-srv.h and hide everything that not-needed to be
> exported to separate header file.
means move 'struct rtrs_srv_op' to rtrs.h, which seems not appropriate to me
because both client and server include the header. Pls correct me if I
am wrong.
Since process_{read,write} prints direction info if ctx->ops.rdma_ev
fails, how
about remove the 'dir' info from rnbd_srv_rdma_ev? Then we don't need to
include rtrs-srv.h.
diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
index 431c6da19d3f..d07ff3ba560c 100644
--- a/drivers/block/rnbd/rnbd-srv.c
+++ b/drivers/block/rnbd/rnbd-srv.c
@@ -387,8 +387,8 @@ static int rnbd_srv_rdma_ev(void *priv, struct
rtrs_srv_op *id,
datalen);
break;
default:
- pr_warn("Received unexpected message type %d with dir %d
from session %s\n",
- type, id->dir, srv_sess->sessname);
+ pr_warn("Received unexpected message type %d from
session %s\n",
+ type, srv_sess->sessname);
return -EINVAL;
}
diff --git a/drivers/block/rnbd/rnbd-srv.h b/drivers/block/rnbd/rnbd-srv.h
index 5a0ef6c2b5c7..081bceaf4ae9 100644
--- a/drivers/block/rnbd/rnbd-srv.h
+++ b/drivers/block/rnbd/rnbd-srv.h
@@ -14,7 +14,6 @@
#include <linux/kref.h>
#include <rtrs.h>
-#include <rtrs-srv.h>
#include "rnbd-proto.h"
#include "rnbd-log.h"
Thoughts?
Thanks,
Guoqing
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev
2022-08-29 13:33 ` Guoqing Jiang
@ 2022-08-29 13:43 ` Jinpu Wang
2022-08-30 8:44 ` Leon Romanovsky
0 siblings, 1 reply; 16+ messages in thread
From: Jinpu Wang @ 2022-08-29 13:43 UTC (permalink / raw)
To: Guoqing Jiang
Cc: Leon Romanovsky, haris.iqbal, axboe, jgg, linux-block, linux-rdma
On Mon, Aug 29, 2022 at 3:33 PM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
>
>
>
> On 8/29/22 3:44 PM, Leon Romanovsky wrote:
> > On Fri, Aug 26, 2022 at 04:11:17PM +0800, Guoqing Jiang wrote:
> >> Since all callers (process_{read,write}) set id->dir, no need to
> >> pass 'dir' again.
> >>
> >> Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
> >> ---
> >> drivers/block/rnbd/rnbd-srv.c | 9 ++++-----
> >> drivers/block/rnbd/rnbd-srv.h | 1 +
> >> drivers/infiniband/ulp/rtrs/rtrs-srv.c | 4 ++--
> >> drivers/infiniband/ulp/rtrs/rtrs.h | 3 +--
> >> 4 files changed, 8 insertions(+), 9 deletions(-)
>
> > I applied the patch and cleanup of rtrs-srv.h can be done later.
>
> Thanks! I suppose below
>
> > So decouple it from rtrs-srv.h and hide everything that not-needed to be
> > exported to separate header file.
>
> means move 'struct rtrs_srv_op' to rtrs.h, which seems not appropriate to me
> because both client and server include the header. Pls correct me if I
> am wrong.
>
> Since process_{read,write} prints direction info if ctx->ops.rdma_ev
> fails, how
> about remove the 'dir' info from rnbd_srv_rdma_ev? Then we don't need to
> include rtrs-srv.h.
>
> diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
> index 431c6da19d3f..d07ff3ba560c 100644
> --- a/drivers/block/rnbd/rnbd-srv.c
> +++ b/drivers/block/rnbd/rnbd-srv.c
> @@ -387,8 +387,8 @@ static int rnbd_srv_rdma_ev(void *priv, struct
> rtrs_srv_op *id,
> datalen);
> break;
> default:
> - pr_warn("Received unexpected message type %d with dir %d
> from session %s\n",
> - type, id->dir, srv_sess->sessname);
> + pr_warn("Received unexpected message type %d from
> session %s\n",
> + type, srv_sess->sessname);
> return -EINVAL;
> }
>
> diff --git a/drivers/block/rnbd/rnbd-srv.h b/drivers/block/rnbd/rnbd-srv.h
> index 5a0ef6c2b5c7..081bceaf4ae9 100644
> --- a/drivers/block/rnbd/rnbd-srv.h
> +++ b/drivers/block/rnbd/rnbd-srv.h
> @@ -14,7 +14,6 @@
> #include <linux/kref.h>
>
> #include <rtrs.h>
> -#include <rtrs-srv.h>
> #include "rnbd-proto.h"
> #include "rnbd-log.h"
>
>
> Thoughts?
I like the idea. Please post a formal patch based on leon's
https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git/log/?h=wip/leon-for-next
Thx!
>
> Thanks,
> Guoqing
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev
2022-08-29 13:43 ` Jinpu Wang
@ 2022-08-30 8:44 ` Leon Romanovsky
2022-08-30 8:57 ` Guoqing Jiang
2022-08-30 9:00 ` Jinpu Wang
0 siblings, 2 replies; 16+ messages in thread
From: Leon Romanovsky @ 2022-08-30 8:44 UTC (permalink / raw)
To: Jinpu Wang
Cc: Guoqing Jiang, haris.iqbal, axboe, jgg, linux-block, linux-rdma
On Mon, Aug 29, 2022 at 03:43:43PM +0200, Jinpu Wang wrote:
> On Mon, Aug 29, 2022 at 3:33 PM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
> >
> >
> >
> > On 8/29/22 3:44 PM, Leon Romanovsky wrote:
> > > On Fri, Aug 26, 2022 at 04:11:17PM +0800, Guoqing Jiang wrote:
> > >> Since all callers (process_{read,write}) set id->dir, no need to
> > >> pass 'dir' again.
> > >>
> > >> Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
> > >> ---
> > >> drivers/block/rnbd/rnbd-srv.c | 9 ++++-----
> > >> drivers/block/rnbd/rnbd-srv.h | 1 +
> > >> drivers/infiniband/ulp/rtrs/rtrs-srv.c | 4 ++--
> > >> drivers/infiniband/ulp/rtrs/rtrs.h | 3 +--
> > >> 4 files changed, 8 insertions(+), 9 deletions(-)
> >
> > > I applied the patch and cleanup of rtrs-srv.h can be done later.
> >
> > Thanks! I suppose below
> >
> > > So decouple it from rtrs-srv.h and hide everything that not-needed to be
> > > exported to separate header file.
> >
> > means move 'struct rtrs_srv_op' to rtrs.h, which seems not appropriate to me
> > because both client and server include the header. Pls correct me if I
> > am wrong.
> >
> > Since process_{read,write} prints direction info if ctx->ops.rdma_ev
> > fails, how
> > about remove the 'dir' info from rnbd_srv_rdma_ev? Then we don't need to
> > include rtrs-srv.h.
> >
> > diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
> > index 431c6da19d3f..d07ff3ba560c 100644
> > --- a/drivers/block/rnbd/rnbd-srv.c
> > +++ b/drivers/block/rnbd/rnbd-srv.c
> > @@ -387,8 +387,8 @@ static int rnbd_srv_rdma_ev(void *priv, struct
> > rtrs_srv_op *id,
> > datalen);
> > break;
> > default:
> > - pr_warn("Received unexpected message type %d with dir %d
> > from session %s\n",
> > - type, id->dir, srv_sess->sessname);
> > + pr_warn("Received unexpected message type %d from
> > session %s\n",
> > + type, srv_sess->sessname);
> > return -EINVAL;
> > }
> >
> > diff --git a/drivers/block/rnbd/rnbd-srv.h b/drivers/block/rnbd/rnbd-srv.h
> > index 5a0ef6c2b5c7..081bceaf4ae9 100644
> > --- a/drivers/block/rnbd/rnbd-srv.h
> > +++ b/drivers/block/rnbd/rnbd-srv.h
> > @@ -14,7 +14,6 @@
> > #include <linux/kref.h>
> >
> > #include <rtrs.h>
> > -#include <rtrs-srv.h>
> > #include "rnbd-proto.h"
> > #include "rnbd-log.h"
> >
> >
> > Thoughts?
> I like the idea. Please post a formal patch based on leon's
> https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git/log/?h=wip/leon-for-next
I squashed this hunk into original patch.
Thanks
>
> Thx!
> >
> > Thanks,
> > Guoqing
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev
2022-08-30 8:44 ` Leon Romanovsky
@ 2022-08-30 8:57 ` Guoqing Jiang
2022-08-30 9:15 ` Leon Romanovsky
2022-08-30 9:00 ` Jinpu Wang
1 sibling, 1 reply; 16+ messages in thread
From: Guoqing Jiang @ 2022-08-30 8:57 UTC (permalink / raw)
To: Leon Romanovsky, Jinpu Wang
Cc: haris.iqbal, axboe, jgg, linux-block, linux-rdma
On 8/30/22 4:44 PM, Leon Romanovsky wrote:
> On Mon, Aug 29, 2022 at 03:43:43PM +0200, Jinpu Wang wrote:
>> On Mon, Aug 29, 2022 at 3:33 PM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
>>>
>>>
>>> On 8/29/22 3:44 PM, Leon Romanovsky wrote:
>>>> On Fri, Aug 26, 2022 at 04:11:17PM +0800, Guoqing Jiang wrote:
>>>>> Since all callers (process_{read,write}) set id->dir, no need to
>>>>> pass 'dir' again.
>>>>>
>>>>> Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
>>>>> ---
>>>>> drivers/block/rnbd/rnbd-srv.c | 9 ++++-----
>>>>> drivers/block/rnbd/rnbd-srv.h | 1 +
>>>>> drivers/infiniband/ulp/rtrs/rtrs-srv.c | 4 ++--
>>>>> drivers/infiniband/ulp/rtrs/rtrs.h | 3 +--
>>>>> 4 files changed, 8 insertions(+), 9 deletions(-)
>>>> I applied the patch and cleanup of rtrs-srv.h can be done later.
>>> Thanks! I suppose below
>>>
>>>> So decouple it from rtrs-srv.h and hide everything that not-needed to be
>>>> exported to separate header file.
>>> means move 'struct rtrs_srv_op' to rtrs.h, which seems not appropriate to me
>>> because both client and server include the header. Pls correct me if I
>>> am wrong.
>>>
>>> Since process_{read,write} prints direction info if ctx->ops.rdma_ev
>>> fails, how
>>> about remove the 'dir' info from rnbd_srv_rdma_ev? Then we don't need to
>>> include rtrs-srv.h.
>>>
>>> diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
>>> index 431c6da19d3f..d07ff3ba560c 100644
>>> --- a/drivers/block/rnbd/rnbd-srv.c
>>> +++ b/drivers/block/rnbd/rnbd-srv.c
>>> @@ -387,8 +387,8 @@ static int rnbd_srv_rdma_ev(void *priv, struct
>>> rtrs_srv_op *id,
>>> datalen);
>>> break;
>>> default:
>>> - pr_warn("Received unexpected message type %d with dir %d
>>> from session %s\n",
>>> - type, id->dir, srv_sess->sessname);
>>> + pr_warn("Received unexpected message type %d from
>>> session %s\n",
>>> + type, srv_sess->sessname);
>>> return -EINVAL;
>>> }
>>>
>>> diff --git a/drivers/block/rnbd/rnbd-srv.h b/drivers/block/rnbd/rnbd-srv.h
>>> index 5a0ef6c2b5c7..081bceaf4ae9 100644
>>> --- a/drivers/block/rnbd/rnbd-srv.h
>>> +++ b/drivers/block/rnbd/rnbd-srv.h
>>> @@ -14,7 +14,6 @@
>>> #include <linux/kref.h>
>>>
>>> #include <rtrs.h>
>>> -#include <rtrs-srv.h>
>>> #include "rnbd-proto.h"
>>> #include "rnbd-log.h"
>>>
>>>
>>> Thoughts?
>> I like the idea. Please post a formal patch based on leon's
>> https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git/log/?h=wip/leon-for-next
> I squashed this hunk into original patch.
Great, thank you!
If possible, to better reflect the change, please at your convenience to
replace the original commit
message with below.
"Since process_{read,write} already prints direction info if
ctx->ops.rdma_ev fails, no need to pass 'dir'"
Thanks,
Guoqing
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev
2022-08-30 8:57 ` Guoqing Jiang
@ 2022-08-30 9:15 ` Leon Romanovsky
0 siblings, 0 replies; 16+ messages in thread
From: Leon Romanovsky @ 2022-08-30 9:15 UTC (permalink / raw)
To: Guoqing Jiang
Cc: Jinpu Wang, haris.iqbal, axboe, jgg, linux-block, linux-rdma
On Tue, Aug 30, 2022 at 04:57:19PM +0800, Guoqing Jiang wrote:
>
>
> On 8/30/22 4:44 PM, Leon Romanovsky wrote:
> > On Mon, Aug 29, 2022 at 03:43:43PM +0200, Jinpu Wang wrote:
> > > On Mon, Aug 29, 2022 at 3:33 PM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
> > > >
> > > >
> > > > On 8/29/22 3:44 PM, Leon Romanovsky wrote:
> > > > > On Fri, Aug 26, 2022 at 04:11:17PM +0800, Guoqing Jiang wrote:
> > > > > > Since all callers (process_{read,write}) set id->dir, no need to
> > > > > > pass 'dir' again.
> > > > > >
> > > > > > Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
> > > > > > ---
> > > > > > drivers/block/rnbd/rnbd-srv.c | 9 ++++-----
> > > > > > drivers/block/rnbd/rnbd-srv.h | 1 +
> > > > > > drivers/infiniband/ulp/rtrs/rtrs-srv.c | 4 ++--
> > > > > > drivers/infiniband/ulp/rtrs/rtrs.h | 3 +--
> > > > > > 4 files changed, 8 insertions(+), 9 deletions(-)
> > > > > I applied the patch and cleanup of rtrs-srv.h can be done later.
> > > > Thanks! I suppose below
> > > >
> > > > > So decouple it from rtrs-srv.h and hide everything that not-needed to be
> > > > > exported to separate header file.
> > > > means move 'struct rtrs_srv_op' to rtrs.h, which seems not appropriate to me
> > > > because both client and server include the header. Pls correct me if I
> > > > am wrong.
> > > >
> > > > Since process_{read,write} prints direction info if ctx->ops.rdma_ev
> > > > fails, how
> > > > about remove the 'dir' info from rnbd_srv_rdma_ev? Then we don't need to
> > > > include rtrs-srv.h.
> > > >
> > > > diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
> > > > index 431c6da19d3f..d07ff3ba560c 100644
> > > > --- a/drivers/block/rnbd/rnbd-srv.c
> > > > +++ b/drivers/block/rnbd/rnbd-srv.c
> > > > @@ -387,8 +387,8 @@ static int rnbd_srv_rdma_ev(void *priv, struct
> > > > rtrs_srv_op *id,
> > > > datalen);
> > > > break;
> > > > default:
> > > > - pr_warn("Received unexpected message type %d with dir %d
> > > > from session %s\n",
> > > > - type, id->dir, srv_sess->sessname);
> > > > + pr_warn("Received unexpected message type %d from
> > > > session %s\n",
> > > > + type, srv_sess->sessname);
> > > > return -EINVAL;
> > > > }
> > > >
> > > > diff --git a/drivers/block/rnbd/rnbd-srv.h b/drivers/block/rnbd/rnbd-srv.h
> > > > index 5a0ef6c2b5c7..081bceaf4ae9 100644
> > > > --- a/drivers/block/rnbd/rnbd-srv.h
> > > > +++ b/drivers/block/rnbd/rnbd-srv.h
> > > > @@ -14,7 +14,6 @@
> > > > #include <linux/kref.h>
> > > >
> > > > #include <rtrs.h>
> > > > -#include <rtrs-srv.h>
> > > > #include "rnbd-proto.h"
> > > > #include "rnbd-log.h"
> > > >
> > > >
> > > > Thoughts?
> > > I like the idea. Please post a formal patch based on leon's
> > > https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git/log/?h=wip/leon-for-next
> > I squashed this hunk into original patch.
>
> Great, thank you!
>
> If possible, to better reflect the change, please at your convenience to
> replace the original commit
> message with below.
>
> "Since process_{read,write} already prints direction info if
> ctx->ops.rdma_ev fails, no need to pass 'dir'"
Done, as long as patches are in wip/* branches, we can rebase them.
Thanks
>
> Thanks,
> Guoqing
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev
2022-08-30 8:44 ` Leon Romanovsky
2022-08-30 8:57 ` Guoqing Jiang
@ 2022-08-30 9:00 ` Jinpu Wang
1 sibling, 0 replies; 16+ messages in thread
From: Jinpu Wang @ 2022-08-30 9:00 UTC (permalink / raw)
To: Leon Romanovsky
Cc: Guoqing Jiang, haris.iqbal, axboe, jgg, linux-block, linux-rdma
On Tue, Aug 30, 2022 at 10:44 AM Leon Romanovsky <leon@kernel.org> wrote:
>
> On Mon, Aug 29, 2022 at 03:43:43PM +0200, Jinpu Wang wrote:
> > On Mon, Aug 29, 2022 at 3:33 PM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
> > >
> > >
> > >
> > > On 8/29/22 3:44 PM, Leon Romanovsky wrote:
> > > > On Fri, Aug 26, 2022 at 04:11:17PM +0800, Guoqing Jiang wrote:
> > > >> Since all callers (process_{read,write}) set id->dir, no need to
> > > >> pass 'dir' again.
> > > >>
> > > >> Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
> > > >> ---
> > > >> drivers/block/rnbd/rnbd-srv.c | 9 ++++-----
> > > >> drivers/block/rnbd/rnbd-srv.h | 1 +
> > > >> drivers/infiniband/ulp/rtrs/rtrs-srv.c | 4 ++--
> > > >> drivers/infiniband/ulp/rtrs/rtrs.h | 3 +--
> > > >> 4 files changed, 8 insertions(+), 9 deletions(-)
> > >
> > > > I applied the patch and cleanup of rtrs-srv.h can be done later.
> > >
> > > Thanks! I suppose below
> > >
> > > > So decouple it from rtrs-srv.h and hide everything that not-needed to be
> > > > exported to separate header file.
> > >
> > > means move 'struct rtrs_srv_op' to rtrs.h, which seems not appropriate to me
> > > because both client and server include the header. Pls correct me if I
> > > am wrong.
> > >
> > > Since process_{read,write} prints direction info if ctx->ops.rdma_ev
> > > fails, how
> > > about remove the 'dir' info from rnbd_srv_rdma_ev? Then we don't need to
> > > include rtrs-srv.h.
> > >
> > > diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
> > > index 431c6da19d3f..d07ff3ba560c 100644
> > > --- a/drivers/block/rnbd/rnbd-srv.c
> > > +++ b/drivers/block/rnbd/rnbd-srv.c
> > > @@ -387,8 +387,8 @@ static int rnbd_srv_rdma_ev(void *priv, struct
> > > rtrs_srv_op *id,
> > > datalen);
> > > break;
> > > default:
> > > - pr_warn("Received unexpected message type %d with dir %d
> > > from session %s\n",
> > > - type, id->dir, srv_sess->sessname);
> > > + pr_warn("Received unexpected message type %d from
> > > session %s\n",
> > > + type, srv_sess->sessname);
> > > return -EINVAL;
> > > }
> > >
> > > diff --git a/drivers/block/rnbd/rnbd-srv.h b/drivers/block/rnbd/rnbd-srv.h
> > > index 5a0ef6c2b5c7..081bceaf4ae9 100644
> > > --- a/drivers/block/rnbd/rnbd-srv.h
> > > +++ b/drivers/block/rnbd/rnbd-srv.h
> > > @@ -14,7 +14,6 @@
> > > #include <linux/kref.h>
> > >
> > > #include <rtrs.h>
> > > -#include <rtrs-srv.h>
> > > #include "rnbd-proto.h"
> > > #include "rnbd-log.h"
> > >
> > >
> > > Thoughts?
> > I like the idea. Please post a formal patch based on leon's
> > https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git/log/?h=wip/leon-for-next
>
> I squashed this hunk into original patch.
>
Hi Leon,
Thank you!
> Thanks
>
> >
> > Thx!
> > >
> > > Thanks,
> > > Guoqing
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2022-08-30 9:15 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-26 8:11 [PATCH] rnbd-srv: remove 'dir' argument from rnbd_srv_rdma_ev Guoqing Jiang
2022-08-26 10:48 ` Jinpu Wang
2022-08-26 11:26 ` Guoqing Jiang
2022-08-26 11:29 ` Jinpu Wang
2022-08-26 11:38 ` Guoqing Jiang
2022-08-26 11:58 ` Jinpu Wang
2022-08-26 14:01 ` Guoqing Jiang
2022-08-29 11:12 ` Jinpu Wang
2022-08-28 11:27 ` Leon Romanovsky
2022-08-29 7:44 ` Leon Romanovsky
2022-08-29 13:33 ` Guoqing Jiang
2022-08-29 13:43 ` Jinpu Wang
2022-08-30 8:44 ` Leon Romanovsky
2022-08-30 8:57 ` Guoqing Jiang
2022-08-30 9:15 ` Leon Romanovsky
2022-08-30 9:00 ` Jinpu Wang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).