Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1510207

Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler

From Jan Kara <jack@suse.cz>
Newsgroups linux.kernel
Subject Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler
Date 2016-10-27 16:10 +0200
Message-ID <swTxw-2VB-41@gated-at.bofh.it> (permalink)
References (3 earlier) <swy9I-5BD-17@gated-at.bofh.it> <swyt4-5IE-9@gated-at.bofh.it> <swyt4-5IE-23@gated-at.bofh.it> <swyW6-6ba-45@gated-at.bofh.it> <swz5Q-6fE-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Wed 26-10-16 10:12:38, Jens Axboe wrote:
> On 10/26/2016 10:04 AM, Paolo Valente wrote:
> >
> >>Il giorno 26 ott 2016, alle ore 17:32, Jens Axboe <axboe@kernel.dk> ha scritto:
> >>
> >>On 10/26/2016 09:29 AM, Christoph Hellwig wrote:
> >>>On Wed, Oct 26, 2016 at 05:13:07PM +0200, Arnd Bergmann wrote:
> >>>>The question to ask first is whether to actually have pluggable
> >>>>schedulers on blk-mq at all, or just have one that is meant to
> >>>>do the right thing in every case (and possibly can be bypassed
> >>>>completely).
> >>>
> >>>That would be my preference.  Have a BFQ-variant for blk-mq as an
> >>>option (default to off unless opted in by the driver or user), and
> >>>not other scheduler for blk-mq.  Don't bother with bfq for non
> >>>blk-mq.  It's not like there is any advantage in the legacy-request
> >>>device even for slow devices, except for the option of having I/O
> >>>scheduling.
> >>
> >>It's the only right way forward. blk-mq might not offer any substantial
> >>advantages to rotating storage, but with scheduling, it won't offer a
> >>downside either. And it'll take us towards the real goal, which is to
> >>have just one IO path.
> >
> >ok
> >
> >>Adding a new scheduler for the legacy IO path
> >>makes no sense.
> >
> >I would fully agree if effective and stable I/O scheduling would be
> >available in blk-mq in one or two months.  But I guess that it will
> >take at least one year optimistically, given the current status of the
> >needed infrastructure, and given the great difficulties of doing
> >effective scheduling at the high parallelism and extreme target speeds
> >of blk-mq.  Of course, this holds true unless little clever scheduling
> >is performed.
> >
> >So, what's the point in forcing a lot of users wait another year or
> >more, for a solution that has yet to be even defined, while they could
> >enjoy a much better system, and then switch an even better system when
> >scheduling is ready in blk-mq too?
> 
> That same argument could have been made 2 years ago. Saying no to a new
> scheduler for the legacy framework goes back roughly that long. We could
> have had BFQ for mq NOW, if we didn't keep coming back to this very
> point.
> 
> I'm hesistant to add a new scheduler because it's very easy to add, very
> difficult to get rid of. If we do add BFQ as a legacy scheduler now,
> it'll take us years and years to get rid of it again. We should be
> moving towards LESS moving parts in the legacy path, not more.
> 
> We can keep having this discussion every few years, but I think we'd
> both prefer to make some actual progress here. It's perfectly fine to
> add an interface for a single queue interface for an IO scheduler for
> blk-mq, since we don't care too much about scalability there. And that
> won't take years, that should be a few weeks. Retrofitting BFQ on top of
> that should not be hard either. That can co-exist with a real multiqueue
> scheduler as well, something that's geared towards some fairness for
> faster devices.

