linux-nvme.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Clay Mayers <Clay.Mayers@kioxia.com>
To: Christoph Hellwig <hch@lst.de>
Cc: "linux-nvme@lists.infradead.org" <linux-nvme@lists.infradead.org>,
	"Keith Busch" <kbusch@kernel.org>, Jens Axboe <axboe@fb.com>,
	Sagi Grimberg <sagi@grimberg.me>
Subject: RE: [PATCH V2 1/2] nvme: Include AEN CQE.DW1 in NVME_AEN uevents
Date: Tue, 18 Oct 2022 20:12:59 +0000	[thread overview]
Message-ID: <96244e61f9b94ed3aff59f3f14ecdca4@kioxia.com> (raw)
In-Reply-To: <20221017132359.GA23141@lst.de>

> From: Christoph Hellwig <hch@lst.de>
> Sent: Monday, October 17, 2022 6:24 AM
> 
> On Thu, Sep 29, 2022 at 03:39:54PM -0700, clay.mayers@kioxia.com wrote:
> > From: Clay Mayers <clay.mayers@kioxia.com>
> >
> > There are AENs from alternate command sets that include
> > extra data in their AEN's CQE.DW1.  For example, the ZNS
> > Zone-Descriptor-Changed AEN uses it to indicate the NSID
> > of the event's log page.
> >
> > NVME_AEN uevent now includes the value of CQE.DW1 as a new
> > property.  It is only included when non-zero to keep previously
> > existing uevents unmodified.
> 
> I don't think we can actually do this.  If we ever want to handle
> Zone Excursions or any other event where the device can chane the
> Zone Descriptor we need to handle this AEN in the kernel and thus
> control the clearing of the even by reading the associated log page,
> so we can't just send it on to userspace.  This is a bit of a sad
> state of affairs but unavoidable due to the NVMe AEN design.

What happens today is a warning is logged and the log page is left
unread.  The patch closes that gap allowing ZDC AENs to be enable
and handled in user space for things like RocksDB's ZenFS.  Kernel
clients will also need a way to handle them, but can't that be a
different patch series?

The limitation is, the ZDC AEN is enabled/disabled at the controller
level but it's essentially a namespace level event.  Once on for one
namespace, zone descriptor changes have to be handled as an AEN
for all namespaces.



  reply	other threads:[~2022-10-18 20:13 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-29 22:39 [PATCH V2 0/2] nvme: Support user mode processing of ZNS Zone Changed AEN clay.mayers
2022-09-29 22:39 ` [PATCH V2 1/2] nvme: Include AEN CQE.DW1 in NVME_AEN uevents clay.mayers
2022-10-17 13:23   ` Christoph Hellwig
2022-10-18 20:12     ` Clay Mayers [this message]
2022-10-25 15:38       ` Christoph Hellwig
2022-10-25 15:59         ` Sagi Grimberg
2022-10-29  0:47           ` Clay Mayers
2022-09-29 22:39 ` [PATCH V2 2/2] nvme: All AENs of type notify generate an NVME_AEN uevent clay.mayers
2022-10-04  1:48 ` [PATCH V2 0/2] nvme: Support user mode processing of ZNS Zone Changed AEN Chaitanya Kulkarni
2022-10-04 19:09   ` Clay Mayers
2022-10-07  4:59     ` Chaitanya Kulkarni
2022-10-06 11:33 ` Sagi Grimberg
2022-10-06 20:16   ` Clay Mayers

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=96244e61f9b94ed3aff59f3f14ecdca4@kioxia.com \
    --to=clay.mayers@kioxia.com \
    --cc=axboe@fb.com \
    --cc=hch@lst.de \
    --cc=kbusch@kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --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;
as well as URLs for NNTP newsgroup(s).