Linux-NVME Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Keith Busch <kbusch@kernel.org>
To: Hannes Reinecke <hare@suse.de>
Cc: John Meneghini <jmeneghi@redhat.com>,
	Bryan Gurney <bgurney@redhat.com>,
	linux-nvme@lists.infradead.org, hch@lst.de, sagi@grimberg.me,
	axboe@kernel.dk, james.smart@broadcom.com,
	dick.kennedy@broadcom.com, njavali@marvell.com,
	linux-scsi@vger.kernel.org
Subject: Re: [PATCH v8 7/8] nvme: sysfs: emit the marginal path state in show_state()
Date: Mon, 21 Jul 2025 20:57:27 -0600	[thread overview]
Message-ID: <aH7-F2WxrhoCiK7O@kbusch-mbp> (raw)
In-Reply-To: <ccb69ee6-bd5e-4585-9ccc-0c49cb30f1a9@suse.de>

On Wed, Jul 16, 2025 at 08:07:51AM +0200, Hannes Reinecke wrote:
> On 7/15/25 22:03, Keith Busch wrote:
> > 
> > What you're describing is a "path" state, not a controller state which
> > is why I'm suggesting the "ana_state" attribute since nothing else
> > represents the path fitness. If nvme can't describe this condition, then
> > maybe it should?
> > 
> We probably could, but that feels a bit cumbersome.
> Thing is, the FPIN LI (link integrity) message is just one a set of
> possible messages (congestion is another, but even more are defined).
> When adding a separate ANA state for that question would be raised
> how the other state would fit into that.
> From a conceptual side FPIN LI really is equivalent to a flaky
> path, which can happen at any time without any specific information
> anyway.
> Again making it questionable whether it should be specified in terms
> of ANA states.

I see. Re-reading ANA, it is more aligned to describing a controller as
active/passive or primary/secondary to the backing storage access rather
than the state of the host nexus, so I agree it's not well suited
for an ANA state. :(
 
> > Where does this 'FPIN LI' message originate from? The end point or
> > something inbetween? If it's the endpoint (or if both sides get the same
> > message?), then an ANA state to non-optimal should be possible, no? And
> > we already have the infrastructure to react to changing ANA states, so
> > you can transition to optimal if something gets repaired.
> 
> It's typically generated by the fabric/switch once it detects a link
> integrity problem on one of the links on a given path.
> 
> As mentioned above, it really is a attempt to codify the 'flaky path'
> scenario, where occasionaly errors are generated but I/O remains
> possible. So it really is an overlay over the ANA states, as _any_
> path might be affected.
> This discussion only centered around 'optimal' paths as our path
> selectors really only care about optimized paths; non-optimized
> paths are not considered here.
> Which might skew the view of this patchset somewhat.

Okay, but can we call it "degraded" instead of "marginal"? The latter
implies the poor quality is endemic to that path rather than a temporary
condition.


  reply	other threads:[~2025-07-22  2:57 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-09 21:19 [PATCH v8 0/8] nvme-fc: FPIN link integrity handling Bryan Gurney
2025-07-09 21:19 ` [PATCH v8 1/8] fc_els: use 'union fc_tlv_desc' Bryan Gurney
2025-07-09 21:19 ` [PATCH v8 2/8] nvme: add NVME_CTRL_MARGINAL flag Bryan Gurney
2025-07-09 21:19 ` [PATCH v8 3/8] nvme-fc: marginal path handling Bryan Gurney
2025-07-09 21:19 ` [PATCH v8 4/8] nvme-fc: nvme_fc_fpin_rcv() callback Bryan Gurney
2025-07-09 21:19 ` [PATCH v8 5/8] lpfc: enable FPIN notification for NVMe Bryan Gurney
2025-07-09 21:19 ` [PATCH v8 6/8] qla2xxx: " Bryan Gurney
2025-07-09 22:01   ` John Meneghini
2025-07-09 21:19 ` [PATCH v8 7/8] nvme: sysfs: emit the marginal path state in show_state() Bryan Gurney
2025-07-09 22:12   ` Keith Busch
2025-07-15 19:42     ` John Meneghini
2025-07-15 20:03       ` Keith Busch
2025-07-16  6:07         ` Hannes Reinecke
2025-07-22  2:57           ` Keith Busch [this message]
2025-07-22  6:41             ` Hannes Reinecke
2025-07-23 16:58               ` John Meneghini
2025-07-09 22:05 ` [PATCH v8 0/8] nvme-fc: FPIN link integrity handling John Meneghini

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=aH7-F2WxrhoCiK7O@kbusch-mbp \
    --to=kbusch@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=bgurney@redhat.com \
    --cc=dick.kennedy@broadcom.com \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=james.smart@broadcom.com \
    --cc=jmeneghi@redhat.com \
    --cc=linux-nvme@lists.infradead.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=njavali@marvell.com \
    --cc=sagi@grimberg.me \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox