All of lore.kernel.org
 help / color / mirror / Atom feed
From: Howell, Seth <seth.howell at intel.com>
To: spdk@lists.01.org
Subject: Re: [SPDK] A problem with SPDK 19.01 NVMeoF/RDMA target
Date: Thu, 07 Feb 2019 18:18:28 +0000	[thread overview]
Message-ID: <EA913ED399BBA34AA4EAC2EDC24CDD009C25E7B4@FMSMSX105.amr.corp.intel.com> (raw)
In-Reply-To: 24d22b9b-5d1f-ba89-aceb-efcbd2b32f18@dev.mellanox.co.il

[-- Attachment #1: Type: text/plain, Size: 2382 bytes --]

Hi Sasha, Valeriy,

With the help of Valeriy's logs I was able to get to the bottom of this. The root cause is that for NVMe-oF requests that don't transfer any data, such as keep_alive, we were not properly resetting the value of rdma_req->num_outstanding_data_wr between uses of that structure. All data carrying operations properly reset this value in spdk_nvmf_rdma_req_parse_sgl. 

My local repro steps look like this for anyone interested.

Start the SPDK target,
Submit a full queue depth worth of Smart log requests (sequentially is fine). A smaller number also works, but takes much longer.
Wait for a while (This assumes you have keep alive enabled). Keep alive requests will reuse the rdma_req objects slowly incrementing the curr_send_depth on the admin qpair.
Eventually the admin qpair will be unable to submit I/O.

I was able to fix the issue locally with the following patch. https://review.gerrithub.io/#/c/spdk/spdk/+/443811/. Valeriy, please let me know if applying this patch also fixes it for you ( I am pretty sure that it will).

Thank you for the bug report and for all of your help,

Seth

-----Original Message-----
From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Sasha Kotchubievsky
Sent: Thursday, February 7, 2019 11:06 AM
To: spdk(a)lists.01.org
Subject: Re: [SPDK] A problem with SPDK 19.01 NVMeoF/RDMA target

Hi,

RNR value shouldn't affect NVMF. I just want to check if NVMF prepost enough receive requests.  19.10 introduced some new way for flow control and count number of send and receive work requests. Probably, NVMF doesn't pre-post enough requests.

Which network do you use : IB or ROcE? What it is you HW and SW stack in host and in target sides? (OS, OFED/MOFED version, NIC type)

I'd suggest to configure NVMF with big max queue depth, and in your test actually use a half of the value.

On 2/7/2019 5:37 PM, Valeriy Glushkov wrote:
> Hi Sasha,
>
> There is no IBV on the host side, it's Windows.
> So we have no control over the RNR field.
>
>   From a RDMA session's dump I can see that the initiator sets 
> infiniband.cm.req.rnrretrcount to 0x6.
>
> Could the RNR value be related to the problem we have with SPDK 19.01 
> NVMeoF target?
>
_______________________________________________
SPDK mailing list
SPDK(a)lists.01.org
https://lists.01.org/mailman/listinfo/spdk

             reply	other threads:[~2019-02-07 18:18 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-07 18:18 Howell, Seth [this message]
  -- strict thread matches above, loose matches on Subject: below --
2019-02-28 22:07 [SPDK] A problem with SPDK 19.01 NVMeoF/RDMA target Valeriy Glushkov
2019-02-27 15:04 Howell, Seth
2019-02-27 15:00 Howell, Seth
2019-02-26 23:45 Lance Hartmann ORACLE
2019-02-26 22:21 Valeriy Glushkov
2019-02-07 18:05 Sasha Kotchubievsky
2019-02-07 16:59 Howell, Seth
2019-02-07 15:37 Valeriy Glushkov
2019-02-07 14:31 Sasha Kotchubievsky
2019-02-07  4:50 Valeriy Glushkov
2019-02-06 23:06 Harris, James R
2019-02-06 23:03 Howell, Seth
2019-02-06 20:27 Howell, Seth
2019-02-06 18:15 Valeriy Glushkov
2019-02-06 16:54 Harris, James R
2019-02-06 16:03 Howell, Seth
2019-02-06 14:55 Harris, James R
2019-02-06  7:59 Valeriy Glushkov
2019-02-06  0:35 Harris, James R
2019-02-05 11:41 Valeriy Glushkov

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=EA913ED399BBA34AA4EAC2EDC24CDD009C25E7B4@FMSMSX105.amr.corp.intel.com \
    --to=spdk@lists.01.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.