Thread (82 messages) flat view 82 messages, 3 authors, 2021-05-08

Re: [RFC PATCH v4 25/27] qedn: Add IO level fastpath functionality

From: Hannes Reinecke <hare@suse.de>
Date: 2021-05-02 11:55:23
Also in: linux-nvme

On 4/29/21 9:09 PM, Shai Malin wrote:
This patch will present the IO level functionality of qedn
nvme-tcp-offload host mode. The qedn_task_ctx structure is containing
various params and state of the current IO, and is mapped 1x1 to the
fw_task_ctx which is a HW and FW IO context.
A qedn_task is mapped directly to its parent connection.
For every new IO a qedn_task structure will be assigned and they will be
linked for the entire IO's life span.

The patch will include 2 flows:
   1. Send new command to the FW:
	 The flow is: nvme_tcp_ofld_queue_rq() which invokes qedn_send_req()
	 which invokes qedn_queue_request() which will:
      - Assign fw_task_ctx.
	 - Prepare the Read/Write SG buffer.
	 -  Initialize the HW and FW context.
	 - Pass the IO to the FW.

   2. Process the IO completion:
      The flow is: qedn_irq_handler() which invokes qedn_fw_cq_fp_handler()
	 which invokes qedn_io_work_cq() which will:
	 - process the FW completion.
	 - Return the fw_task_ctx to the task pool.
	 - complete the nvme req.

Acked-by: Igor Russkikh <redacted>
Signed-off-by: Prabhakar Kushwaha <redacted>
Signed-off-by: Omkar Kulkarni <redacted>
Signed-off-by: Michal Kalderon <mkalderon@marvell.com>
Signed-off-by: Ariel Elior <redacted>
Signed-off-by: Shai Malin <redacted>
---
  drivers/nvme/hw/qedn/qedn.h      |   4 +
  drivers/nvme/hw/qedn/qedn_conn.c |   1 +
  drivers/nvme/hw/qedn/qedn_task.c | 269 ++++++++++++++++++++++++++++++-
  3 files changed, 272 insertions(+), 2 deletions(-)
Reviewed-by: Hannes Reinecke <hare@suse.de>

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                Kernel Storage Architect
hare@suse.de                              +49 911 74053 688
SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), Geschäftsführer: Felix Imendörffer
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help