From: Peter Zijlstra <peterz@infradead.org>
To: Tejun Heo <tj@kernel.org>
Cc: mingo@redhat.com, hannes@cmpxchg.org, lizefan@huawei.com,
cgroups@vger.kernel.org, linux-kernel@vger.kernel.org,
kernel-team@fb.com
Subject: Re: [PATCH 3/3] sched: Implement interface for cgroup unified hierarchy
Date: Tue, 4 Aug 2015 11:07:11 +0200 [thread overview]
Message-ID: <20150804090711.GL25159@twins.programming.kicks-ass.net> (raw)
In-Reply-To: <1438641689-14655-4-git-send-email-tj@kernel.org>
On Mon, Aug 03, 2015 at 06:41:29PM -0400, Tejun Heo wrote:
> While the cpu controller doesn't have any functional problems, there
> are a couple interface issues which can be addressed in the v2
> interface.
>
> * cpuacct being a separate controller. This separation is artificial
> and rather pointless as demonstrated by most use cases co-mounting
> the two controllers. It also forces certain information to be
> accounted twice.
>
> * Use of different time units. Writable control knobs use
> microseconds, some stat fields use nanoseconds while other cpuacct
> stat fields use centiseconds.
>
> * Control knobs which can't be used in the root cgroup still show up
> in the root.
>
> * Control knob names and semantics aren't consistent with other
> controllers.
What about the unified hierarchy stuff cannot deal with per-task
controllers?
_That_ was the biggest problem from what I can remember, and I see no
proposed resolution for that here.
> This patchset implements cpu controller's interface on the unified
> hierarchy which adheres to the controller file conventions described
> in Documentation/cgroups/unified-hierarchy.txt. Overall, the
> following changes are made.
>
> * cpuacct is implictly enabled and disabled by cpu and its information
> is reported through "cpu.stat" which now uses microseconds for all
> time durations. All time duration fields now have "_usec" appended
> to them for clarity. While this doesn't solve the double accounting
> immediately, once majority of users switch to v2, cpu can directly
> account and report the relevant stats and cpuacct can be disabled on
> the unified hierarchy.
>
> Note that cpuacct.usage_percpu is currently not included in
> "cpu.stat". If this information is actually called for, it can be
> added later.
Since you're rev'ing the interface, can't we simply kill the old cpuacct
and implement the missing pieces in cpu directly ?
> * "cpu.shares" is replaced with "cpu.weight" and operates on the
> standard scale defined by CGROUP_WEIGHT_MIN/DFL/MAX (1, 100, 10000).
> The weight is scaled to scheduler weight so that 100 maps to 1024
> and the ratio relationship is preserved - if weight is W and its
> scaled value is S, W / 100 == S / 1024. While the mapped range is a
> bit smaller than the orignal scheduler weight range, the dead zones
> on both sides are relatively small and covers wider range than the
> nice value mappings. This file doesn't make sense in the root
> cgroup and isn't create on root.
Not too thrilled about this, but if people can live with the reduced
resolution then I suppose we can do.
> * "cpu.cfs_quota_us" and "cpu.cfs_period_us" are replaced by "cpu.max"
> which contains both quota and period.
This is indeed a maximum limit, however
> * "cpu.rt_runtime_us" and "cpu.rt_period_us" are replaced by
> "cpu.rt.max" which contains both runtime and period.
the RT thing is conceptually more of a minimum guarantee, than a
maximum, even though the current implementation is both, there are plans
to allow (controlled) relaxation of the maximum part.
Also, if you're going to rev the interface, there's more changes we
should make. I'll have to go dig them out.
next prev parent reply other threads:[~2015-08-04 9:07 UTC|newest]
Thread overview: 150+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-03 22:41 [PATCHSET sched,cgroup] sched: Implement interface for cgroup unified hierarchy Tejun Heo
2015-08-03 22:41 ` Tejun Heo
2015-08-03 22:41 ` [PATCH 1/3] cgroup: define controller file conventions Tejun Heo
[not found] ` <1438641689-14655-2-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2015-08-04 8:42 ` Peter Zijlstra
2015-08-04 8:42 ` Peter Zijlstra
[not found] ` <20150804084257.GJ25159-ndre7Fmf5hadTX5a5knrm8zTDFooKrT+cvkQGrU6aU0@public.gmane.org>
2015-08-04 14:51 ` Tejun Heo
2015-08-04 14:51 ` Tejun Heo
2015-08-04 19:31 ` [PATCH v2 " Tejun Heo
2015-08-04 19:31 ` Tejun Heo
[not found] ` <20150804193101.GI17598-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2015-08-05 0:39 ` Kamezawa Hiroyuki
2015-08-05 0:39 ` Kamezawa Hiroyuki
2015-08-05 7:47 ` Michal Hocko
2015-08-06 2:30 ` Kamezawa Hiroyuki
[not found] ` <55C2C6B0.3080203-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2015-08-07 18:17 ` Michal Hocko
2015-08-07 18:17 ` Michal Hocko
2015-08-17 22:04 ` Johannes Weiner
2015-08-17 21:34 ` Johannes Weiner
2015-08-17 21:34 ` Johannes Weiner
2015-08-04 8:48 ` [PATCH " Peter Zijlstra
2015-08-04 14:53 ` Tejun Heo
2015-08-03 22:41 ` [PATCH 2/3] sched: Misc preps for cgroup unified hierarchy interface Tejun Heo
2015-08-03 22:41 ` [PATCH 3/3] sched: Implement interface for cgroup unified hierarchy Tejun Heo
2015-08-04 9:07 ` Peter Zijlstra [this message]
2015-08-04 15:10 ` Tejun Heo
[not found] ` <20150804151017.GD17598-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2015-08-05 9:10 ` Peter Zijlstra
2015-08-05 9:10 ` Peter Zijlstra
[not found] ` <20150805091036.GT25159-ndre7Fmf5hadTX5a5knrm8zTDFooKrT+cvkQGrU6aU0@public.gmane.org>
2015-08-05 14:31 ` Tejun Heo
2015-08-05 14:31 ` Tejun Heo
[not found] ` <20150805143132.GK17598-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2015-08-17 20:35 ` Tejun Heo
2015-08-17 20:35 ` Tejun Heo
[not found] ` <CAPM31RJTf0v=2v90kN6-HM9xUGab_k++upO0Ym=irmfO9+BbFw@mail.gmail.com>
2015-08-18 4:03 ` Paul Turner
2015-08-18 20:31 ` Tejun Heo
2015-08-18 20:31 ` Tejun Heo
2015-08-18 23:39 ` Kamezawa Hiroyuki
2015-08-19 16:23 ` Tejun Heo
[not found] ` <20150818203117.GC15739-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2015-08-19 3:23 ` Mike Galbraith
2015-08-19 3:23 ` Mike Galbraith
[not found] ` <1439954620.3479.30.camel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-19 16:41 ` Tejun Heo
2015-08-19 16:41 ` Tejun Heo
2015-08-20 4:00 ` Mike Galbraith
[not found] ` <1440043259.3515.84.camel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-20 7:52 ` Tejun Heo
2015-08-20 7:52 ` Tejun Heo
[not found] ` <20150820075232.GA27917-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2015-08-20 8:47 ` Mike Galbraith
2015-08-20 8:47 ` Mike Galbraith
2015-08-21 19:26 ` Paul Turner
2015-08-21 19:26 ` Paul Turner
2015-08-22 18:29 ` Tejun Heo
[not found] ` <20150822182916.GE20768-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2015-08-24 15:47 ` Austin S Hemmelgarn
2015-08-24 15:47 ` Austin S Hemmelgarn
2015-08-24 17:04 ` Tejun Heo
[not found] ` <20150824170427.GA27262-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2015-08-24 19:18 ` Mike Galbraith
2015-08-24 19:18 ` Mike Galbraith
2015-08-24 20:00 ` Austin S Hemmelgarn
2015-08-24 20:00 ` Austin S Hemmelgarn
[not found] ` <55DB77F1.5080802-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-24 20:25 ` Tejun Heo
2015-08-24 20:25 ` Tejun Heo
2015-08-24 21:00 ` Paul Turner
[not found] ` <CAPM31R+ckFO5vNG4L5+h-yokFaZQz6kHe5a+pkRCfbL0H+NjXg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-08-24 21:12 ` Tejun Heo
2015-08-24 21:12 ` Tejun Heo
[not found] ` <20150824211238.GI28944-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2015-08-24 21:15 ` Paul Turner
2015-08-24 21:15 ` Paul Turner
2015-08-24 20:54 ` Paul Turner
2015-08-24 20:54 ` Paul Turner
[not found] ` <CAPM31RJi07qs42YsH=4JQSbZ+J-zCLv8e7yELb3tF_qAZmLqRA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-08-24 21:02 ` Tejun Heo
2015-08-24 21:02 ` Tejun Heo
2015-08-24 21:10 ` Paul Turner
[not found] ` <CAPM31R+i7BD8x9h_6wZVTa0zCB7XP0SGL5dSA-n6h9PTeAEhug-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-08-24 21:17 ` Tejun Heo
2015-08-24 21:17 ` Tejun Heo
[not found] ` <20150824211707.GJ28944-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2015-08-24 21:19 ` Paul Turner
2015-08-24 21:19 ` Paul Turner
[not found] ` <CAPM31R+vt1oAPCB-q6570RqZtJVBu5MH=gcQD2m9mjauStV7MA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-08-24 21:40 ` Tejun Heo
2015-08-24 21:40 ` Tejun Heo
2015-08-24 22:03 ` Paul Turner
[not found] ` <CAPM31R+Mnk=AL6h05eMMQvPEEfnjkB3iGb+oZj28jAQ9-ajOxA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-08-24 22:49 ` Tejun Heo
2015-08-24 22:49 ` Tejun Heo
[not found] ` <20150824224936.GO28944-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2015-08-24 23:15 ` Paul Turner
2015-08-24 23:15 ` Paul Turner
2015-08-25 2:36 ` Kamezawa Hiroyuki
2015-08-25 2:36 ` Kamezawa Hiroyuki
[not found] ` <55DBD4A9.7080603-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2015-08-25 21:13 ` Tejun Heo
2015-08-25 21:13 ` Tejun Heo
2015-08-25 9:24 ` Ingo Molnar
[not found] ` <20150825092441.GA24131-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-25 10:00 ` Peter Zijlstra
2015-08-25 10:00 ` Peter Zijlstra
2015-08-25 19:18 ` Tejun Heo
2015-08-25 19:18 ` Tejun Heo
2015-08-24 20:52 ` Paul Turner
2015-08-24 21:36 ` Tejun Heo
2015-08-24 21:58 ` Paul Turner
[not found] ` <CAPM31RKCO-yxtVf+iUs8FOqk6uGSyixEXtx9zSzxQ1uOGtkDqQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-08-24 22:19 ` Tejun Heo
2015-08-24 22:19 ` Tejun Heo
[not found] ` <20150824221935.GN28944-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2015-08-24 23:06 ` Paul Turner
2015-08-24 23:06 ` Paul Turner
[not found] ` <CAPM31RK08pC3g9qx+TEw6PQvtHk8idKE3OALQN8cFr_QOuT3FA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-08-25 21:02 ` Tejun Heo
2015-08-25 21:02 ` Tejun Heo
[not found] ` <20150825210234.GE26785-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2015-09-02 17:03 ` Tejun Heo
2015-09-02 17:03 ` Tejun Heo
2015-09-09 12:49 ` Paul Turner
2015-09-09 12:49 ` Paul Turner
[not found] ` <CAPM31RJvrPL7S37=yhxMA5OGUFNUfPurTZ21nfH6eFRb15ZGtw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-09-12 14:40 ` Tejun Heo
2015-09-12 14:40 ` Tejun Heo
[not found] ` <20150912144007.GA8942-piEFEHQLUPpN0TnZuCh8vA@public.gmane.org>
2015-09-17 14:35 ` Peter Zijlstra
2015-09-17 14:35 ` Peter Zijlstra
[not found] ` <20150917143527.GJ3604-ndre7Fmf5hadTX5a5knrm8zTDFooKrT+cvkQGrU6aU0@public.gmane.org>
2015-09-17 14:53 ` Tejun Heo
2015-09-17 14:53 ` Tejun Heo
2015-09-17 15:42 ` Peter Zijlstra
2015-09-17 15:10 ` Peter Zijlstra
2015-09-17 15:10 ` Peter Zijlstra
[not found] ` <20150917151049.GB11639-ndre7Fmf5hadTX5a5knrm8zTDFooKrT+cvkQGrU6aU0@public.gmane.org>
2015-09-17 15:52 ` Tejun Heo
2015-09-17 15:52 ` Tejun Heo
[not found] ` <20150917155245.GF7205-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2015-09-17 15:53 ` Peter Zijlstra
2015-09-17 15:53 ` Peter Zijlstra
2015-09-17 23:29 ` Tejun Heo
2015-09-17 23:29 ` Tejun Heo
2015-09-18 11:27 ` Paul Turner
2015-09-18 11:27 ` Paul Turner
[not found] ` <CAPM31RLAtuaDbE9+nvMvgMB8zaOpxVcriCyE9qqszNM3XXTo5Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-10-01 18:46 ` Tejun Heo
2015-10-01 18:46 ` Tejun Heo
2015-10-15 11:42 ` Paul Turner
[not found] ` <CAPM31RKx0vT-9VFN=XASYM4iv4U5ZGZW93XRtJd_7mOHwu76NA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-10-23 22:21 ` Tejun Heo
2015-10-23 22:21 ` Tejun Heo
2015-10-24 4:36 ` Mike Galbraith
2015-10-25 2:18 ` Tejun Heo
[not found] ` <20151025021829.GA15471-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2015-10-25 3:43 ` Mike Galbraith
2015-10-25 3:43 ` Mike Galbraith
[not found] ` <1445744613.3180.60.camel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-10-27 3:16 ` Tejun Heo
2015-10-27 3:16 ` Tejun Heo
[not found] ` <20151027031656.GA11962-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2015-10-27 5:42 ` Mike Galbraith
2015-10-27 5:42 ` Mike Galbraith
[not found] ` <1445924531.2909.79.camel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-10-27 5:46 ` Tejun Heo
2015-10-27 5:46 ` Tejun Heo
2015-10-27 5:56 ` Mike Galbraith
[not found] ` <1445925402.2909.86.camel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-10-27 6:00 ` Tejun Heo
2015-10-27 6:00 ` Tejun Heo
[not found] ` <20151027060027.GA2888-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2015-10-27 6:08 ` Mike Galbraith
2015-10-27 6:08 ` Mike Galbraith
2015-10-25 3:54 ` Linus Torvalds
[not found] ` <CA+55aFzMdG5VPA0ZvoFANj-H-7LHeu=JUvvqPykF_w5Nd0pnSA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-10-25 9:33 ` Ingo Molnar
2015-10-25 9:33 ` Ingo Molnar
[not found] ` <20151025093331.GA4834-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-10-25 10:41 ` Theodore Ts'o
2015-10-25 10:41 ` Theodore Ts'o
2015-10-25 10:47 ` Florian Weimer
[not found] ` <562CB328.3090906-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-10-25 11:58 ` Theodore Ts'o
2015-10-25 11:58 ` Theodore Ts'o
2015-10-25 13:17 ` Florian Weimer
2015-10-25 13:40 ` Getrandom wrapper Theodore Ts'o
2015-10-26 13:32 ` Florian Weimer
2015-10-26 14:10 ` [PATCH 3/3] sched: Implement interface for cgroup unified hierarchy Peter Zijlstra
[not found] ` <1438641689-14655-4-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2015-08-04 19:32 ` [PATCH v2 " Tejun Heo
2015-08-04 19:32 ` 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=20150804090711.GL25159@twins.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=cgroups@vger.kernel.org \
--cc=hannes@cmpxchg.org \
--cc=kernel-team@fb.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lizefan@huawei.com \
--cc=mingo@redhat.com \
--cc=tj@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.