All of lore.kernel.org
 help / color / mirror / Atom feed
From: axboe@kernel.dk (Jens Axboe)
Subject: [PATCH] NVMe: Fix blk-mq hot cpu notification
Date: Tue, 31 Mar 2015 10:38:58 -0600	[thread overview]
Message-ID: <551ACDA2.9010006@kernel.dk> (raw)
In-Reply-To: <1427485372-2784-1-git-send-email-keith.busch@intel.com>

On 03/27/2015 01:42 PM, Keith Busch wrote:
> The driver may issue commands to a device that may never return, so its
> request_queue could always have active requests while the controller is
> running. Waiting for the queue to freeze could block forever, which is
> what blk-mq's hot cpu notification handler was doing when nvme drives
> were in use.
>
> This has the nvme driver make the asynchronous event command's tag
> reserved and does not keep the request active. We can't have more than
> one since the request is released back to the request_queue before the
> command is completed. Having only one avoids potential tag collisions,
> and reserving the tag for this purpose prevents other admin tasks from
> reusing the tag.
>
> I also couldn't think of a scenario where issuing AEN requests single
> depth is worse than issuing them in batches, so I don't think we lose
> anything with this change.
>
> As an added bonus, doing it this way removes "Cancelling I/O" warnings
> observed when unbinding the nvme driver from a device.

Nice change, much better to handle it like a reserved tag. Applied for 4.1.

-- 
Jens Axboe

      reply	other threads:[~2015-03-31 16:38 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-27 19:42 [PATCH] NVMe: Fix blk-mq hot cpu notification Keith Busch
2015-03-31 16:38 ` Jens Axboe [this message]

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=551ACDA2.9010006@kernel.dk \
    --to=axboe@kernel.dk \
    /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.