[PATCH 1/3] nvme: fixup kato deadlock

Hannes Reinecke hare at suse.de
Wed Mar 3 14:23:12 GMT 2021


On 3/3/21 2:11 PM, Hannes Reinecke wrote:
> On 3/3/21 1:35 PM, Christoph Hellwig wrote:
>> On Wed, Mar 03, 2021 at 01:01:50PM +0100, Hannes Reinecke wrote:
>>>> Adding BLK_MQ_REQ_NOWAIT should be a separate prep patch, together with
>>>> reducing the number of reserved tags.
>>>>
>>> Okay.
>>> But why would we need to reduce the number of tags? It's not that we're
>>> changing anything with the allocation, we're just guaranteed to fail if
>>> for some reason the stack messes up.
>>
>> Because we could otherwise still have to keep alive requests, or one keep
>> a live and one connect requests allocated at the same time.
>>
> But that's what we have today.
> So you're saying that we should have only _1_ reserved request, ie
> either connect _or_ keep-alive?
> Sure we can do that; I had been a bit hesitant to do that seeing that it
> had been that way since the beginning.
> 
> But if you say ...
> 
Actually, having thought a bit more, I'm not sure if we should change
that. Changing the number of reserved commands _will_ have an impact on
error recovery, up to the point that we cannot issue a 'connect' command
if a keep-alive command is still running.
Which means we might be seeing spurious connection failures during
recovery, something which I'd be very cautious about.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		           Kernel Storage Architect
hare at suse.de			                  +49 911 74053 688
SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), GF: Felix Imendörffer



More information about the Linux-nvme mailing list