public inbox for linux-nvme@lists.infradead.org
 help / color / mirror / Atom feed
From: Nilay Shroff <nilay@linux.ibm.com>
To: linux-nvme@lists.infradead.org
Cc: kbusch@kernel.org, axboe@kernel.dk, hch@lst.de, sagi@grimberg.me,
	hare@suse.de, dwagner@suse.de, wenxiong@linux.ibm.com,
	gjoyce@ibm.com, Nilay Shroff <nilay@linux.ibm.com>
Subject: [PATCHv2 0/7] nvme: export additional diagnostic counters via sysfs
Date: Thu,  5 Feb 2026 18:17:59 +0530	[thread overview]
Message-ID: <20260205124810.682559-1-nilay@linux.ibm.com> (raw)

Hi,

The NVMe driver encounters various events and conditions during normal
operation that are either not tracked today or not exposed to userspace
via sysfs. Lack of visibility into these events can make it difficult to
diagnose subtle issues related to controller behavior, multipath
stability, and I/O reliability.

This patchset adds several diagnostic counters that provide improved
observability into NVMe behavior. These counters are intended to help
users understand events such as transient path unavailability,
controller retries/reconnect/reset, failovers, and I/O failures. They
can also be consumed by monitoring tools such as nvme-top.

Specifically, this series proposes to export the following counters via
sysfs:
  - Command retry count
  - Multipath failover count
  - Command error count
  - I/O requeue count
  - I/O failure count
  - Controller reset event counts
  - Controller reconnect counts

The patchset consists of seven patches:
  Patch 1: Export command retry count
  Patch 2: Export multipath failover count
  Patch 3: Export command error count
  Patch 4: Export I/O requeue count
  Patch 5: Export I/O failure count
  Patch 6: Export controller reset event counts
  Patch 7: Export controller reconnect event count

Please note that this patchset doesn't make any functional change but
rather export relevant counters to user space via sysfs.

As usual, feedback/comments/suggestions are welcome!

Changes from v1:
  - Remove export of stats for admin command rerty count (Keith)
  - Use size_add() to ensure stat counters don't overflow (Keith)

Nilay Shroff (7):
  nvme: export command retry count via sysfs
  nvme: export multipath failover count via sysfs
  nvme: export command error counters via sysfs
  nvme: export I/O requeue count when no path is available via sysfs
  nvme: export I/O failure count when no path is available via sysfs
  nvme: export controller reset event count via sysfs
  nvme: export controller reconnect event count via sysfs

 drivers/nvme/host/core.c      | 15 ++++++-
 drivers/nvme/host/multipath.c | 34 +++++++++++++++
 drivers/nvme/host/nvme.h      | 11 ++++-
 drivers/nvme/host/sysfs.c     | 78 +++++++++++++++++++++++++++++++++++
 4 files changed, 136 insertions(+), 2 deletions(-)

-- 
2.52.0



             reply	other threads:[~2026-02-05 12:49 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-05 12:47 Nilay Shroff [this message]
2026-02-05 12:48 ` [PATCHv2 1/7] nvme: export command retry count via sysfs Nilay Shroff
2026-02-07 13:28   ` Sagi Grimberg
2026-02-09 11:48     ` Nilay Shroff
2026-02-05 12:48 ` [PATCHv2 2/7] nvme: export multipath failover " Nilay Shroff
2026-02-07 13:30   ` Sagi Grimberg
2026-02-05 12:48 ` [PATCHv2 3/7] nvme: export command error counters " Nilay Shroff
2026-02-05 12:48 ` [PATCHv2 4/7] nvme: export I/O requeue count when no path is available " Nilay Shroff
2026-02-07 13:33   ` Sagi Grimberg
2026-02-09 11:53     ` Nilay Shroff
2026-02-05 12:48 ` [PATCHv2 5/7] nvme: export I/O failure " Nilay Shroff
2026-02-05 12:48 ` [PATCHv2 6/7] nvme: export controller reset event count " Nilay Shroff
2026-02-05 12:48 ` [PATCHv2 7/7] nvme: export controller reconnect " Nilay Shroff
2026-02-07 13:37   ` Sagi Grimberg
2026-02-09 12:00     ` Nilay Shroff

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=20260205124810.682559-1-nilay@linux.ibm.com \
    --to=nilay@linux.ibm.com \
    --cc=axboe@kernel.dk \
    --cc=dwagner@suse.de \
    --cc=gjoyce@ibm.com \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=kbusch@kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=sagi@grimberg.me \
    --cc=wenxiong@linux.ibm.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox