mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Paul Menage <menage@google.com>
To: vatsa@in.ibm.com
Cc: bharata@linux.vnet.ibm.com, linux-kernel@vger.kernel.org,
	Dhaval Giani <dhaval@linux.vnet.ibm.com>,
	Balbir Singh <balbir@linux.vnet.ibm.com>,
	Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>,
	Gautham R Shenoy <ego@in.ibm.com>, Ingo Molnar <mingo@elte.hu>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Pavel Emelyanov <xemul@openvz.org>, Avi Kivity <avi@redhat.com>,
	kvm@vger.kernel.org,
	Linux Containers <containers@lists.linux-foundation.org>,
	Herbert Poetzl <herbert@13thfloor.at>
Subject: Re: [RFC] CPU hard limits
Date: Fri, 5 Jun 2009 05:18:13 -0700	[thread overview]
Message-ID: <6599ad830906050518t6cd7d477h36a187f2eaf55578@mail.gmail.com> (raw)
In-Reply-To: <20090605113217.GA20786@in.ibm.com>

On Fri, Jun 5, 2009 at 4:32 AM, Srivatsa Vaddagiri<vatsa@in.ibm.com> wrote:
>
> I think the interval over which we need guarantee matters here. Shares
> can generally provide guaranteed share of resource over longer (sometimes
> minutes) intervals. For high-priority bursty workloads, the latency in
> achieving guaranteed resource usage matters.

Well yes, it's true that you *could* just enforce shares over a
granularity of minutes, and limits over a granularity of milliseconds.
But why would you? It could well make sense that you can adjust the
granularity over which shares are enforced - e.g. for batch jobs, only
enforcing over minutes or tens of seconds might be fine. But if you're
doing the fine-grained accounting and scheduling required for the
tight hard limit enforcement, it doesn't seem as though it should be
much harder to enforce shares at the same granularity for those
cgroups that matter. In fact I thought that's what CFS already did -
updated the virtual time accounting at each context switch, and picked
the runnable child with the oldest virtual time. (Maybe someone like
Ingo or Peter who's more familiar than I with the CFS implementation
could comment here?)

> By having hard-limits, we are
> "reserving" (potentially idle) slots where the high-priority group can run and
> claim its guaranteed share almost immediately.

But you can always create an "idle" slot by forcibly preempting
whatever's running currently when you need to - you don't need to keep
the CPU deliberately idle just in case a cgroup with a guarantee wakes
up.

Paul

  reply	other threads:[~2009-06-05 12:18 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-04  5:36 Bharata B Rao
2009-06-04 12:19 ` Avi Kivity
2009-06-04 21:32   ` Mike Waychison
2009-06-05  3:03   ` Bharata B Rao
2009-06-05  3:33     ` Avi Kivity
2009-06-05  4:37       ` Balbir Singh
2009-06-05  4:44         ` Avi Kivity
2009-06-05  4:49           ` Balbir Singh
2009-06-05  5:09             ` Chris Friesen
2009-06-05  5:13               ` Balbir Singh
2009-06-05  5:10             ` Balbir Singh
2009-06-05  5:21               ` Avi Kivity
2009-06-05  5:27                 ` Balbir Singh
2009-06-05  5:31                   ` Bharata B Rao
2009-06-05  6:01                     ` Avi Kivity
2009-06-05  8:16                       ` Bharata B Rao
2009-06-07  6:04                         ` Avi Kivity
2009-06-07 16:14                           ` Bharata B Rao
2009-06-05  9:39                       ` Balbir Singh
2009-06-05 13:14                         ` Avi Kivity
2009-06-05 13:42                           ` Balbir Singh
2009-06-07  6:09                             ` Avi Kivity
2009-06-05 14:54                           ` Chris Friesen
2009-06-07  6:10                             ` Avi Kivity
2009-06-05  9:24                     ` Balbir Singh
2009-06-05  6:03                   ` Avi Kivity
2009-06-05  6:32                     ` Bharata B Rao
2009-06-05 12:57                       ` Avi Kivity
2009-06-05  5:16             ` Avi Kivity
2009-06-05  5:20               ` Balbir Singh
2009-06-05  3:07   ` Balbir Singh
2009-06-05  8:53 ` Paul Menage
2009-06-05  9:27   ` Bharata B Rao
2009-06-05  9:32     ` Paul Menage
2009-06-05  9:48       ` Dhaval Giani
2009-06-05  9:51         ` Paul Menage
2009-06-05  9:59           ` Dhaval Giani
2009-06-05 10:03             ` Paul Menage
2009-06-08  8:50               ` Pavel Emelyanov
2009-06-05  9:36   ` Balbir Singh
2009-06-05  9:48     ` Paul Menage
2009-06-05  9:55       ` Balbir Singh
2009-06-05  9:57         ` Paul Menage
2009-06-05 10:02         ` Paul Menage
2009-06-05 11:32   ` Srivatsa Vaddagiri
2009-06-05 12:18     ` Paul Menage [this message]
2009-06-07 10:11       ` Srivatsa Vaddagiri
2009-06-07 15:35         ` Balbir Singh
2009-06-08  4:37           ` Srivatsa Vaddagiri
2009-06-05 14:44     ` Chris Friesen
2009-06-05 13:02   ` Avi Kivity
2009-06-05 13:43     ` Dhaval Giani
2009-06-05 14:45       ` Chris Friesen
2009-06-05  9:02 ` Reinhard Tartler

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=6599ad830906050518t6cd7d477h36a187f2eaf55578@mail.gmail.com \
    --to=menage@google.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=avi@redhat.com \
    --cc=balbir@linux.vnet.ibm.com \
    --cc=bharata@linux.vnet.ibm.com \
    --cc=containers@lists.linux-foundation.org \
    --cc=dhaval@linux.vnet.ibm.com \
    --cc=ego@in.ibm.com \
    --cc=herbert@13thfloor.at \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=svaidy@linux.vnet.ibm.com \
    --cc=vatsa@in.ibm.com \
    --cc=xemul@openvz.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

all inboxes | Powered by JetHome®