public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Tejun Heo <tj@kernel.org>
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, 02 Jun 2014 11:32:05 -0600	[thread overview]
Message-ID: <538CB515.3090700@kernel.dk> (raw)
In-Reply-To: <20140602172454.GA8912@htj.dyndns.org>

On 06/02/2014 11:24 AM, Tejun Heo wrote:
> Hello, Jens.
> 
> On Mon, Jun 02, 2014 at 08:29:27AM -0600, Jens Axboe wrote:
>> One thing I've neglected to bring up but have been thinking about - we're
>> quickly getting to the point where the old request_fn IO path will become a
>> legacy thing, mostly in maintenance mode. That isn't a problem for morphing
>> bfq and cfq, but it does mean that development efforts in this area would be
>> a lot better spent writing an IO scheduler that fits into the blk-mq
>> framework instead.
> 
> What I'm planning right now is improving blkcg so that it can do both
> proportional and hard limits with high cpu scalability, most likely
> using percpu charge caches.  It probably would be best to roll all
> those into one piece of logic.  I don't think, well at least hope,
> that we'd need multiple modular scheduler / blkcg implementations for
> blk-mq and both can be served by built-in scheduling logic.
> Regardless of device speed, we'd need some form of fairness
> enforcement after all.

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.

-- 
Jens Axboe


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

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-27 12:42 [PATCH RFC RESEND 00/14] New version of the BFQ I/O Scheduler 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 [this message]
2014-06-02 17:42                   ` Tejun Heo
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=538CB515.3090700@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=avanzini.arianna@gmail.com \
    --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 \
    --cc=tj@kernel.org \
    /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