public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Peter Williams <peterw@aurema.com>
To: Chris Friesen <cfriesen@nortel.com>
Cc: Peter Williams <pwil3058@bigpond.net.au>,
	Andrew Morton <akpm@osdl.org>, Kirill Korotaev <dev@openvz.org>,
	Srivatsa <vatsa@in.ibm.com>,
	CKRM <ckrm-tech@lists.sourceforge.net>,
	Balbir Singh <bsingharora@gmail.com>,
	Mike Galbraith <efault@gmx.de>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	Con Kolivas <kernel@kolivas.org>, Sam Vilain <sam@vilain.net>,
	Kingsley Cheung <kingsley@aurema.com>,
	Ingo Molnar <mingo@elte.hu>,
	Rene Herman <rene.herman@keyaccess.nl>
Subject: Re: [ckrm-tech] [PATCH 0/4] sched: Add CPU rate caps
Date: Tue, 20 Jun 2006 09:28:55 +1000	[thread overview]
Message-ID: <44973337.2060604@aurema.com> (raw)
In-Reply-To: <4496F310.9010807@nortel.com>

Chris Friesen wrote:
> Peter Williams wrote:
>> These patches implement CPU usage rate limits for tasks.
> 
> Personally, I'm more comfortable with guarantees rather than limits.

It's not an "either or" situation.  You can have both.

As I said recently in other mail on this topic, the only thing that 
needs to be resolved when you have both caps and guarantees is which one 
has precedence if they conflict.  Of course, one solution to this is to 
disallow conflicting caps and guarantees but that is really just the 
same as saying whichever was set first has precedence.

> 
> Specifying a limit doesn't do anything to ensure that a task (or group 
> of tasks) gets enough cpu time to actually accomplish anything unless 
> you specify limits on every task in the system.

No, but it can be used to make sure certain tasks don't hog the CPU and 
prevent other tasks from getting their job done.

> 
> Suppose you have a server app that needs at least 50% of the cpu.  With 
> a guarantee, you can say "this guy needs 50%, and I don't care about 
> anything else".  With limits you have to flip it around--"all these guys 
> together are limited to 50%, and that guy isn't limited".  Seems 
> counterintuitive.

Yes, guarantees would be better for that problem but this doesn't mean 
that caps are useless.  Also an equivalent situation where caps are a 
better solution to guarantees would be easy to generate.  Ergo both 
mechanisms are useful.

For the ordinary user, I think that the most useful feature of this 
patch is the ability to impose a soft cap of zero on a task and for that 
cap to be inherited by its children (which it is).  This is a very 
useful for running a job (such as a kernel build) in the background.  If 
you look at the kernbench numbers that I enclosed you will note that, in 
the absence of other load on the computer, the increase in the build 
time using this feature is very small.  The advantages of having the 
build run in the background are improved responsiveness for those 
interactive tasks we're using (e.g. editing files, reading/writing mail 
etc.) while the build is in progress.

Peter
-- 
Dr Peter Williams, Chief Scientist         <peterw@aurema.com>
Aurema Pty Limited
Level 2, 130 Elizabeth St, Sydney, NSW 2000, Australia
Tel:+61 2 9698 2322  Fax:+61 2 9699 9174 http://www.aurema.com

      reply	other threads:[~2006-06-19 23:29 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-18  8:26 [PATCH 0/4] sched: Add CPU rate caps Peter Williams
2006-06-18  8:26 ` [PATCH 1/4] sched: Add CPU rate soft caps Peter Williams
2006-06-18  8:38   ` Con Kolivas
2006-06-18 15:52     ` Peter Williams
2006-06-19  1:21   ` Peter Williams
2006-06-18  8:26 ` [PATCH 2/4] sched: Add CPU rate hard caps Peter Williams
2006-06-18  8:27 ` [PATCH 3/4] sched: Add procfs interface for CPU rate soft caps Peter Williams
2006-06-18  8:27 ` [PATCH 4/4] sched: Add procfs interface for CPU rate hard caps Peter Williams
2006-06-18  9:50 ` [PATCH 0/4] sched: Add CPU rate caps Andrew Morton
2006-06-18 10:25   ` Peter Williams
2006-06-18 11:42     ` Srivatsa Vaddagiri
2006-06-18 12:19       ` Peter Williams
2006-06-19  0:13     ` Balbir Singh
2006-06-19  1:03       ` [ckrm-tech] " Peter Williams
2006-06-19  2:20         ` Balbir Singh
2006-06-19  3:17           ` Peter Williams
2006-06-19  3:31             ` Balbir Singh
2006-06-19  3:50               ` Peter Williams
2006-06-19  8:30                 ` Balbir Singh
2006-06-19 11:35                   ` Peter Williams
2006-06-19 11:33                     ` Balbir Singh
2006-06-19 23:09                       ` Peter Williams
2006-06-20  4:28           ` Peter Williams
2006-06-20  4:40             ` Balbir Singh
2006-06-20  5:56               ` Peter Williams
2006-06-19  5:04     ` Peter Williams
2006-06-19 23:59   ` Peter Williams
2006-06-19 18:55 ` [ckrm-tech] " Chris Friesen
2006-06-19 23:28   ` Peter Williams [this message]

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=44973337.2060604@aurema.com \
    --to=peterw@aurema.com \
    --cc=akpm@osdl.org \
    --cc=bsingharora@gmail.com \
    --cc=cfriesen@nortel.com \
    --cc=ckrm-tech@lists.sourceforge.net \
    --cc=dev@openvz.org \
    --cc=efault@gmx.de \
    --cc=kernel@kolivas.org \
    --cc=kingsley@aurema.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=pwil3058@bigpond.net.au \
    --cc=rene.herman@keyaccess.nl \
    --cc=sam@vilain.net \
    --cc=vatsa@in.ibm.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