public inbox for cgroups@vger.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Zefan Li <lizefan@huawei.com>,
	Mike Galbraith <umgwanakikbuti@gmail.com>,
	Ingo Molnar <mingo@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Cgroups <cgroups@vger.kernel.org>
Subject: Re: [PATCH] sched: Relax a restriction in sched_rt_can_attach()
Date: Tue, 5 May 2015 12:31:12 -0400	[thread overview]
Message-ID: <20150505163112.GU1971@htj.duckdns.org> (raw)
In-Reply-To: <20150505151949.GQ21418@twins.programming.kicks-ass.net>

Hello, Peter.

On Tue, May 05, 2015 at 05:19:49PM +0200, Peter Zijlstra wrote:
> > I don't think we can kludge this.  For all other resources, we're
> > defining the limits that can't be crossed so nesting them w/ -1 by
> > default is fine.  RR slices are different it that we're really slicing
> > up and guaranteeing a portion of something finite, so unlimited by
> > default thing doesn't really work here.
> 
> Note that you _could_ do the same thing with IO bandwidth; esp. with
> these modern no-seek-penalty devices this could make sense.

Yeah, maybe.  It currently is too unpredictable to do that (at least
from OS side w/ all the layering) but that is a possibility.

> > The problem is that this is tied to the normal cpu controller.  Users
> > who don't have any intention of mucking with RT scheduling end up
> > being dragged into it.  Given the strict nature of RR slicing, I'm
> > don't even think it's actually useful to make the slicing
> > hierarchical.  From cgroup's POV, it'd be best if RR slicing can be
> > detached.
> 
> Like in the other mail; hierarchy still makes perfect sense for the
> container case.

We'd still need an on-demand arbitration mechanism across containers
no matter what we do which might as well take care of everything.  But
please see below.

> > > The whole RR/FIFO thing is so enormously broken (by definition; this
> > > truly is unfixable) that you simply _cannot_ automate it.
> > 
> > Yeah, exactly.
> 
> I don't think you're quite agreeing to the same reasons I am. My main
> objection to the whole SCHED_RR/FIFO thing as defined by POSIX is that
> it does not in fact allow the OS to do what an OS _should_ do, namely
> resource arbitration and control.
> 
> The whole rt-cgroup controller tries to somewhat contain that, but
> fundamentally once you use RR/FIFO you've given up your system to
> userspace control -- which btw is why its usually limited to root.
> 
> SCHED_DEADLINE avoids all these problems, at the cost of a more complex
> setup.
> 
> But the fact that both need fixed portions of a limited total does not
> in fact mean they're broken.

But that does make them pretty different from others.  What bothers me
the most about RR slices right now is that it's tightly coupled with
the rest of cpu controller while having a very different set of
characteristics.  Maybe this is something mandated by the underlying
structure and we have to live with it but it definitely isn't an ideal
situation.

What I don't want to happen is controllers failing migrations
willy-nilly for random reasons leaving users baffled, which we've
actually been doing unfortunately.  Maybe we need to deal with this
fixed resource arbitration as a separate class and allow them to fail
migration w/ -EBUSY.

Thanks.

-- 
tejun

  reply	other threads:[~2015-05-05 16:31 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-04  0:54 [PATCH] sched: Relax a restriction in sched_rt_can_attach() Zefan Li
     [not found] ` <5546C34C.7050202-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2015-05-04  3:13   ` Mike Galbraith
     [not found]     ` <1430709236.3129.42.camel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-05-04  4:39       ` Zefan Li
     [not found]         ` <5546F80B.3070802-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2015-05-04  5:10           ` Mike Galbraith
     [not found]             ` <1430716247.3129.44.camel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-05-04  5:39               ` Mike Galbraith
     [not found]                 ` <1430717964.3129.62.camel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-05-04  9:11                   ` Zefan Li
     [not found]                     ` <554737AE.5040402-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2015-05-04 12:08                       ` Mike Galbraith
2015-05-04 12:37                       ` Peter Zijlstra
2015-05-04 14:09                         ` Mike Galbraith
     [not found]                           ` <1430748582.3166.16.camel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-05-05  3:46                             ` Zefan Li
     [not found]                               ` <55483CF8.8030908-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2015-05-05  6:02                                 ` Mike Galbraith
     [not found]                         ` <20150504123738.GZ21418-ndre7Fmf5hadTX5a5knrm8zTDFooKrT+cvkQGrU6aU0@public.gmane.org>
2015-05-05  3:54                           ` Zefan Li
2015-05-05 14:10                             ` Peter Zijlstra
2015-05-05 14:18                               ` Tejun Heo
2015-05-05 15:19                                 ` Peter Zijlstra
2015-05-05 16:31                                   ` Tejun Heo [this message]
2015-05-05 19:00                                     ` Peter Zijlstra
     [not found]                                       ` <20150505190057.GR23123-ndre7Fmf5hadTX5a5knrm8zTDFooKrT+cvkQGrU6aU0@public.gmane.org>
2015-05-05 19:06                                         ` Tejun Heo
     [not found]                                           ` <20150505190603.GZ1971-piEFEHQLUPpN0TnZuCh8vA@public.gmane.org>
2015-05-06  8:49                                             ` Peter Zijlstra
2015-05-05 14:41                         ` Tejun Heo
2015-05-05 15:11                           ` Peter Zijlstra
2015-05-05 16:13                             ` Tejun Heo
2015-05-05 16:50                               ` Peter Zijlstra
2015-05-05 18:29                                 ` Thomas Gleixner
2015-05-05 19:00                                   ` Tejun Heo
2015-05-06  9:12                                     ` Thomas Gleixner
2015-05-05 18:31                                 ` Tejun Heo
2015-05-05 14:09                   ` Tejun Heo

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=20150505163112.GU1971@htj.duckdns.org \
    --to=tj@kernel.org \
    --cc=cgroups@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=umgwanakikbuti@gmail.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