All of lore.kernel.org
 help / color / mirror / Atom feed
From: Keith Busch <keith.busch@intel.com>
To: "Matias Bjørling" <m@bjorling.me>
Cc: willy@linux.intel.com, keith.busch@intel.com,
	sbradshaw@micron.com, axboe@fb.com, tom.leiming@gmail.com,
	hch@infradead.org, rlnelson@google.com,
	linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org
Subject: Re: [PATCH v12] NVMe: Convert to blk-mq
Date: Mon, 18 Aug 2014 16:49:45 -0600 (MDT)	[thread overview]
Message-ID: <alpine.LRH.2.03.1408181643280.4696@AMR> (raw)
In-Reply-To: <1408126604-10611-2-git-send-email-m@bjorling.me>

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1005 bytes --]

On Fri, 15 Aug 2014, Matias Bjørling wrote:
>
> * NVMe queues are merged with the tags structure of blk-mq.
>

I see the driver's queue suspend logic is removed, but I didn't mean to
imply it was safe to do so without replacing it with something else. I
thought maybe we could use the blk_stop/start_queue() functions if I'm
correctly understanding what they're for.

With what's in version 12, we could free an irq multiple times that
doesn't even belong to the nvme queue anymore in certain error conditions.

A couple other things I just noticed:

  * We lose the irq affinity hint after a suspend/resume or device reset
  because the driver's init_hctx() isn't called in these scenarios.

  * After a reset, we are not guaranteed that we even have the same number
  of h/w queues. The driver frees ones beyond the device's capabilities,
  so blk-mq may have references to freed memory. The driver may also
  allocate more queues if it is capable, but blk-mq won't be able to take
  advantage of that.

WARNING: multiple messages have this Message-ID (diff)
From: keith.busch@intel.com (Keith Busch)
Subject: [PATCH v12] NVMe: Convert to blk-mq
Date: Mon, 18 Aug 2014 16:49:45 -0600 (MDT)	[thread overview]
Message-ID: <alpine.LRH.2.03.1408181643280.4696@AMR> (raw)
In-Reply-To: <1408126604-10611-2-git-send-email-m@bjorling.me>

On Fri, 15 Aug 2014, Matias Bj?rling wrote:
>
> * NVMe queues are merged with the tags structure of blk-mq.
>

I see the driver's queue suspend logic is removed, but I didn't mean to
imply it was safe to do so without replacing it with something else. I
thought maybe we could use the blk_stop/start_queue() functions if I'm
correctly understanding what they're for.

With what's in version 12, we could free an irq multiple times that
doesn't even belong to the nvme queue anymore in certain error conditions.

A couple other things I just noticed:

  * We lose the irq affinity hint after a suspend/resume or device reset
  because the driver's init_hctx() isn't called in these scenarios.

  * After a reset, we are not guaranteed that we even have the same number
  of h/w queues. The driver frees ones beyond the device's capabilities,
  so blk-mq may have references to freed memory. The driver may also
  allocate more queues if it is capable, but blk-mq won't be able to take
  advantage of that.

  reply	other threads:[~2014-08-18 22:50 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-15 18:16 [PATCH v12] Convert NVMe driver to blk-mq Matias Bjørling
2014-08-15 18:16 ` Matias Bjørling
2014-08-15 18:16 ` [PATCH v12] NVMe: Convert " Matias Bjørling
2014-08-15 18:16   ` Matias Bjørling
2014-08-18 22:49   ` Keith Busch [this message]
2014-08-18 22:49     ` Keith Busch
2014-08-21 12:07     ` Matias Bjørling
2014-08-21 12:07       ` Matias Bjørling
2014-08-21 14:19       ` Keith Busch
2014-08-21 14:19         ` 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=alpine.LRH.2.03.1408181643280.4696@AMR \
    --to=keith.busch@intel.com \
    --cc=axboe@fb.com \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=m@bjorling.me \
    --cc=rlnelson@google.com \
    --cc=sbradshaw@micron.com \
    --cc=tom.leiming@gmail.com \
    --cc=willy@linux.intel.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.