From: Mike Snitzer <snitzer@redhat.com>
To: Christoph Hellwig <hch@lst.de>
Cc: axboe@kernel.dk, Mike Christie <michaelc@cs.wisc.edu>,
dm-devel@redhat.com, lsf@lists.linux-foundation.org,
Jeff Moyer <jmoyer@redhat.com>
Subject: Re: dm-mpath request merging concerns [was: Re: It's time to put together the schedule]
Date: Mon, 23 Feb 2015 15:39:33 -0500 [thread overview]
Message-ID: <20150223203933.GC4693@redhat.com> (raw)
In-Reply-To: <20150223200838.GA27810@lst.de>
On Mon, Feb 23 2015 at 3:08pm -0500,
Christoph Hellwig <hch@lst.de> wrote:
> On Mon, Feb 23, 2015 at 02:50:57PM -0500, Mike Snitzer wrote:
> > - Should request-based DM wire up blk_check_plugged() to allow the block
> > layer's plugging to more directly influence when blk_start_request()
> > is called from dm_request_fn?
> >
> > - Put differently: in addition to checking ->busy should dm_request_fn
> > also maintain and check plugging state that is influenced by
> > blk_check_plugged()?
> >
> > (or is this moot given that the block layer will only call q->request_fn
> > when the queue isn't plugged anyway!?)
> >
> > Basically the long and short of this is: the block layer isn't helping
> > us like we thought (elevator is effectively useless and/or being
> > circumvented). And this apparently isn't new.
> >
> > I'll take a more measured look at all of this while also trying to
> > make sense of switching request-based DM over to using blk-mq.
>
> I'd like to rephrase the question a little bit: Is the request layer +
> device mapper really the right combination for driving multipath I/O?
>
> If we were moving it to a set of helpers where blk-mq drivers could
> just ask for resubmitting I/O on another device of it's choice we
> would be able to cut the middle man with all the problems that having
> a middle man entails. That is all the busy checks that need to be
> propagated, the plugging question, the various merge parameters that need
> to be communicated from the driver, the sense code intepretation for which
> dm needs to call back into SCSI (or NVMe for that matter). To me
> it seems like a much better idea to let the driver (*) driver the
> decision, with a few library helpers provided to deal with queue selection
> algorithms and other faіrly generic pieces of code.
>
> (*) that is block layer driver, in case of SCSI it would still be the
> midlayer pulling the strings.
OK, fair question. But making existing DM-multipath work as expected
(effective consumer of old block's elevators) would be a nice thing to
do before blowing it up with a redesign.
There is a lot of block code that is only used by request-based DM, the
big one being blk_queue_bio(). Could be a regression crept in and it
went unnoticed until now. Not sure.
Happy to entertain your question once this immediate issue is under
control (or at least understood). But it is obviously a worthy
discussion for LSF.
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
next prev parent reply other threads:[~2015-02-23 20:39 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1424395745.2603.27.camel@HansenPartnership.com>
[not found] ` <54EAD453.6040907@suse.de>
2015-02-23 13:50 ` dm-mpath request merging concerns [was: Re: It's time to put together the schedule] Mike Snitzer
2015-02-23 17:18 ` [Lsf] " Mike Christie
2015-02-23 18:34 ` Benjamin Marzinski
2015-02-23 19:56 ` Mike Snitzer
2015-02-23 21:19 ` Benjamin Marzinski
2015-02-23 22:46 ` Mike Snitzer
2015-02-23 22:14 ` Benjamin Marzinski
2015-02-24 0:39 ` Mike Snitzer
2015-02-24 0:38 ` Benjamin Marzinski
2015-02-24 2:02 ` Mike Snitzer
2015-02-24 14:35 ` Jeff Moyer
2015-02-24 14:59 ` Mike Snitzer
2015-02-23 19:35 ` [Lsf] " Merla, ShivaKrishna
2015-02-23 19:50 ` Mike Snitzer
2015-02-23 20:08 ` [Lsf] " Christoph Hellwig
2015-02-23 20:39 ` Mike Snitzer [this message]
2015-02-23 21:14 ` Mike Snitzer
[not found] ` <20150223170842.GK24272@dhcp22.suse.cz>
[not found] ` <20150302151941.GB26343@dhcp22.suse.cz>
[not found] ` <1425309993.2187.3.camel@HansenPartnership.com>
[not found] ` <20150302152858.GF26334@dhcp22.suse.cz>
[not found] ` <20150302104154.3ae46eb7@tlielax.poochiereds.net>
[not found] ` <1425311094.2187.11.camel@HansenPartnership.com>
2015-03-08 18:11 ` RFC for small allocation failure mode transition plan (was: Re: [Lsf] common session about page allocator vs. FS/IO) It's time to put together the schedule) Michal Hocko
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=20150223203933.GC4693@redhat.com \
--to=snitzer@redhat.com \
--cc=axboe@kernel.dk \
--cc=dm-devel@redhat.com \
--cc=hch@lst.de \
--cc=jmoyer@redhat.com \
--cc=lsf@lists.linux-foundation.org \
--cc=michaelc@cs.wisc.edu \
/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.