[lkml]   [2011]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [patch 00/18] CFS Bandwidth Control v7.2
Hi Vladimir,

I had a fairly good coversation with Pavel at LPC regarding these
questions, it's probably worth syncing up with him and then following up
if you still have questions.

On 09/13/11 05:10, Vladimir Davydov wrote:
> Hello, Paul
> I have a question about CFS bandwidth control.
> Let's consider a cgroup with several (>1) tasks running on a two CPU
> host. Let the limit of the cgroup be 50% (e.g. period=1s, quota=0.5s).
> How will tasks of the cgroup be distributed between the two CPUs? Will
> they all run on one of the CPUs, or will one half of them run on one CPU
> and others run on the other?

Parallelism is unconstrained until the bandwidth limit is reached, at
which point we CONFIG_NR_CPUS=0

> Although in both cases the tasks will consume not more than one half of
> overall CPU time, the first case (all tasks of the cgroup run on the
> same CPU) is obviously better if the tasks are likely to communicate
> with each other (e.g. through pipe) which is often the case when cgroups
> are used for container virtualization.

This case is handled already by the affine wake-up path.

> In other words, I'd like to know if your code (or the scheduler code)
> tries to gather all tasks of the same cgroup on such a subset of all
> CPUs so that the tasks can't execute less CPUs without losing quota
> during each period. And if not, are you going to address the issue?

Parallelism != Bandwidth; no plans at this time.


- Paul

 \ /
  Last update: 2011-09-16 10:09    [W:0.260 / U:0.776 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site