public inbox for linux-nvme@lists.infradead.org
 help / color / mirror / Atom feed
From: James Smart <jsmart2021@gmail.com>
To: Max Gurtovoy <mgurtovoy@nvidia.com>,
	linux-nvme@lists.infradead.org, hch@lst.de, kbusch@kernel.org,
	sagi@grimberg.me
Cc: chaitanyak@nvidia.com, israelr@nvidia.com, oren@nvidia.com
Subject: Re: [PATCH v1 0/7] Centrelize common fabrics code to core drivers
Date: Mon, 18 Oct 2021 07:08:06 -0700	[thread overview]
Message-ID: <4002b4b2-1a57-8c4f-c2cb-5c4bf13aafbe@gmail.com> (raw)
In-Reply-To: <20211018134020.33838-1-mgurtovoy@nvidia.com>

On 10/18/2021 6:40 AM, Max Gurtovoy wrote:
> Hi Christoph, Sagi, Keith and Co,
> This series is intended to move common reconnection, device removal and
> error recovery logic to common fabrics and core drivers. In this stage,
> it mainly deals with the RDMA and TCP drivers which had the same logic
> for the above tasks. FC driver can start using this framework in the
> future after some preparation work that should be done.
> 
> This will ease on code maintenance and reduce the code duplication
> between the RDMA and TCP drivers.
> 
> Since there are some attributes that were moved to generic nvme_ctrl
> structure, I've measured perf impact.
> 
> NVMe PCI Perf numbers using NVIDIA's NVMe SNAP Bluefield-2 device
> (Fio 16 jobs, 128 iodepth, libaio):
> 
> IO size   rand READ (before/after)  rand WRITE (before/after)
> -------- -------------------------  --------------------------
>   512B          2189k/2197k                2031k/2092k
>   1KB           2188k/2201k                2027k/2088k
>   2KB           2166k/2181k                2023k/2078k
>   4KB           2153k/2169k                2025k/2076k
>   8KB           1381k/1381k                1378k/1375k
>   16KB          669k/676k                  660k/664k
>   32KB          320k/322k                  305k/305k
>   64KB          157k/157k                  151k/151k
> 
> As we can see, there is no impact on the performance.
> 
> Max Gurtovoy (7):
>    nvme: add connect_work attribute to nvme ctrl
>    nvme-fabrics: introduce nvmf_reconnect_or_remove API
>    nvme: add err_work attribute to nvme ctrl
>    nvme-fabrics: introduce nvmf_error_recovery API
>    nvme/nvme-fabrics: introduce nvmf_error_recovery_work API
>    nvme/nvme-fabrics: introduce nvmf_reconnect_ctrl_work API
>    nvme-fabrics: add nvmf_init_ctrl/nvmf_teardown_ctrl API
> 
>   drivers/nvme/host/fabrics.c |  90 ++++++++++++++++++++++++
>   drivers/nvme/host/fabrics.h |   4 ++
>   drivers/nvme/host/fc.c      |  23 ++++---
>   drivers/nvme/host/nvme.h    |   7 ++
>   drivers/nvme/host/rdma.c    | 134 ++++++++++--------------------------
>   drivers/nvme/host/tcp.c     | 124 ++++++++-------------------------
>   6 files changed, 180 insertions(+), 202 deletions(-)
> 

Thanks Max.

I've been thinking we needed to do this for a while as well.  FC should 
be part of this, and up front, so the abstraction is tested properly. 
I'd rather merge now than spin things again.  I'll go through this over 
the next day or so.

-- james



  parent reply	other threads:[~2021-10-18 14:14 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-18 13:40 [PATCH v1 0/7] Centrelize common fabrics code to core drivers Max Gurtovoy
2021-10-18 13:40 ` [PATCH 1/7] nvme: add connect_work attribute to nvme ctrl Max Gurtovoy
2021-10-19 12:32   ` Sagi Grimberg
2021-10-19 13:20   ` Hannes Reinecke
2021-10-20 13:34   ` Himanshu Madhani
2021-10-18 13:40 ` [PATCH 2/7] nvme-fabrics: introduce nvmf_reconnect_or_remove API Max Gurtovoy
2021-10-19  6:26   ` Chaitanya Kulkarni
2021-10-19 12:36   ` Sagi Grimberg
2021-10-19 12:58     ` Max Gurtovoy
2021-10-19 13:21   ` Hannes Reinecke
2021-10-20 13:34   ` Himanshu Madhani
2021-10-18 13:40 ` [PATCH 3/7] nvme: add err_work attribute to nvme ctrl Max Gurtovoy
2021-10-19 12:36   ` Sagi Grimberg
2021-10-20 13:34   ` Himanshu Madhani
2021-10-18 13:40 ` [PATCH 4/7] nvme-fabrics: introduce nvmf_error_recovery API Max Gurtovoy
2021-10-19 13:27   ` Hannes Reinecke
2021-10-20 13:34   ` Himanshu Madhani
2021-10-18 13:40 ` [PATCH 5/7] nvme/nvme-fabrics: introduce nvmf_error_recovery_work API Max Gurtovoy
2021-10-19  6:29   ` Chaitanya Kulkarni
2021-10-19 12:43   ` Sagi Grimberg
2021-10-19 13:17     ` Max Gurtovoy
2021-10-19 13:34   ` Hannes Reinecke
2021-10-18 13:40 ` [PATCH 6/7] nvme/nvme-fabrics: introduce nvmf_reconnect_ctrl_work API Max Gurtovoy
2021-10-19  6:29   ` Chaitanya Kulkarni
2021-10-19 12:44   ` Sagi Grimberg
2021-10-19 13:18     ` Max Gurtovoy
2021-10-19 13:41   ` Hannes Reinecke
2021-10-18 13:40 ` [PATCH 7/7] nvme-fabrics: add nvmf_init_ctrl/nvmf_teardown_ctrl API Max Gurtovoy
2021-10-19 12:46   ` Sagi Grimberg
2021-10-19 13:20     ` Max Gurtovoy
2021-10-18 14:08 ` James Smart [this message]
2021-10-19  5:36   ` [PATCH v1 0/7] Centrelize common fabrics code to core drivers Christoph Hellwig
2021-10-19  6:24 ` Chaitanya Kulkarni
2021-10-19 12:32 ` Sagi Grimberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4002b4b2-1a57-8c4f-c2cb-5c4bf13aafbe@gmail.com \
    --to=jsmart2021@gmail.com \
    --cc=chaitanyak@nvidia.com \
    --cc=hch@lst.de \
    --cc=israelr@nvidia.com \
    --cc=kbusch@kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=mgurtovoy@nvidia.com \
    --cc=oren@nvidia.com \
    --cc=sagi@grimberg.me \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox