All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Righi <righiandr@users.sourceforge.net>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: balbir@linux.vnet.ibm.com, Valdis.Kletnieks@vt.edu,
	LKML <linux-kernel@vger.kernel.org>,
	Jens Axboe <jens.axboe@oracle.com>
Subject: Re: [RFC][PATCH] per-task I/O throttling
Date: Sat, 12 Jan 2008 19:01:14 +0100 (MET)	[thread overview]
Message-ID: <4789006C.2030804@users.sourceforge.net> (raw)
In-Reply-To: <1200136245.7999.20.camel@lappy>

Peter Zijlstra wrote:
> On Sat, 2008-01-12 at 16:27 +0530, Balbir Singh wrote:
>> * Peter Zijlstra <a.p.zijlstra@chello.nl> [2008-01-12 10:46:37]:
>>
>>> On Fri, 2008-01-11 at 23:57 -0500, Valdis.Kletnieks@vt.edu wrote:
>>>> On Fri, 11 Jan 2008 17:32:49 +0100, Andrea Righi said:
>>>>
>>>>> The interesting feature is that it allows to set a priority for each
>>>>> process container, but AFAIK it doesn't allow to "partition" the
>>>>> bandwidth between different containers (that would be a nice feature
>>>>> IMHO). For example it would be great to be able to define per-container
>>>>> limits, like assign 10MB/s for processes in container A, 30MB/s to
>>>>> container B, 20MB/s to container C, etc.
>>>> Has anybody considered allocating based on *seeks* rather than bytes moved,
>>>> or counting seeks as "virtual bytes" for the purposes of accounting (if the
>>>> disk can do 50mbytes/sec, and a seek takes 5millisecs, then count it as 100K
>>>> of data)?
>>> I was considering a time scheduler, you can fill your time slot with
>>> seeks or data, it might be what CFQ does, but I've never even read the
>>> code.
>>>
>> So far the definition of I/O bandwidth has been w.r.t time. Not all IO
>> devices have sectors; I'd prefer bytes over a period of time.
> 
> Doing a time based one would only require knowing the (avg) delay of
> seeks, whereas doing a bytes based one would also require knowing the
> (avg) speed of the device.
> 
> That is, if you're also interested in providing a latency guarantee.
> Because that'd force you to convert bytes to time again.

So, what about considering both bytes/sec and io-operations/sec? In this
way we should be able to limit huge streams of data and seek storms (or
any mix of them).

Regarding CFQ, AFAIK it's only possible to configure an I/O priorty for
a process, but there's no way for example to limit the bandwidth (or I/O
operations/sec) for a particular user or group.

-Andrea

  reply	other threads:[~2008-01-12 18:01 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-10 22:45 [RFC][PATCH] per-task I/O throttling Andrea Righi
2008-01-11  1:50 ` Bill Davidsen
2008-01-11 10:28   ` Andrea Righi
2008-01-11 14:20     ` Peter Zijlstra
2008-01-11 15:29       ` Andrea Righi
2008-01-11 14:05 ` David Newall
2008-01-11 15:44   ` Andrea Righi
2008-01-16 19:21     ` David Newall
2008-01-11 15:59 ` Balbir Singh
2008-01-11 16:32   ` Andrea Righi
2008-01-12  4:57     ` Valdis.Kletnieks
2008-01-12  9:46       ` Peter Zijlstra
2008-01-12 10:57         ` Balbir Singh
2008-01-12 11:10           ` Peter Zijlstra
2008-01-12 18:01             ` Andrea Righi [this message]
2008-01-13  4:46               ` Balbir Singh
2008-01-15 16:49                 ` [RFC][PATCH] per-uid/gid I/O throttling (was Re: [RFC][PATCH] per-task I/O throttling) Andrea Righi
2008-01-11 17:58                   ` Pavel Machek
2008-01-23 15:41                     ` Andrea Righi
2008-01-16 10:45                   ` Balbir Singh
2008-01-16 11:30                     ` Valdis.Kletnieks
2008-01-16 12:05                       ` Balbir Singh
2008-01-16 12:24                         ` Valdis.Kletnieks
2008-01-16 12:58                     ` Andrea Righi

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=4789006C.2030804@users.sourceforge.net \
    --to=righiandr@users.sourceforge.net \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=a.p.zijlstra@chello.nl \
    --cc=balbir@linux.vnet.ibm.com \
    --cc=jens.axboe@oracle.com \
    --cc=linux-kernel@vger.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 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.