[RFC PATCH v4 25/27] qedn: Add IO level fastpath functionality
Hannes Reinecke
hare at suse.de
Sun May 2 12:54:58 BST 2021
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 <irusskikh at marvell.com>
> Signed-off-by: Prabhakar Kushwaha <pkushwaha at marvell.com>
> Signed-off-by: Omkar Kulkarni <okulkarni at marvell.com>
> Signed-off-by: Michal Kalderon <mkalderon at marvell.com>
> Signed-off-by: Ariel Elior <aelior at marvell.com>
> Signed-off-by: Shai Malin <smalin at marvell.com>
> ---
> 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 at suse.de>
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare at 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
More information about the Linux-nvme
mailing list