[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKKgK4z28-gGB05y3nOPpok22H9tYzPQyYZXF4UpTcsR31e9AQ@mail.gmail.com>
Date: Mon, 3 May 2021 18:46:05 +0300
From: Shai Malin <malin1024@...il.com>
To: Hannes Reinecke <hare@...e.de>, linux-nvme@...ts.infradead.org
Cc: Shai Malin <smalin@...vell.com>, netdev@...r.kernel.org,
davem@...emloft.net, kuba@...nel.org, sagi@...mberg.me, hch@....de,
axboe@...com, kbusch@...nel.org, Ariel Elior <aelior@...vell.com>,
Michal Kalderon <mkalderon@...vell.com>, okulkarni@...vell.com,
pkushwaha@...vell.com, Dean Balandin <dbalandin@...vell.com>
Subject: Re: [RFC PATCH v4 08/27] nvme-tcp-offload: Add nvme-tcp-offload -
NVMeTCP HW offload ULP
On 5/1/21 3:18 PM, Hannes Reinecke wrote:
> On 4/29/21 9:09 PM, Shai Malin wrote:
> > 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 <irusskikh@...vell.com>
> > Signed-off-by: Dean Balandin <dbalandin@...vell.com>
> > Signed-off-by: Prabhakar Kushwaha <pkushwaha@...vell.com>
> > Signed-off-by: Omkar Kulkarni <okulkarni@...vell.com>
> > Signed-off-by: Michal Kalderon <mkalderon@...vell.com>
> > Signed-off-by: Ariel Elior <aelior@...vell.com>
> > Signed-off-by: Shai Malin <smalin@...vell.com>
> > ---
> > 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@...e.de>
Thanks.
>
> Cheers,
>
> Hannes
> --
> Dr. Hannes Reinecke Kernel Storage Architect
> hare@...e.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
Powered by blists - more mailing lists