Thread (27 messages) 27 messages, 4 authors, 2021-07-05

Re: [PATCH v3 08/20] nvme-tcp-offload: Add IO level implementation

From: Shai Malin <hidden>
Date: 2021-06-28 10:43:00

On Mon, 28 Jun 2021 at 10:10, Or Gerlitz [off-list ref] wrote:
On Thu, Jun 24, 2021 at 8:41 PM Shai Malin [off-list ref] wrote:
quoted
From: Dean Balandin <redacted>
In this patch, we present the IO level functionality.
[..]
quoted
+static void nvme_tcp_ofld_set_sg_null(struct nvme_command *c)
+{
+       struct nvme_sgl_desc *sg = &c->common.dptr.sgl;
+       sg->addr = 0;
ok
quoted
+       sg->length = 0;
+       sg->type = (NVME_TRANSPORT_SGL_DATA_DESC << 4) |
+                       NVME_SGL_FMT_TRANSPORT_A;
quoted
+inline void nvme_tcp_ofld_set_sg_inline(struct nvme_tcp_ofld_queue *queue,
+                                       struct nvme_command *c, u32 data_len)
+{
+       struct nvme_sgl_desc *sg = &c->common.dptr.sgl;
+       sg->addr = cpu_to_le64(queue->ctrl->nctrl.icdoff);
ok, what about dma mapping of the address?
The dma mapping is done by the offload device driver.
patch 18 - "qedn: Add IO level fastpath functionality", in qedn_init_sgl().
quoted
+       sg->length = cpu_to_le32(data_len);
+       sg->type = (NVME_SGL_FMT_DATA_DESC << 4) | NVME_SGL_FMT_OFFSET;
quoted
+static void nvme_tcp_ofld_map_data(struct nvme_command *c, u32 data_len)
+{
+       struct nvme_sgl_desc *sg = &c->common.dptr.sgl;
+
+       sg->addr = 0;
???
We will rename the function: nvme_tcp_ofld_set_sg_host_data().
The dma mapping is done by the offload device driver.
quoted
+       sg->length = cpu_to_le32(data_len);
+       sg->type = (NVME_TRANSPORT_SGL_DATA_DESC << 4) |
+                       NVME_SGL_FMT_TRANSPORT_A;
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help