public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Li Zefan <lizf@cn.fujitsu.com>
To: Fabio Checconi <fchecconi@gmail.com>
Cc: jens.axboe@oracle.com, linux-kernel@vger.kernel.org,
	paolo.valente@unimore.it, fabio@gandalf.sssup.it,
	Linux Containers <containers@lists.linux-foundation.org>,
	Vivek Goyal <vgoyal@redhat.com>
Subject: Re: [PATCH 0/3] BFQ I/O Scheduler (second take)
Date: Wed, 12 Nov 2008 10:48:00 +0800	[thread overview]
Message-ID: <491A43E0.2080109@cn.fujitsu.com> (raw)
In-Reply-To: <20081111125148.GD9508@gandalf.sssup.it>

CC: Linux Containers <containers@lists.linux-foundation.org>
    Vivek Goyal <vgoyal@redhat.com>

Fabio Checconi wrote:
> Hi Jens, hi all,
> 

Hi Fabio,

>   this is an updated version of the patchset introducing the BFQ (Budget
> Fair Queueing) I/O scheduler.  It is based on CFQ and it has been
> developed trying to improve the predictability and the fairness of the
> service prvided, without penalizing the aggregate throughput.
> 
> This new version hopefully addresses the issues pointed out after the
> first submission[1]:
> 
>   1) it introduces a bitmap to notify priority changes to the bfq/cfq;
>   2) it introduces a timeout to put an higher limit to the time a
>       task can take to consume its budget;
>   3) it supports hierarchical scheduling.
> 

So this is another cgroup-aware block i/o controller. ;)

People are sending different proposals for bio controller. A summary
on this can be found here:
	http://marc.info/?l=linux-kernel&m=121798534716673&w=2

And a new proposal sent by Vivek several days ago:
	http://lkml.org/lkml/2008/11/6/227

And there are some discussions about can we modify the elevator layer
and create a common layer so we can provide group control for all
the 4 io schedulers. (in the above mail thread)

You may share some ideas with us.

> With the introduction of a budget timeout, each task is still assigned
> a budget measured in number of sectors instead of amount of time,
> but a budget is not served to its exhaustion if it's taking too much
> to complete.  Budgets are still scheduled using a modified version
> of WF2Q+.
> 
> Using huge values for max_budget turns the scheduler into a pure
> time-domain proportional share one, and the timeout controls the duration
> of the time quanta.
> 
> WRT the support for hierarchical scheduling, that is being discussed
> so much in these days, this scheduler does not add anything new, it
> supports proportional share distribution of disk bandwidth among
> full cgroup hierarchies; the mapping from requests to cgroups is
> correct only in case of synchronous reads.
> 
> The overall diffstat is the following:
> 
>  block/Kconfig.iosched         |   25 +
>  block/Makefile                |    1 +
>  block/bfq-cgroup.c            |  743 +++++++++++++++
>  block/bfq-ioc.c               |  375 ++++++++
>  block/bfq-iosched.c           | 2010 +++++++++++++++++++++++++++++++++++++++++
>  block/bfq-sched.c             |  950 +++++++++++++++++++
>  block/bfq.h                   |  514 +++++++++++
>  block/blk-ioc.c               |   27 +-
>  block/cfq-iosched.c           |   10 +-
>  fs/ioprio.c                   |    9 +-
>  include/linux/cgroup_subsys.h |    6 +
>  include/linux/iocontext.h     |   18 +-
>  12 files changed, 4669 insertions(+), 19 deletions(-)
> 
> For a complete description of the algorithm and of its properties
> please refer to [2], (where extensive experiments on older hw can
> also be found), and for some performance measurements and implementation
> details, to [3].
> 
> [1] http://lkml.org/lkml/2008/4/1/234
> [2] http://algo.ing.unimo.it/people/paolo/disk_sched/
> [3] http://feanor.sssup.it/~fabio/linux/bfq/
> 
> As usual, any kind of feedback will be greatly appreciated, thanks
> in advance.
> 
> Fabio Checconi, Paolo Valente


  parent reply	other threads:[~2008-11-12  2:50 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-11 12:51 [PATCH 0/3] BFQ I/O Scheduler (second take) Fabio Checconi
2008-11-11 12:53 ` [PATCH 01/03] block: prepare I/O context code for BFQ Fabio Checconi
2008-11-11 12:56 ` [PATCH 02/03] block: introduce the BFQ I/O scheduler Fabio Checconi
2008-11-11 12:58 ` [PATCH 03/03] block: add cgroups, kconfig and build bits for BFQ Fabio Checconi
2008-11-12  2:48 ` Li Zefan [this message]
2008-11-12 12:38   ` [PATCH 0/3] BFQ I/O Scheduler (second take) Fabio Checconi

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=491A43E0.2080109@cn.fujitsu.com \
    --to=lizf@cn.fujitsu.com \
    --cc=containers@lists.linux-foundation.org \
    --cc=fabio@gandalf.sssup.it \
    --cc=fchecconi@gmail.com \
    --cc=jens.axboe@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paolo.valente@unimore.it \
    --cc=vgoyal@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox