Re: [PATCH] nvme: start keep-alive after admin queue setup

Hannes Reinecke
2023-10-18T07:31:31Z

On 10/18/23 07:45, Christoph Hellwig wrote:
> On Tue, Oct 17, 2023 at 03:45:35PM +0200, Hannes Reinecke wrote:
>> Setting up I/O queues might take quite some time on larger and/or
>> busy setups, so KATO might expire before all I/O queues could be
>> set up.
>> Fix this by starting keep-alive right after the admin queue is
>> operational.
>
> Having all these manual unpaired nvme_stop_keep_alive calls look
> rather unmaintainable. What keeps us from doing it in
> nvme_uninit_ctrl?
>
Problem here is the exit path of controller initialization.
That is per transport, and each and every one makes it ever
so slightly different.

I guess we can move starting and stopping keep alive into
nvme_quiesce_admin_queue()/nvme_unquiesce_admin_queue(),
as arguably quiescing should affect keep-alive, too.

Let me check.

Cheers,

Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@suse.de +49 911 74053 688
SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), Geschäftsführer: Ivo Totev, Andrew
Myers, Andrew McDonald, Martje Boudien Moerman