[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKywueSKyttaG8h_OrFE-ZCvDy_QCRQkdKQmW7m2wtrJ+fsT6Q@mail.gmail.com>
Date: Tue, 14 May 2019 14:41:18 -0700
From: Pavel Shilovsky <piastryyy@...il.com>
To: Long Li <longli@...rosoft.com>
Cc: Steve French <sfrench@...ba.org>,
linux-cifs <linux-cifs@...r.kernel.org>,
samba-technical <samba-technical@...ts.samba.org>,
Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 2/2] cifs:smbd Use the correct DMA direction when sending data
пн, 13 мая 2019 г. в 21:02, <longli@...uxonhyperv.com>:
>
> From: Long Li <longli@...rosoft.com>
>
> When sending data, use the DMA_TO_DEVICE to map buffers. Also log the number
> of requests in a compounding request from upper layer.
>
> Signed-off-by: Long Li <longli@...rosoft.com>
> ---
> fs/cifs/smbdirect.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/fs/cifs/smbdirect.c b/fs/cifs/smbdirect.c
> index 251ef1223206..caac37b1de8c 100644
> --- a/fs/cifs/smbdirect.c
> +++ b/fs/cifs/smbdirect.c
> @@ -903,7 +903,7 @@ static int smbd_create_header(struct smbd_connection *info,
> request->sge[0].addr = ib_dma_map_single(info->id->device,
> (void *)packet,
> header_length,
> - DMA_BIDIRECTIONAL);
> + DMA_TO_DEVICE);
> if (ib_dma_mapping_error(info->id->device, request->sge[0].addr)) {
> mempool_free(request, info->request_mempool);
> rc = -EIO;
> @@ -1005,7 +1005,7 @@ static int smbd_post_send_sgl(struct smbd_connection *info,
> for_each_sg(sgl, sg, num_sgs, i) {
> request->sge[i+1].addr =
> ib_dma_map_page(info->id->device, sg_page(sg),
> - sg->offset, sg->length, DMA_BIDIRECTIONAL);
> + sg->offset, sg->length, DMA_TO_DEVICE);
> if (ib_dma_mapping_error(
> info->id->device, request->sge[i+1].addr)) {
> rc = -EIO;
> @@ -2110,8 +2110,10 @@ int smbd_send(struct TCP_Server_Info *server,
> goto done;
> }
>
> - rqst_idx = 0;
> + log_write(INFO, "num_rqst=%d total length=%u\n",
> + num_rqst, remaining_data_length);
>
> + rqst_idx = 0;
> next_rqst:
> rqst = &rqst_array[rqst_idx];
> iov = rqst->rq_iov;
> --
> 2.17.1
>
Acked-by: Pavel Shilovsky <pshilov@...rosoft.com>
--
Best regards,
Pavel Shilovsky
Powered by blists - more mailing lists