OK, so some solution like having a variant of blk_sq_make_request() that
will consume requests, do IO scheduling decisions on them, and feed them
into the HW queue is it sees fit would be acceptable? That will provide the
IO scheduler a global view that it needs for complex scheduling decisions
so it should indeed be relatively easy to port BFQ to work like that.

								Honza
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Paolo Valente <paolo.valente@linaro.org> - 2016-10-26 11:30 +0200
  [PATCH 05/14] block, bfq: add more fairness with writes and slow processes Paolo Valente <paolo.valente@linaro.org> - 2016-10-26 11:30 +0200
  [PATCH 04/14] block, bfq: modify the peak-rate estimator Paolo Valente <paolo.valente@linaro.org> - 2016-10-26 11:40 +0200
  [PATCH 03/14] block, bfq: improve throughput boosting Paolo Valente <paolo.valente@linaro.org> - 2016-10-26 11:40 +0200
  [PATCH 09/14] block, bfq: reduce latency during request-pool saturation Paolo Valente <paolo.valente@linaro.org> - 2016-10-26 11:40 +0200
  [PATCH 07/14] block, bfq: reduce I/O latency for soft real-time applications Paolo Valente <paolo.valente@linaro.org> - 2016-10-26 11:40 +0200
  Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Christoph Hellwig <hch@infradead.org> - 2016-10-26 12:30 +0200
    Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Jan Kara <jack@suse.cz> - 2016-10-26 13:40 +0200
      Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Arnd Bergmann <arnd@arndb.de> - 2016-10-26 17:20 +0200
        Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Christoph Hellwig <hch@infradead.org> - 2016-10-26 17:40 +0200
          Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Jens Axboe <axboe@kernel.dk> - 2016-10-26 17:40 +0200
            Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Paolo Valente <paolo.valente@linaro.org> - 2016-10-26 18:10 +0200
              Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Jens Axboe <axboe@kernel.dk> - 2016-10-26 18:20 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Jan Kara <jack@suse.cz> - 2016-10-27 16:10 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Grozdan <neutrino8@gmail.com> - 2016-10-27 16:40 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Heinz Diehl <htd+ml@fritha.org> - 2016-10-27 18:00 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Jens Axboe <axboe@kernel.dk> - 2016-10-27 18:30 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Jens Axboe <axboe@kernel.dk> - 2016-10-27 18:30 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Jan Kara <jack@suse.cz> - 2016-10-28 10:00 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Jens Axboe <axboe@kernel.dk> - 2016-10-28 16:20 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Ulf Hansson <ulf.hansson@linaro.org> - 2016-10-27 19:40 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Jens Axboe <axboe@kernel.dk> - 2016-10-27 19:50 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Ulf Hansson <ulf.hansson@linaro.org> - 2016-10-27 20:20 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Jens Axboe <axboe@kernel.dk> - 2016-10-27 20:30 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Ulf Hansson <ulf.hansson@linaro.org> - 2016-10-27 21:40 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Jens Axboe <axboe@kernel.dk> - 2016-10-27 23:10 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Linus Walleij <linus.walleij@linaro.org> - 2016-10-28 00:30 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Linus Walleij <linus.walleij@linaro.org> - 2016-10-28 11:40 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Jens Axboe <axboe@kernel.dk> - 2016-10-28 16:30 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Linus Walleij <linus.walleij@linaro.org> - 2016-10-28 22:40 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Christoph Hellwig <hch@infradead.org> - 2016-10-28 17:30 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Linus Walleij <linus.walleij@linaro.org> - 2016-10-28 23:10 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Jens Axboe <axboe@kernel.dk> - 2016-10-28 17:40 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> - 2016-10-28 18:00 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Arnd Bergmann <arnd@arndb.de> - 2016-10-28 18:10 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Mark Brown <broonie@kernel.org> - 2016-10-28 19:20 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Jens Axboe <axboe@kernel.dk> - 2016-10-28 16:10 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Ulf Hansson <ulf.hansson@linaro.org> - 2016-10-28 08:40 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Jens Axboe <axboe@kernel.dk> - 2016-10-28 16:20 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Mark Brown <broonie@kernel.org> - 2016-10-28 19:20 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Christoph Hellwig <hch@infradead.org> - 2016-10-27 21:50 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Mark Brown <broonie@kernel.org> - 2016-10-28 00:10 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Mark Brown <broonie@kernel.org> - 2016-10-27 21:50 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Arnd Bergmann <arnd@arndb.de> - 2016-10-28 14:10 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Richard Weinberger <richard.weinberger@gmail.com> - 2016-10-28 14:20 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Paolo Valente <paolo.valente@linaro.org> - 2016-10-29 07:40 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Bart Van Assche <Bart.VanAssche@sandisk.com> - 2016-10-29 15:20 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra  scheduler Jens Axboe <axboe@kernel.dk> - 2016-10-29 16:20 +0200
                Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Paolo Valente <paolo.valente@linaro.org> - 2016-10-30 04:10 +0100
    Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler Paolo Valente <paolo.valente@linaro.org> - 2016-10-26 14:50 +0200

csiph-web