From: keith.busch@intel.com (Keith Busch)
Subject: [PATCHv2 1/2] blk-mq: Shared tag enhancements
Date: Wed, 3 Jun 2015 14:14:12 +0000 (UTC) [thread overview]
Message-ID: <alpine.LNX.2.00.1506031406140.15930@localhost.lm.intel.com> (raw)
In-Reply-To: <20150603070014.GD11344@lst.de>
On Wed, 3 Jun 2015, Christoph Hellwig wrote:
> On Mon, Jun 01, 2015@09:29:53AM -0600, Keith Busch wrote:
>> Storage controllers may expose multiple block devices that share hardware
>> resources managed by blk-mq. This patch enhances the shared tags so a
>> low-level driver can access the shared resources not tied to the unshared
>> h/w contexts. This way the LLD can dynamically add and delete disks and
>> request queues without having to track all the request_queue hctx's to
>> iterate outstanding tags.
>
> Why do you add a new function instead of fully replacing the old
> blk_mq_tag_busy_iter? The only other user is the timeout handler,
> and I think it would be fine with your version as well. And
> blk_mq_tag_busy_iter is a much better name for your new function anyway :)
I thought about that, but looks like trouble. Each namespace has its
own request_queue and each request_queue its own timer to iterate their
busy tags. Letting any timer iterate another's tags could expire the
same command multiple times.
Maybe we could move the timer from the request_queue to the tagset
instead? There seems to be some duplicate information propagating in
the request_queue anyway that might be better suited to the common tagset.
prev parent reply other threads:[~2015-06-03 14:14 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-01 15:29 [PATCHv2 1/2] blk-mq: Shared tag enhancements Keith Busch
2015-06-01 15:29 ` [PATCHv2 2/2] NVMe: Remove hctx reliance for multi-namespace Keith Busch
2015-06-01 20:35 ` [PATCHv2 1/2] blk-mq: Shared tag enhancements Jens Axboe
2015-06-03 7:00 ` Christoph Hellwig
2015-06-03 14:14 ` Keith Busch [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=alpine.LNX.2.00.1506031406140.15930@localhost.lm.intel.com \
--to=keith.busch@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.