Re: [PATCH] svcrdma: Do not send XDR roundup bytes for a write chunk

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On Nov 12, 2015, at 9:19 AM, J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote:
> 
> On Wed, Nov 11, 2015 at 03:20:33PM -0500, Chuck Lever wrote:
>> 
>>> On Nov 3, 2015, at 3:10 PM, Chuck Lever <chuck.lever@xxxxxxxxxx> wrote:
>>> 
>>> 
>>>> On Oct 16, 2015, at 9:30 AM, Chuck Lever <chuck.lever@xxxxxxxxxx> wrote:
>>>> 
>>>> Minor optimization: when dealing with write chunk XDR roundup, do
>>>> not post a Write WR for the zero bytes in the pad. Simply update
>>>> the write segment in the RPC-over-RDMA header to reflect the extra
>>>> pad bytes.
>>>> 
>>>> The Reply chunk is also a write chunk, but the server does not use
>>>> send_write_chunks() to send the Reply chunk. That's OK in this case:
>>>> the server Upper Layer typically marshals the Reply chunk contents
>>>> in a single contiguous buffer, without a separate tail for the XDR
>>>> pad.
>>>> 
>>>> The comments and the variable naming refer to "chunks" but what is
>>>> really meant is "segments." The existing code sends only one
>>>> xdr_write_chunk per RPC reply.
>>>> 
>>>> The fix assumes this as well. When the XDR pad in the first write
>>>> chunk is reached, the assumption is the Write list is complete and
>>>> send_write_chunks() returns.
>>>> 
>>>> That will remain a valid assumption until the server Upper Layer can
>>>> support multiple bulk payload results per RPC.
>>>> 
>>>> Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
>>>> --
>>> 
>>> Bruce, can you take this for 4.4 ?
>> 
>> Hi Bruce-
>> 
>> Your 4.4 pull request did not include this patch.
> 
> Whoops, sorry.
> 
> For some reason I don't have the original email, though I do see your
> first followup.  Would you mind resending?
> 
> Also, it looks like that wasn't actually sent to me?  I really want
> submitted patches to have my address on the To: line.  Obviously I also
> try to pick up stuff sent only to the mailing list, but I'm a little
> more likely to miss those.

Yep, my bad, I meant to address that To: you. Will repost.


> But my fault either way, apologies.
> 
> --b.
> 
>> 
>> 
>>>> net/sunrpc/xprtrdma/svc_rdma_sendto.c |    7 +++++++
>>>> 1 files changed, 7 insertions(+), 0 deletions(-)
>>>> 
>>>> diff --git a/net/sunrpc/xprtrdma/svc_rdma_sendto.c b/net/sunrpc/xprtrdma/svc_rdma_sendto.c
>>>> index 1dfae83..6c48901 100644
>>>> --- a/net/sunrpc/xprtrdma/svc_rdma_sendto.c
>>>> +++ b/net/sunrpc/xprtrdma/svc_rdma_sendto.c
>>>> @@ -342,6 +342,13 @@ static int send_write_chunks(struct svcxprt_rdma *xprt,
>>>> 						arg_ch->rs_handle,
>>>> 						arg_ch->rs_offset,
>>>> 						write_len);
>>>> +
>>>> +		/* Do not send XDR pad bytes */
>>>> +		if (chunk_no && write_len < 4) {
>>>> +			chunk_no++;
>>>> +			break;
>>>> +		}
>>>> +
>>>> 		chunk_off = 0;
>>>> 		while (write_len) {
>>>> 			ret = send_write(xprt, rqstp,
>>>> 
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
>>>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>> 
>>> —
>>> Chuck Lever
>>> 
>>> 
>>> 
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
>>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> 
>> —
>> Chuck Lever
>> 
>> 

—
Chuck Lever



--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux