From: hch@lst.de (Christoph Hellwig)
Subject: [PATCH 7/7] nvme: Send change uevent when AEN completes
Date: Fri, 7 Jul 2017 20:14:36 +0200 [thread overview]
Message-ID: <20170707181436.GC24427@lst.de> (raw)
In-Reply-To: <1499444581-28268-8-git-send-email-keith.busch@intel.com>
On Fri, Jul 07, 2017@12:23:01PM -0400, Keith Busch wrote:
> This will give udev a chance to handle asynchronous event notification
> and clear the log to unmask future events of the same type. Since the
> core driver allows only one AEN request at a time, we can only have one
> possible oustanding uevent to send. This implementation saves the last
> AEN result from the IRQ handler, and sends the uevent change notification
> when the AEN work is rescheduled.
>
> The udev rule used to test this was the following:
>
> ACTION=="change", SUBSYSTEM=="nvme", ENV{NVME_AEN}=="*", \
> RUN+="/bin/sh -c '/usr/local/sbin/nvme get-log $env{DEVNAME} --log-id=$(( ($env{NVME_AEN} >> 16) & 0xff )) --log-len=4096 >> /tmp/nvme-log'"
Can we have an nvme-aen helper that gets invoked by a trivial udev rule,
which would read a config file for policy?
Also I think we need to document our policy on which AERs
get forwarded to userspace. There are some we really should be
handling in the kernel (fw activation which is in progress, namespace
data changes really needs fixing, and ANA will also require kernel
handling). Is there a way to state it's up to the kernel to reserve
any even for itself? Or should we just forward very specific AERs
to userspace?
next prev parent reply other threads:[~2017-07-07 18:14 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-07 16:22 [PATCH 0/7] NVMe Async Event Notification updates Keith Busch
2017-07-07 16:22 ` [PATCH 1/7] nvme/fc: There is only one AEN request Keith Busch
2017-07-10 23:12 ` James Smart
2017-07-07 16:22 ` [PATCH 2/7] nvme/fc: Fix admin queue depth setup Keith Busch
2017-07-10 5:59 ` Sagi Grimberg
2017-07-10 22:57 ` Keith Busch
2017-07-10 23:40 ` James Smart
2017-07-10 23:49 ` James Smart
2017-07-07 16:22 ` [PATCH 3/7] nvme/fc: remove unused "queue_size" field Keith Busch
2017-07-10 6:00 ` Sagi Grimberg
2017-07-10 23:44 ` James Smart
2017-07-07 16:22 ` [PATCH 4/7] nvme: Centralize blk-mq tag and AEN counts Keith Busch
2017-07-10 6:01 ` Sagi Grimberg
2017-07-10 23:51 ` James Smart
2017-07-07 16:22 ` [PATCH 5/7] nvme: Only one AEN request Keith Busch
2017-07-10 6:06 ` Sagi Grimberg
2017-07-10 23:53 ` James Smart
2017-07-07 16:23 ` [PATCH 6/7] nvme: Unexport starting async event work Keith Busch
2017-07-07 18:11 ` Christoph Hellwig
2017-07-07 19:54 ` Keith Busch
2017-07-07 16:23 ` [PATCH 7/7] nvme: Send change uevent when AEN completes Keith Busch
2017-07-07 18:14 ` Christoph Hellwig [this message]
2017-07-13 21:29 ` Keith Busch
2017-07-14 12:50 ` Guilherme G. Piccoli
2017-07-14 12:54 ` Christoph Hellwig
2017-07-14 12:53 ` Christoph Hellwig
2017-07-14 15:16 ` Keith Busch
2017-07-15 8:42 ` Christoph Hellwig
2017-07-17 15:22 ` Keith Busch
2017-08-01 11:59 ` Guan Junxiong
2017-07-10 10:17 ` Zou Ming
2017-07-10 17:38 ` Keith Busch
2017-07-10 23:57 ` James Smart
2017-07-11 14:43 ` Keith Busch
2017-07-11 17:14 ` James Smart
2017-07-13 16:09 ` Keith Busch
2017-07-07 18:09 ` [PATCH 0/7] NVMe Async Event Notification updates Christoph Hellwig
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=20170707181436.GC24427@lst.de \
--to=hch@lst.de \
/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.