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

Re: [RFC PATCH v4 08/27] nvme-tcp-offload: Add nvme-tcp-offload - NVMeTCP HW offload ULP

From: Shai Malin <hidden>
Date: 2021-05-03 15:46:52
Also in: linux-nvme

On 5/1/21 3:18 PM, Hannes Reinecke wrote:
On 4/29/21 9:09 PM, Shai Malin wrote:
quoted
This patch will present the structure for the NVMeTCP offload common
layer driver. This module is added under "drivers/nvme/host/" and future
offload drivers which will register to it will be placed under
"drivers/nvme/hw".
This new driver will be enabled by the Kconfig "NVM Express over Fabrics
TCP offload commmon layer".
In order to support the new transport type, for host mode, no change is
needed.

Each new vendor-specific offload driver will register to this ULP during
its probe function, by filling out the nvme_tcp_ofld_dev->ops and
nvme_tcp_ofld_dev->private_data and calling nvme_tcp_ofld_register_dev
with the initialized struct.

The internal implementation:
- tcp-offload.h:
   Includes all common structs and ops to be used and shared by offload
   drivers.

- tcp-offload.c:
   Includes the init function which registers as a NVMf transport just
   like any other transport.

Acked-by: Igor Russkikh <redacted>
Signed-off-by: Dean Balandin <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/host/Kconfig       |  16 +++
  drivers/nvme/host/Makefile      |   3 +
  drivers/nvme/host/tcp-offload.c | 126 +++++++++++++++++++
  drivers/nvme/host/tcp-offload.h | 206 ++++++++++++++++++++++++++++++++
  4 files changed, 351 insertions(+)
  create mode 100644 drivers/nvme/host/tcp-offload.c
  create mode 100644 drivers/nvme/host/tcp-offload.h
It will be tricky to select the correct transport eg when traversing the
discovery log page; the discovery log page only knows about 'tcp' (not
'tcp_offload'), so the offload won't be picked up.
But that can we worked on / fixed later on, as it's arguably a policy
decision.
I agree that we should improve the policy decision and allow additional
capabilities and it may be discussed as a new NVMe TPAR.
Reviewed-by: Hannes Reinecke <hare@suse.de>
Thanks.
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