mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Jens Axboe <axboe@kernel.dk>
Cc: Paolo Valente <paolo.valente@unimore.it>,
	Li Zefan <lizefan@huawei.com>,
	Fabio Checconi <fchecconi@gmail.com>,
	Arianna Avanzini <avanzini.arianna@gmail.com>,
	Paolo Valente <posta_paolo@yahoo.it>,
	linux-kernel@vger.kernel.org,
	containers@lists.linux-foundation.org, cgroups@vger.kernel.org
Subject: Re: [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler
Date: Mon, 2 Jun 2014 13:42:50 -0400	[thread overview]
Message-ID: <20140602174250.GC8912@htj.dyndns.org> (raw)
In-Reply-To: <538CB515.3090700@kernel.dk>

Hello, Jens.

On Mon, Jun 02, 2014 at 11:32:05AM -0600, Jens Axboe wrote:
> For things like blkcg, I agree, it should be able to be common code and
> reusable. But there's a need for scheduling beyond that, for people that
> don't use control groups (ie most...). And it'd be hard to retrofit cfq
> into blk-mq, without rewriting it. I don't believe we need anything this
> fancy for blk-mq, hopefully. At least having simple deadline scheduling
> would be Good Enough for the foreseeable future.

Heh, looks like we're miscommunicating.  I don't think anything with
the level of complexity of cfq is realistic for high-iops devices.  It
has already become a liability for SATA ssds after all.  My suggestion
is that as hierarchical scheduling tends to be logical extension of
flat scheduling, it probably would make sense to implement both
scheduling logics in the same framework as in the cpu scheduler or (to
a lesser extent) cfq.  So, a new blk-mq scheduler which can work in
hierarchical mode if blkcg is in active use.

One part I was wondering about is whether we'd need to continue the
modular multiple implementation mechanism.  For rotating disks, for
various reasons including some historical ones, we ended up with
multiple ioscheds and somewhat uglily layered blkcg implementations.
Given that the expected characteristics of blk-mq devices are more
consistent, it could be reasonable to stick with single iops and/or
bandwidth scheme.

Thanks.

-- 
tejun

  reply	other threads:[~2014-06-02 17:42 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-27 12:42 [PATCH RFC RESEND 00/14] " paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 01/14] block: kconfig update and build bits for BFQ paolo
2014-05-28 22:19   ` Tejun Heo
2014-05-29  9:05     ` [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler Paolo Valente
2014-05-29  9:05       ` [PATCH RFC - TAKE TWO - 01/12] block: introduce the BFQ-v0 I/O scheduler Paolo Valente
2014-05-30 15:36         ` Tejun Heo
2014-05-29  9:05       ` [PATCH RFC - TAKE TWO - 02/12] block, bfq: add full hierarchical scheduling and cgroups support Paolo Valente
2014-05-30 15:37         ` Tejun Heo
2014-05-30 15:39           ` Tejun Heo
2014-05-30 21:49             ` Paolo Valente
2014-05-30 21:49           ` Paolo Valente
2014-05-29  9:05       ` [PATCH RFC - TAKE TWO - 03/12] block, bfq: improve throughput boosting Paolo Valente
2014-05-29  9:05       ` [PATCH RFC - TAKE TWO - 04/12] block, bfq: modify the peak-rate estimator Paolo Valente
2014-05-29  9:05       ` [PATCH RFC - TAKE TWO - 05/12] block, bfq: add more fairness to boost throughput and reduce latency Paolo Valente
2014-05-29  9:05       ` [PATCH RFC - TAKE TWO - 06/12] block, bfq: improve responsiveness Paolo Valente
2014-05-30 15:41         ` Tejun Heo
2014-05-29  9:05       ` [PATCH RFC - TAKE TWO - 07/12] block, bfq: reduce I/O latency for soft real-time applications Paolo Valente
2014-05-29  9:05       ` [PATCH RFC - TAKE TWO - 08/12] block, bfq: preserve a low latency also with NCQ-capable drives Paolo Valente
2014-05-31 13:48         ` Tejun Heo
2014-06-02  9:58           ` Paolo Valente
2014-05-29  9:05       ` [PATCH RFC - TAKE TWO - 09/12] block, bfq: reduce latency during request-pool saturation Paolo Valente
2014-05-31 13:54         ` Tejun Heo
2014-06-02  9:54           ` Paolo Valente
2014-05-29  9:05       ` [PATCH RFC - TAKE TWO - 10/12] block, bfq: add Early Queue Merge (EQM) Paolo Valente
2014-06-01  0:03         ` Tejun Heo
2014-06-02  9:46           ` Paolo Valente
2014-06-03 16:28             ` Tejun Heo
2014-06-04 11:47               ` Paolo Valente
2014-06-04 13:04                 ` Tejun Heo
2014-06-16 11:23                   ` Paolo Valente
2014-05-29  9:05       ` [PATCH RFC - TAKE TWO - 11/12] block, bfq: boost the throughput on NCQ-capable flash-based devices Paolo Valente
2014-05-30 15:46         ` Tejun Heo
2014-05-30 22:01           ` Paolo Valente
2014-05-31 11:52         ` Tejun Heo
2014-06-02  9:26           ` Paolo Valente
2014-06-03 17:11             ` Tejun Heo
2014-06-04  7:29               ` Paolo Valente
2014-06-04 13:56                 ` Tejun Heo
2014-06-16 10:46                   ` Paolo Valente
2014-06-19  1:14                     ` Tejun Heo
2014-05-29  9:05       ` [PATCH RFC - TAKE TWO - 12/12] block, bfq: boost the throughput with random I/O on NCQ-capable HDDs Paolo Valente
2014-05-30 15:51         ` Tejun Heo
2014-05-31 13:34         ` Tejun Heo
2014-05-30 16:07       ` [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler Tejun Heo
2014-05-30 22:23         ` Paolo Valente
2014-05-30 23:28           ` Tejun Heo
2014-05-30 23:54             ` Paolo Valente
2014-06-02 11:14             ` Pavel Machek
2014-06-02 13:02               ` Pavel Machek
2014-06-03 16:54                 ` Paolo Valente
2014-06-03 20:40                   ` Pavel Machek
2014-06-04  8:39                   ` Pavel Machek
2014-06-04  9:08                   ` Pavel Machek
2014-06-04 10:03                   ` BFQ speed tests [was Re: [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler] Pavel Machek
2014-06-04 10:24                     ` Paolo Valente
2014-06-04 11:59                       ` Takashi Iwai
2014-06-04 12:12                         ` Paolo Valente
2014-06-11 20:45                         ` Paolo Valente
2014-06-13 16:21                           ` Takashi Iwai
2014-06-11 20:39                     ` Paolo Valente
2014-06-02 17:33               ` [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler Tejun Heo
2014-06-03  4:12                 ` Mike Galbraith
2014-06-04 22:31                 ` Pavel Machek
2014-06-05  2:14                   ` Jens Axboe
2014-05-31  0:48         ` Jens Axboe
2014-05-31  5:16           ` Tejun Heo
2014-06-02 14:29             ` Jens Axboe
2014-06-02 17:24               ` Tejun Heo
2014-06-02 17:32                 ` Jens Axboe
2014-06-02 17:42                   ` Tejun Heo [this message]
2014-06-02 17:46                     ` Jens Axboe
2014-06-02 18:51                       ` Tejun Heo
2014-06-02 20:57                         ` Jens Axboe
2014-06-04 14:31                           ` Christoph Hellwig
2014-06-04 14:50                             ` Tejun Heo
2014-06-04 14:53                               ` Christoph Hellwig
2014-06-04 14:58                                 ` Tejun Heo
2014-06-04 17:51                                   ` Christoph Hellwig
2014-06-17 15:55               ` Paolo Valente
2014-06-19  1:46                 ` Tejun Heo
2014-06-19  1:49                   ` Tejun Heo
2014-06-19  2:29                   ` Jens Axboe
2014-06-23 13:53                     ` Paolo Valente
2014-06-23 19:20                       ` Tejun Heo
2014-07-09 20:54                         ` Paolo Valente
2014-05-27 12:42 ` [PATCH RFC RESEND 02/14] block: introduce the BFQ-v0 I/O scheduler paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 03/14] block: add hierarchical-support option to kconfig paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 04/14] block, bfq: add full hierarchical scheduling and cgroups support paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 05/14] block, bfq: improve throughput boosting paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 06/14] block, bfq: modify the peak-rate estimator paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 07/14] block, bfq: add more fairness to boost throughput and reduce latency paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 08/14] block, bfq: improve responsiveness paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 09/14] block, bfq: reduce I/O latency for soft real-time applications paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 10/14] block, bfq: preserve a low latency also with NCQ-capable drives paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 11/14] block, bfq: reduce latency during request-pool saturation paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 12/14] block, bfq: add Early Queue Merge (EQM) paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 13/14] block, bfq: boost the throughput on NCQ-capable flash-based devices paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 14/14] block, bfq: boost the throughput with random I/O on NCQ-capable HDDs paolo
2014-05-30 15:32 ` [PATCH RFC RESEND 00/14] New version of the BFQ I/O Scheduler Vivek Goyal
2014-05-30 16:16   ` Tejun Heo
2014-05-30 17:09     ` Vivek Goyal
2014-05-30 17:26       ` Tejun Heo
2014-05-30 17:55         ` Vivek Goyal
2014-05-30 17:59           ` Tejun Heo
2014-05-30 23:33       ` Paolo Valente
2014-05-30 17:31 ` Vivek Goyal
2014-05-30 17:39   ` Tejun Heo

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=20140602174250.GC8912@htj.dyndns.org \
    --to=tj@kernel.org \
    --cc=avanzini.arianna@gmail.com \
    --cc=axboe@kernel.dk \
    --cc=cgroups@vger.kernel.org \
    --cc=containers@lists.linux-foundation.org \
    --cc=fchecconi@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=paolo.valente@unimore.it \
    --cc=posta_paolo@yahoo.it \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome