[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <773bb91f-40a4-a525-f7b8-db821b402821@mellanox.com>
Date: Tue, 11 Dec 2018 09:14:10 +0000
From: Nitzan Carmi <nitzanc@...lanox.com>
To: Jaesoo Lee <jalee@...estorage.com>
CC: "sagi@...mberg.me" <sagi@...mberg.me>,
"keith.busch@...el.com" <keith.busch@...el.com>,
"axboe@...com" <axboe@...com>, "hch@....de" <hch@....de>,
Roland Dreier <roland@...estorage.com>,
Prabhath Sajeepa <psajeepa@...estorage.com>,
Ashish Karkare <ashishk@...estorage.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-nvme@...ts.infradead.org" <linux-nvme@...ts.infradead.org>
Subject: Re: [PATCH] nvme-rdma: complete requests from ->timeout
I was just in the middle of sending this to upstream when I saw your
mail, and thought too that it addresses the same bug, although I see a
little different call trace than yours.
I would be happy if you can verify that this patch works for you too,
and we can push it to upstream.
On 11/12/2018 01:40, Jaesoo Lee wrote:
> It seems that your patch is addressing the same bug. I will see if
> that works for our failure scenarios.
>
> Why don't you make it upstream?
>
> On Sun, Dec 9, 2018 at 6:22 AM Nitzan Carmi <nitzanc@...lanox.com> wrote:
>>
>> Hi,
>> We encountered similar issue.
>> I think that the problem is that error_recovery might not even be
>> queued, in case we're in DELETING state (or CONNECTING state, for that
>> matter), because we cannot move from those states to RESETTING.
>>
>> We prepared some patches which handle completions in case such scenario
>> happens (which, in fact, might happen in numerous error flows).
>>
>> Does it solve your problem?
>> Nitzan.
>>
>>
>> On 30/11/2018 03:30, Sagi Grimberg wrote:
>>>
>>>> This does not hold at least for NVMe RDMA host driver. An example
>>>> scenario
>>>> is when the RDMA connection is gone while the controller is being
>>>> deleted.
>>>> In this case, the nvmf_reg_write32() for sending shutdown admin
>>>> command by
>>>> the delete_work could be hung forever if the command is not completed by
>>>> the timeout handler.
>>>
>>> If the queue is gone, this means that the queue has already flushed and
>>> any commands that were inflight has completed with a flush error
>>> completion...
>>>
>>> Can you describe the scenario that caused this hang? When has the
>>> queue became "gone" and when did the shutdown command execute?
>>>
>>> _______________________________________________
>>> Linux-nvme mailing list
>>> Linux-nvme@...ts.infradead.org
>>> http://lists.infradead.org/mailman/listinfo/linux-nvme
Powered by blists - more mailing lists