From: hch@lst.de (Christoph Hellwig)
Subject: [PATCH RFC 1/2] nvme-rdma: Support 8K inline
Date: Fri, 11 May 2018 08:48:28 +0200 [thread overview]
Message-ID: <20180511064828.GC8368@lst.de> (raw)
In-Reply-To: <1609e345042f2801f92e8831e8c83b688fad07eb.1525880285.git.swise@opengridcomputing.com>
> -#define NVME_RDMA_MAX_INLINE_SEGMENTS 1
> +#define NVME_RDMA_MAX_INLINE_SEGMENTS 2
Given how little space we use for just the sge array maybe we
want to bump this to 4 once we need to deal with multiple entries?
> static int nvme_rdma_map_sg_inline(struct nvme_rdma_queue *queue,
> - struct nvme_rdma_request *req, struct nvme_command *c)
> + struct nvme_rdma_request *req, int count,
> + struct nvme_command *c)
Just gut feeling, but I'd pass the count argument last.
> struct nvme_sgl_desc *sg = &c->common.dptr.sgl;
> + u32 len;
>
> req->sge[1].addr = sg_dma_address(req->sg_table.sgl);
> req->sge[1].length = sg_dma_len(req->sg_table.sgl);
> req->sge[1].lkey = queue->device->pd->local_dma_lkey;
> + len = req->sge[1].length;
> + if (count == 2) {
> + req->sge[2].addr = sg_dma_address(req->sg_table.sgl+1);
> + req->sge[2].length = sg_dma_len(req->sg_table.sgl+1);
> + req->sge[2].lkey = queue->device->pd->local_dma_lkey;
> + len += req->sge[2].length;
> + }
I think this should be turned into a for loop, e.g.
u32 len, i;
for (i = 0; i < count; i++) {
req->sge[1 + i].addr = sg_dma_address(&req->sg_table.sgl[i]);
req->sge[1 + i].length = sg_dma_len(&req->sg_table.sgl[i]);
req->sge[1 + i].lkey = queue->device->pd->local_dma_lkey;
req->num_sge++;
len += req->sge[i + 1].length;
}
> - if (count == 1) {
> + if (count <= 2) {
This should be NVME_RDMA_MAX_INLINE_SEGMENTS.
next prev parent reply other threads:[~2018-05-11 6:48 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-09 15:38 [PATCH RFC 0/2] 8K Inline Support Steve Wise
2018-05-09 14:31 ` [PATCH RFC 1/2] nvme-rdma: Support 8K inline Steve Wise
2018-05-09 16:55 ` Parav Pandit
2018-05-09 19:28 ` Steve Wise
2018-05-11 6:48 ` Christoph Hellwig [this message]
2018-05-14 18:33 ` Steve Wise
2018-05-09 14:34 ` [PATCH RFC 2/2] nvmet-rdma: " Steve Wise
2018-05-14 10:16 ` Max Gurtovoy
2018-05-14 14:58 ` Steve Wise
2018-05-09 18:46 ` [PATCH RFC 0/2] 8K Inline Support Steve Wise
2018-05-11 6:19 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180511064828.GC8368@lst.de \
--to=hch@lst.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.