All of lore.kernel.org
 help / color / mirror / Atom feed
From: Keith Busch <kbusch@kernel.org>
To: Daniel Wagner <dwagner@suse.de>
Cc: Maurizio Lombardi <mlombard@arkamax.eu>,
	Maurizio Lombardi <mlombard@redhat.com>,
	linux-nvme@lists.infradead.org, hch@lst.de, hare@suse.de
Subject: Re: [PATCH] nvme: do not reset controllers in NVME_CTRL_NEW state
Date: Tue, 15 Sep 2026 10:42:06 -0600	[thread overview]
Message-ID: <aql1Xmn24bdQIFSA@kbusch-mbp> (raw)
In-Reply-To: <10649bfb-a250-4352-a858-4e9b03457ae0@flourine.local>

On Tue, Sep 15, 2026 at 04:49:31PM +0200, Daniel Wagner wrote:
> On Tue, Sep 15, 2026 at 03:49:36PM +0200, Maurizio Lombardi wrote:
> > "
> >  Fix this by removing NVME_CTRL_NEW from the allowed prior states for
> >  the NVME_CTRL_RESETTING transition. It is safe to drop this transition
> >  entirely because a controller in the NVME_CTRL_NEW state is merely
> >  allocated and not yet initialized, a reset operation at this stage is
> >  meaningless.
> > "
> > 
> > For what concernes the "why it was there in the first place" question,
> > I think that the reason is that in ancient times a CONNECTING state
> > didn't exist. The controller initialization was done via a reset;
> > so the transition was NEW -> RESETTING -> LIVE.
> 
> This rings a bell. With the introduction of the fabrics drivers, the
> CONNECTING state was introduced and the PCI driver didn't use the
> CONNECTING state for while. But due to various reasons, the PCI
> transport follows the same state transitions as the fabrics ones now.

Yep, nvme pci used to always kick most of the initialization to the
reset_work, so that transport wanted the NEW->RESETTING transition.
With asynchronous probe support added, we do the initial setup without
reset_work.


  reply	other threads:[~2026-09-15 16:42 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-15  9:58 [PATCH] nvme: do not reset controllers in NVME_CTRL_NEW state Maurizio Lombardi
2026-09-15 13:11 ` Daniel Wagner
2026-09-15 13:49   ` Maurizio Lombardi
2026-09-15 14:49     ` Daniel Wagner
2026-09-15 16:42       ` Keith Busch [this message]
2026-09-17 19:48 ` Keith Busch
2026-10-03 11:55 ` Yureka Lilian
2026-10-03 12:33   ` Maurizio Lombardi
2026-10-03 13:09     ` Maurizio Lombardi
2026-10-03 14:22       ` Yureka Lilian
2026-10-05 13:05         ` Keith Busch

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=aql1Xmn24bdQIFSA@kbusch-mbp \
    --to=kbusch@kernel.org \
    --cc=dwagner@suse.de \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=linux-nvme@lists.infradead.org \
    --cc=mlombard@arkamax.eu \
    --cc=mlombard@redhat.com \
    /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.