From: James Bottomley <James.Bottomley-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
To: Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
Cc: Lennart Poettering
<lpoetter-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Tim Hockin <thockin-Rl2oBbRerpQdnm+yROfE0A@public.gmane.org>,
Michal Hocko <mhocko-AlSwsSmVLrQ@public.gmane.org>,
Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Mike Galbraith
<bitbucket-BGeptl67XyCzQB+pC5nmwQ@public.gmane.org>,
Li Zefan <lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>,
Containers
<containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
Cgroups <cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
bsingharora <bsingharora-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"dhaval.giani"
<dhaval.giani-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Kay Sievers <kay.sievers-tD+1rO4QERM@public.gmane.org>,
jpoimboe <jpoimboe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
"Daniel P. Berrange"
<berrange-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
workman-devel
<workman-devel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: cgroup: status-quo and userland efforts
Date: Wed, 03 Jul 2013 10:11:42 -0700 [thread overview]
Message-ID: <1372871502.3601.59.camel@dabdike> (raw)
In-Reply-To: <alpine.DEB.2.02.1307030021480.4013-3cz04HxQygjZikZi3RtOZ1XZhhPuCNm+@public.gmane.org>
On Wed, 2013-07-03 at 01:57 +0200, Thomas Gleixner wrote:
> Lennart,
>
> On Sun, 30 Jun 2013, Lennart Poettering wrote:
> > On 29.06.2013 05:05, Tim Hockin wrote:
> > > But that's not my point. It seems pretty easy to make this cgroup
> > > management (in "native mode") a library that can have either a thin
> > > veneer of a main() function, while also being usable by systemd. The
> > > point is to solve all of the problems ONCE. I'm trying to make the
> > > case that systemd itself should be focusing on features and policies
> > > and awesome APIs.
> >
> > You know, getting this all right isn't easy. If you want to do things
> > properly, then you need to propagate attribute changes between the units you
> > manage. You also need something like a scheduler, since a number of
> > controllers can only be configured under certain external conditions (for
> > example: the blkio or devices controller use major/minor parameters for
> > configuring per-device limits. Since major/minor assignments are pretty much
> > unpredictable these days -- and users probably want to configure things with
> > friendly and stable /dev/disk/by-id/* symlinks anyway -- this requires us to
> > wait for devices to show up before we can configure the parameters.) Soo...
> > you need a graph of units, where you can propagate things, and schedule things
> > based on some execution/event queue. And the propagation and scheduling are
> > closely intermingled.
>
> you are confusing policy and mechanisms.
>
> The access to cgroupfs is mechanism.
>
> The propagation of changes, the scheduling of cgroupfs access and
> the correlation to external conditions are policy.
>
> What Tim is asking for is to have a common interface, i.e. a library
> which implements the low level access to the cgroupfs mechanism
> without imposing systemd defined policies to it (It might implement a
> set of common useful policies, but that's a different discussion).
>
> That's definitely not an unreasonable request, because he wants to
> implement his own set of policies which are not necessarily the same
> as those which are implemented by systemd.
Could I just add a me too to this from Parallels. We need the ability
to impose our own container policy on the kernel mechanisms.
Perhaps I should step back a bit and say first of all that we all use
the word "container" a lot, but if you analyse what we mean, you'll find
that a Google container is different from a Parallels/OpenVZ container
which is different from an LXC container and so on. How we all build
our containers is a policy we impose on the various cgroup and namespace
mechanisms within the kernel. We've spent a lot of discussion time over
the years making sure that the kernel mechanisms support all of our
different use cases, so I really don't want to see that change in the
name of simplifying the API.
I also don't think any quest for the one true container will be
successful for the simple reason that containers are best when tuned for
the job they're doing. For instance at Parallels we do IaaS containers.
That means we can take a container, boot up any old Linux OS inside it
and give you root on it in exactly the same way as you could for a
virtual machine. Google does something more like application containers
for job control and some network companies do pure namespace containers
without any cgroup controllers at all. There's no one container
description that would fit all use cases.
So where we are is that the current APIs may be messy, but they support
all use cases and all container structure policies. If anyone, systemd
included, wants to do a new API, it must support all use cases as well.
Ideally, it should be agreed to and in the kernel as well rather than
having some userspace filter.
James
next prev parent reply other threads:[~2013-07-03 17:11 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-06 1:21 cgroup: status-quo and userland efforts Tejun Heo
[not found] ` <20130406012159.GA17159-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-04-08 13:46 ` Glauber Costa
[not found] ` <5162CA21.4060108-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2013-04-08 18:00 ` [Workman-devel] " Vivek Goyal
2013-04-08 18:26 ` Tejun Heo
2013-04-08 23:32 ` Lennart Poettering
[not found] ` <51635371.7070104-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-04-09 7:37 ` Glauber Costa
2013-04-09 19:11 ` Tejun Heo
2013-04-08 17:59 ` [Workman-devel] " Vivek Goyal
[not found] ` <20130408175925.GE28292-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-04-08 18:16 ` Tejun Heo
[not found] ` <20130408181607.GI3021-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2013-04-08 18:49 ` Tejun Heo
2013-04-08 19:11 ` Vivek Goyal
[not found] ` <20130408191105.GG28292-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-04-08 19:20 ` Tejun Heo
[not found] ` <20130408192024.GL3021-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2013-04-08 19:46 ` Vivek Goyal
[not found] ` <20130408194630.GH28292-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-04-08 20:02 ` Tejun Heo
2013-04-09 9:50 ` Daniel P. Berrange
[not found] ` <20130409095024.GI25576-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-04-09 19:38 ` Tejun Heo
[not found] ` <20130409193851.GJ6186-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-04-09 19:46 ` Tejun Heo
[not found] ` <20130409194640.GK6186-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-04-09 21:04 ` Serge Hallyn
2013-04-09 21:11 ` Tejun Heo
2013-04-16 11:17 ` Li Zefan
[not found] ` <516D333D.4040703-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2013-04-16 17:10 ` Tejun Heo
[not found] ` <20130416171056.GA2874-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-04-17 1:29 ` Li Zefan
2013-04-22 21:26 ` Tim Hockin
[not found] ` <CAAAKZwvh_R2Xz--bmSLiN33fsqKanOJMq_6+6hoFWFRx38O4gA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-22 21:41 ` Tejun Heo
[not found] ` <20130422214159.GG12543-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2013-04-22 22:33 ` Tim Hockin
[not found] ` <CAAAKZwuXJwwyj7KSqb7rZ+nrTwBWEaUCWfa7kWecTBnHL8koGw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-06-22 23:13 ` Tim Hockin
[not found] ` <CAAAKZwvP_7wBBYMmtFuiE2hZt=ByaLrnTyiR83CZr3OMip63Gg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-06-25 0:01 ` Tejun Heo
[not found] ` <20130625000118.GT1918-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-06-25 4:07 ` Tim Hockin
[not found] ` <CAAAKZwt09k-qUwLCnMpAQeYJ-S0XtkjXe4=bJ-G_fcrkAqEzoA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-06-26 21:20 ` Tejun Heo
[not found] ` <20130626212047.GB4536-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2013-06-27 0:06 ` Tim Hockin
2013-06-26 23:14 ` David Lang
[not found] ` <CAAAKZws1qkSik4G4pRr7z+067Jp9-jHfpx9-euqbvmdHjoN_Zg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-06-27 1:04 ` Tejun Heo
[not found] ` <20130627010427.GF4536-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2013-06-27 3:42 ` Tim Hockin
[not found] ` <CAAAKZwsMT7FRccyVxSn77GR8+9JsSeqmDO6oOy7ycNCY7Desnw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-06-27 17:38 ` Tejun Heo
[not found] ` <20130627173809.GB5599-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-06-27 20:46 ` Tim Hockin
[not found] ` <CAAAKZwvabGRsce43ymru7OBr0LX93DRnTVkzn-nhahTR6yMUZw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-06-27 21:04 ` Tejun Heo
[not found] ` <20130627210445.GA22860-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-06-28 18:44 ` Tim Hockin
[not found] ` <CAAAKZwtOnpATCmRcOpsXaLZ8sQDs2Z=iZb8FrqG=bajNAOBnRg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-06-29 16:40 ` Tejun Heo
2013-06-27 5:45 ` Mike Galbraith
[not found] ` <1372311907.5871.78.camel-YqMYhexLQo31wTEvPJ5Q0F6hYfS7NtTn@public.gmane.org>
2013-06-27 13:22 ` Serge Hallyn
2013-06-27 15:29 ` Tim Hockin
[not found] ` <CAAAKZwt9QdddFrEjvdBsi3sbQXScKyzY=vZpYXqTwjGUebH1Ag-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-06-27 16:18 ` Serge Hallyn
2013-06-27 17:48 ` Tejun Heo
[not found] ` <20130627174850.GC5599-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-06-27 18:14 ` Serge Hallyn
2013-06-27 18:45 ` Tejun Heo
[not found] ` <20130627184541.GA6400-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-06-27 18:51 ` Serge Hallyn
2013-06-27 18:52 ` Tejun Heo
2013-06-27 20:52 ` Tim Hockin
2013-06-28 9:09 ` [Workman-devel] " Daniel P. Berrange
[not found] ` <20130628090910.GB2507-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-06-28 15:53 ` Serge Hallyn
2013-06-28 18:58 ` Tim Hockin
2013-06-27 18:01 ` Tejun Heo
[not found] ` <20130627180143.GD5599-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2013-06-28 3:46 ` Mike Galbraith
[not found] ` <1372391198.5989.110.camel-YqMYhexLQo31wTEvPJ5Q0F6hYfS7NtTn@public.gmane.org>
2013-06-28 4:09 ` Tejun Heo
[not found] ` <20130628040930.GC2500-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2013-06-28 4:49 ` Mike Galbraith
[not found] ` <1372394950.5989.128.camel-YqMYhexLQo31wTEvPJ5Q0F6hYfS7NtTn@public.gmane.org>
2013-06-28 5:01 ` Tejun Heo
[not found] ` <20130628050138.GD2500-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2013-06-28 6:00 ` Mike Galbraith
2013-06-28 15:05 ` Michal Hocko
[not found] ` <20130628150513.GD5125-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-06-28 18:01 ` [Workman-devel] " Vivek Goyal
[not found] ` <20130628180155.GD16483-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-06-28 19:59 ` Daniel P. Berrange
[not found] ` <20130628195917.GG2507-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-06-28 22:40 ` Serge Hallyn
2013-06-28 22:43 ` Tejun Heo
2013-06-30 18:38 ` Michal Hocko
[not found] ` <20130630183838.GB23731-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-07-15 18:49 ` Vivek Goyal
[not found] ` <20130715184940.GG27338-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-07-23 14:48 ` Michal Hocko
2013-06-28 18:30 ` Tejun Heo
2013-06-28 18:53 ` Tim Hockin
[not found] ` <CAAAKZwtqYe-c0bfkgHFbzsOKVHifjTwkqcpci=uS1JwqS9TJHQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-06-28 19:01 ` Vrijendra (वृजेन्द्र) Gokhale
2013-06-29 1:48 ` Lennart Poettering
[not found] ` <51CE3CE0.9010506-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-06-29 3:05 ` Tim Hockin
[not found] ` <CAAAKZwuzhSzPj99HZW=KD4emGXZbcsjsUu=+TCpafhs9MKD2JA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-06-30 19:39 ` Lennart Poettering
[not found] ` <51D08976.6040005-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-07-01 6:06 ` Tim Hockin
2013-07-02 23:57 ` Thomas Gleixner
[not found] ` <alpine.DEB.2.02.1307030021480.4013-3cz04HxQygjZikZi3RtOZ1XZhhPuCNm+@public.gmane.org>
2013-07-03 0:44 ` Kay Sievers
[not found] ` <CAPXgP12AyogbFX_hPPmQD5GFG0-+_crsnHF3epDZSRds3-WNtQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-03 7:37 ` Borislav Petkov
2013-07-03 9:30 ` Thomas Gleixner
2013-07-09 23:12 ` Jiri Kosina
2013-07-03 17:11 ` James Bottomley [this message]
2013-06-28 19:18 ` Andy Lutomirski
[not found] ` <51CDE18E.8080009-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>
2013-06-28 19:36 ` Serge Hallyn
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=1372871502.3601.59.camel@dabdike \
--to=james.bottomley-d9phhud1jfjcxq6kfmz53/egyhegw8jk@public.gmane.org \
--cc=berrange-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=bitbucket-BGeptl67XyCzQB+pC5nmwQ@public.gmane.org \
--cc=bsingharora-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=dhaval.giani-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=jpoimboe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=kay.sievers-tD+1rO4QERM@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \
--cc=lpoetter-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=mhocko-AlSwsSmVLrQ@public.gmane.org \
--cc=tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \
--cc=thockin-Rl2oBbRerpQdnm+yROfE0A@public.gmane.org \
--cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=workman-devel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.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;
as well as URLs for NNTP newsgroup(s).