From: Glauber Costa <glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
To: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Lennart Poettering
<lennart-mdGvqq1h2p+GdvJs77BJ7Q@public.gmane.org>,
Neil Horman <nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>,
"Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>,
containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
Kay Sievers <kay.sievers-tD+1rO4QERM@public.gmane.org>,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Michal Hocko <mhocko-AlSwsSmVLrQ@public.gmane.org>,
Paul Mackerras <paulus-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org>,
"Aneesh Kumar K.V"
<aneesh.kumar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>,
Arnaldo Carvalho de Melo
<acme-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>,
Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>,
Thomas Graf <tgraf-G/eBtMaohhA@public.gmane.org>,
cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Paul Turner <pjt-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
Ingo Molnar <mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [RFC] cgroup TODOs
Date: Fri, 14 Sep 2012 12:16:31 +0400 [thread overview]
Message-ID: <5052E7DF.7040000@parallels.com> (raw)
In-Reply-To: <20120913205827.GO7677-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
First:
Can we please keep some key userspace guys CCd?
> 1. cpu and cpuacct
>
> They cover the same resources and the scheduler cgroup code ends up
> having to traverse two separate cgroup trees to update the stats.
> With nested cgroups, the overhead isn't insignificant and it
> generally is silly.
>
> While the use cases for having cpuacct on a separate and likely more
> granular hierarchy, are somewhat valid, the consensus seems that
> it's just not worth the trouble and cpuacct should be removed in the
> long term and we shouldn't allow overlapping controllers for the
> same resource, especially accounting ones.
>
> Solution:
>
> * Whine if cpuacct is not co-mounted with cpu.
>
> * Make sure cpu has all the stats of cpuacct. If cpu and cpuacct
> are comounted, don't really mount cpuacct but tell cpu that the
> user requested it. cpu is updated to create aliases for cpuacct.*
> files in such cases. This involves special casing cpuacct in
> cgroup core but I much prefer one-off exception case to adding a
> generic mechanism for this.
>
> * After a while, we can just remove cpuacct completely.
>
> * Later on, phase out the aliases too.
>
> Who:
>
> Me, working on it.
I can work on it as well if you want. I dealt with it many times in the
past, and tried some different approaches, so I am familiar. But if
you're already doing it, be my guest...
>
> 2. memcg's __DEPRECATED_clear_css_refs
>
> This is a remnant of another weird design decision of requiring
> synchronous draining of refcnts on cgroup removal and allowing
> subsystems to veto cgroup removal - what's the userspace supposed to
> do afterwards? Note that this also hinders co-mounting different
> controllers.
>
> The behavior could be useful for development and debugging but it
> unnecessarily interlocks userland visible behavior with in-kernel
> implementation details. To me, it seems outright wrong (either
> implement proper severing semantics in the controller or do full
> refcnting) and disallows, for example, lazy drain of caching refs.
> Also, it complicates the removal path with try / commit / revert
> logic which has never been fully correct since the beginning.
>
> Currently, the only left user is memcg.
>
> Solution:
>
> * Update memcg->pre_destroy() such that it never fails.
>
> * Drop __DEPRECATED_clear_css_refs and all related logic.
> Convert pre_destroy() to return void.
>
> Who:
>
> KAMEZAWA, Michal, PLEASE. I will make __DEPRECATED_clear_css_refs
> trigger WARN sooner or later. Let's please get this settled.
>
> 3. cgroup_mutex usage outside cgroup core
>
> This is another thing which is simply broken. Given the way cgroup
> is structured and used, nesting cgroup_mutex inside any other
> commonly used lock simply doesn't work - it's held while invoking
> controller callbacks which then interact and synchronize with
> various core subsystems.
>
> There are currently three external cgroup_mutex users - cpuset,
> memcontrol and cgroup_freezer.
>
> Solution:
>
> Well, we should just stop doing it - use a separate nested lock
> (which seems possible for cgroup_freezer) or track and mange task
> in/egress some other way.
>
> Who:
>
> I'll do the cgroup_freezer. I'm hoping PeterZ or someone who's
> familiar with the code base takes care of cpuset. Michal, can you
> please take care of memcg?
>
I think this is a pressing problem, yes, but not the only problem with
cgroup lock. Even if we restrict its usage to cgroup core, we still can
call cgroup functions, which will lock. And then we gain nothing.
And the problem is that people need to lock. cgroup_lock is needed
because the data you are accessing is protected by it. The way I see it,
it is incredible how we were able to revive the BKL in the form of
cgroup_lock after we finally manage to successfully get rid of it!
We should just start to do a more fine grained locking of data, instead
of "stop the world, cgroup just started!". If we do that, the problem
you are trying to address here will even cease to exist.
> 4. Make disabled controllers cheaper
>
> Mostly through the use of static_keys, I suppose. Making this
> easier AFAICS depends on resolving #2. The lock dependency loop
> from #2 makes using static_keys from cgroup callbacks extremely
> nasty.
>
> Solution:
>
> Fix #2 and support common pattern from cgroup core.
>
> Who:
>
> Dunno. Let's see.
I've been doing it for kmem related controllers, and by trying to do it
with cpu/cpuacct, I became quite familiar with the corner cases, etc. I
can happily tackle it.
>
> 5. I CAN HAZ HIERARCHIES?
>
> The cpu ones handle nesting correctly - parent's accounting includes
> children's, parent's configuration affects children's unless
> explicitly overridden, and children's limits nest inside parent's.
>
> memcg asked itself the existential question of to be hierarchical or
> not and then got confused and decided to become both.
>
> When faced with the same question, blkio and cgroup_freezer just
> gave up and decided to allow nesting and then ignore it - brilliant.
>
> And there are others which kinda sorta try to handle hierarchy but
> only goes way-half.
>
> This one is screwed up embarrassingly badly. We failed to establish
> one of the most basic semantics and can't even define what a cgroup
> hierarchy is - it depends on each controller and they're mostly
> wacky!
>
> Fortunately, I don't think it will be prohibitively difficult to dig
> ourselves out of this hole.
>
> Solution:
>
> * cpu ones seem fine.
>
> * For broken controllers, cgroup core will be generating warning
> messages if the user tries to nest cgroups so that the user at
> least can know that the behavior may change underneath them later
> on. For more details,
>
> http://thread.gmane.org/gmane.linux.kernel/1356264/focus=3902
>
> * memcg can be fully hierarchical but we need to phase out the flat
> hierarchy support. Unfortunately, this involves flipping the
> behavior for the existing users. Upstream will try to nudge users
> with warning messages. Most burden would be on the distros and at
> least SUSE seems to be on board with it. Needs coordination with
> other distros.
>
> * blkio is the most problematic. It has two sub-controllers - cfq
> and blk-throttle. Both are utterly broken in terms of hierarchy
> support and the former is known to have pretty hairy code base. I
> don't see any other way than just biting the bullet and fixing it.
>
> * cgroup_freezer and others shouldn't be too difficult to fix.
>
> Who:
>
> memcg can be handled by memcg people and I can handle cgroup_freezer
> and others with help from the authors. The problematic one is
> blkio. If anyone is interested in working on blkio, please be my
> guest. Vivek? Glauber?
I am happy to help where manpower is needed, but I must node I am a bit
ignorant of block in general.
>
> 6. Multiple hierarchies
>
> Apart from the apparent wheeeeeeeeness of it (I think I talked about
> that enough the last time[1]), there's a basic problem when more
> than one controllers interact - it's impossible to define a resource
> group when more than two controllers are involved because the
> intersection of different controllers is only defined in terms of
> tasks.
>
> IOW, if an entity X is of interest to two controllers, there's no
> way to map X to the cgroups of the two controllers. X may belong to
> A and B when viewed by one task but A' and B when viewed by another.
> This already is a head scratcher in writeback where blkcg and memcg
> have to interact.
>
> While I am pushing for unified hierarchy, I think it's necessary to
> have different levels of granularities depending on controllers
> given that nesting involves significant overhead and noticeable
> controller-dependent behavior changes.
>
> Solution:
>
> I think a unified hierarchy with the ability to ignore subtrees
> depending on controllers should work. For example, let's assume the
> following hierarchy.
>
> R
> / \
> A B
> / \
> AA AB
>
> All controllers are co-mounted. There is per-cgroup knob which
> controls which controllers nest beyond it. If blkio doesn't want to
> distinguish AA and AB, the user can specify that blkio doesn't nest
> beyond A and blkio would see the tree as,
>
> R
> / \
> A B
>
> While other controllers keep seeing the original tree. The exact
> form of interface, I don't know yet. It could be a single file
> which the user echoes [-]controller name into it or per-controller
> boolean file.
>
> I think this level of flexibility should be enough for most use
> cases. If someone disagrees, please voice your objections now.
>
Do you realize this is the exact same thing I proposed in our last
round, and you keep screaming saying you wanted something else, right?
The only difference is that the discussion at the time started by a
forced-comount patch, but that is not the core of the question. For that
you are proposing to make sense, the controllers need to be comounted,
and at some point we'll have to enforce it. Be it now or in the future.
But what to do when they are in fact comounted, I see no difference from
what you are saying, and what I said.
> I *think* this can be achieved by changing where css_set is bound.
> Currently, a css_set is (conceptually) owned by a task. After the
> change, a cgroup in the unified hierarchy has its own css_set which
> tasks point to and can also be used to tag resources as necessary.
> This way, it should be achieveable without introducing a lot of new
> code or affecting individual controllers too much.
>
> The headache will be the transition period where we'll probably have
> to support both modes of operation. Oh well....
>
> Who:
>
> Li, Glauber and me, I guess?
>
> 7. Misc issues
>
> * Sort & unique when listing tasks. Even the documentation says it
> doesn't happen but we have a good hunk of code doing it in
> cgroup.c. I'm gonna rip it out at some point. Again, if you
> don't like it, scream.
>
In all honesty, I never noticed that. ugh
next prev parent reply other threads:[~2012-09-14 8:16 UTC|newest]
Thread overview: 163+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-13 20:58 [RFC] cgroup TODOs Tejun Heo
2012-09-13 20:58 ` Tejun Heo
2012-09-14 11:15 ` Peter Zijlstra
2012-09-14 12:54 ` Daniel P. Berrange
2012-09-14 12:54 ` Daniel P. Berrange
[not found] ` <20120914125427.GW6819-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-09-14 8:55 ` Glauber Costa
2012-09-14 17:53 ` Tejun Heo
2012-09-14 17:53 ` Tejun Heo
2012-09-14 17:53 ` Tejun Heo
[not found] ` <20120913205827.GO7677-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-09-14 8:16 ` Glauber Costa [this message]
[not found] ` <5052E7DF.7040000-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-14 9:12 ` Li Zefan
2012-09-14 9:12 ` Li Zefan
[not found] ` <5052F4FF.6070508-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2012-09-14 11:22 ` Peter Zijlstra
2012-09-14 11:22 ` Peter Zijlstra
2012-09-14 17:59 ` Tejun Heo
2012-09-14 17:59 ` Tejun Heo
[not found] ` <20120914175944.GF17747-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-09-14 18:23 ` Peter Zijlstra
2012-09-14 18:23 ` Peter Zijlstra
2012-09-14 18:33 ` Tejun Heo
2012-09-14 18:33 ` Tejun Heo
2012-09-14 17:43 ` Tejun Heo
2012-09-14 17:43 ` Tejun Heo
[not found] ` <20120914174329.GD17747-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-09-17 8:50 ` Glauber Costa
2012-09-17 8:50 ` Glauber Costa
2012-09-17 8:50 ` Glauber Costa
[not found] ` <5056E467.2090108-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-17 17:21 ` Tejun Heo
2012-09-17 17:21 ` Tejun Heo
[not found] ` <20120917172123.GB18677-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-09-18 8:16 ` Glauber Costa
2012-09-14 9:04 ` Mike Galbraith
2012-09-14 9:04 ` Mike Galbraith
[not found] ` <1347613484.4340.132.camel-YqMYhexLQo31wTEvPJ5Q0F6hYfS7NtTn@public.gmane.org>
2012-09-14 17:17 ` Tejun Heo
2012-09-14 17:17 ` Tejun Heo
2012-09-14 9:04 ` Mike Galbraith
2012-09-14 9:10 ` Daniel P. Berrange
2012-09-14 9:10 ` Daniel P. Berrange
[not found] ` <20120914091032.GA6819-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-09-14 9:08 ` Glauber Costa
2012-09-14 13:58 ` Vivek Goyal
2012-09-14 13:58 ` Vivek Goyal
[not found] ` <20120914135830.GB6221-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-09-14 19:29 ` Tejun Heo
2012-09-14 19:29 ` Tejun Heo
[not found] ` <20120914192935.GO17747-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-09-14 21:51 ` Kay Sievers
2012-09-14 21:51 ` Kay Sievers
2012-09-14 11:15 ` Peter Zijlstra
2012-09-14 14:25 ` Vivek Goyal
2012-09-14 14:25 ` Vivek Goyal
[not found] ` <20120914142539.GC6221-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-09-14 14:53 ` Peter Zijlstra
2012-09-14 14:53 ` Peter Zijlstra
2012-09-14 15:14 ` Vivek Goyal
2012-09-14 15:14 ` Vivek Goyal
[not found] ` <20120914151447.GD6221-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-09-14 21:57 ` Tejun Heo
2012-09-14 21:57 ` Tejun Heo
[not found] ` <20120914215701.GW17747-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-09-17 15:27 ` Vivek Goyal
2012-09-17 15:27 ` Vivek Goyal
2012-09-18 18:08 ` Vivek Goyal
2012-09-18 18:08 ` Vivek Goyal
2012-09-17 8:55 ` Glauber Costa
2012-09-14 21:39 ` Tejun Heo
2012-09-14 21:39 ` Tejun Heo
[not found] ` <20120914213938.GV17747-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-09-17 15:05 ` Vivek Goyal
2012-09-17 15:05 ` Vivek Goyal
[not found] ` <20120917150518.GB5094-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-09-17 16:40 ` Tejun Heo
2012-09-17 16:40 ` Tejun Heo
2012-09-14 15:03 ` Michal Hocko
2012-09-14 15:03 ` Michal Hocko
2012-09-14 15:03 ` Michal Hocko
[not found] ` <20120914150306.GQ28039-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-09-19 14:02 ` Michal Hocko
2012-09-19 14:02 ` Michal Hocko
[not found] ` <20120919140203.GA5398-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-09-19 14:03 ` [PATCH 2.6.32] memcg: warn on deeper hierarchies with use_hierarchy==0 Michal Hocko
2012-09-19 14:03 ` Michal Hocko
[not found] ` <20120919140308.GB5398-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-09-19 19:38 ` David Rientjes
2012-09-19 19:38 ` David Rientjes
[not found] ` <alpine.DEB.2.00.1209191237020.749-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2012-09-20 13:24 ` Michal Hocko
2012-09-20 13:24 ` Michal Hocko
2012-09-20 13:24 ` Michal Hocko
[not found] ` <20120920132400.GC23872-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-09-20 22:33 ` David Rientjes
2012-09-20 22:33 ` David Rientjes
[not found] ` <alpine.DEB.2.00.1209201531250.17455-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2012-09-21 7:16 ` Michal Hocko
2012-09-21 7:16 ` Michal Hocko
2012-09-21 7:16 ` Michal Hocko
2012-09-19 14:03 ` [PATCH 3.0] " Michal Hocko
2012-09-19 14:03 ` Michal Hocko
2012-09-19 14:05 ` [PATCH 3.2+] " Michal Hocko
2012-09-19 14:05 ` Michal Hocko
2012-09-19 14:05 ` Michal Hocko
2012-09-19 14:02 ` [RFC] cgroup TODOs Michal Hocko
2012-09-14 18:07 ` Vivek Goyal
2012-09-14 18:07 ` Vivek Goyal
[not found] ` <20120914180754.GF6221-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-09-14 18:53 ` Tejun Heo
2012-09-14 18:53 ` Tejun Heo
[not found] ` <20120914185324.GI17747-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-09-14 19:28 ` Vivek Goyal
2012-09-14 19:28 ` Vivek Goyal
[not found] ` <20120914192840.GG6221-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-09-14 19:44 ` Tejun Heo
2012-09-14 19:44 ` Tejun Heo
[not found] ` <20120914194439.GP17747-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-09-14 19:49 ` Tejun Heo
2012-09-14 19:49 ` Tejun Heo
[not found] ` <20120914194950.GQ17747-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-09-14 20:39 ` Tejun Heo
2012-09-14 20:39 ` Tejun Heo
2012-09-14 20:39 ` Tejun Heo
[not found] ` <20120914203925.GR17747-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-09-17 8:40 ` Glauber Costa
2012-09-17 8:40 ` Glauber Costa
[not found] ` <5056E1FC.1090508-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-09-17 17:30 ` Tejun Heo
2012-09-17 17:30 ` Tejun Heo
2012-09-17 14:37 ` Vivek Goyal
2012-09-17 14:37 ` Vivek Goyal
2012-09-14 19:44 ` Tejun Heo
2012-09-14 18:36 ` Aristeu Rozanski
2012-09-14 18:36 ` Aristeu Rozanski
2012-09-14 18:36 ` Aristeu Rozanski
[not found] ` <20120914183641.GA2191-YqEmrenMroyQb786VAuzj9i2O/JbrIOy@public.gmane.org>
2012-09-14 18:54 ` Tejun Heo
2012-09-14 18:54 ` Tejun Heo
2012-09-15 2:20 ` Serge E. Hallyn
2012-09-15 2:20 ` Serge E. Hallyn
[not found] ` <20120915022037.GA6438-7LNsyQBKDXoIagZqoN9o3w@public.gmane.org>
2012-09-15 9:27 ` Controlling devices and device namespaces Eric W. Biederman
2012-09-15 9:27 ` Eric W. Biederman
[not found] ` <87wqzv7i08.fsf_-_-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2012-09-15 22:05 ` Serge E. Hallyn
2012-09-15 22:05 ` Serge E. Hallyn
[not found] ` <20120915220520.GA11364-7LNsyQBKDXoIagZqoN9o3w@public.gmane.org>
2012-09-16 0:24 ` Eric W. Biederman
2012-09-16 0:24 ` Eric W. Biederman
[not found] ` <87y5kazuez.fsf-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2012-09-16 3:31 ` Serge E. Hallyn
2012-09-16 3:31 ` Serge E. Hallyn
2012-09-16 11:21 ` Alan Cox
2012-09-16 11:21 ` Alan Cox
[not found] ` <20120916122112.3f16178d-38n7/U1jhRXW96NNrWNlrekiAK3p4hvP@public.gmane.org>
2012-09-16 11:56 ` Eric W. Biederman
2012-09-16 11:56 ` Eric W. Biederman
[not found] ` <87sjaiuqp5.fsf-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2012-09-16 12:17 ` Eric W. Biederman
2012-09-16 12:17 ` Eric W. Biederman
[not found] ` <87d31mupp3.fsf-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2012-09-16 13:32 ` Serge Hallyn
2012-09-16 13:32 ` Serge Hallyn
[not found] ` <5055D4D1.3070407-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>
2012-09-16 14:23 ` Eric W. Biederman
2012-09-16 14:23 ` Eric W. Biederman
[not found] ` <87k3vuqc5l.fsf-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
2012-09-16 16:13 ` Alan Cox
2012-09-16 16:13 ` Alan Cox
[not found] ` <20120916171316.517ad0fd-38n7/U1jhRXW96NNrWNlrekiAK3p4hvP@public.gmane.org>
2012-09-16 17:49 ` Eric W. Biederman
2012-09-16 17:49 ` Eric W. Biederman
2012-09-16 16:15 ` Serge Hallyn
2012-09-16 16:15 ` Serge Hallyn
[not found] ` <5055FB2A.1020103-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>
2012-09-16 16:53 ` Eric W. Biederman
2012-09-16 16:53 ` Eric W. Biederman
2012-09-16 8:19 ` [RFC] cgroup TODOs James Bottomley
2012-09-16 8:19 ` James Bottomley
[not found] ` <1347783557.2463.1.camel-sFMDBYUN5F8GjUHQrlYNx2Wm91YjaHnnhRte9Li2A+AAvxtiuMwx3w@public.gmane.org>
2012-09-16 14:41 ` Eric W. Biederman
2012-09-16 14:41 ` Eric W. Biederman
2012-09-16 14:41 ` Eric W. Biederman
2012-09-17 13:21 ` Aristeu Rozanski
2012-09-17 13:21 ` Aristeu Rozanski
2012-09-16 8:19 ` James Bottomley
2012-09-14 22:03 ` Dhaval Giani
2012-09-14 22:03 ` Dhaval Giani
2012-09-14 22:03 ` Dhaval Giani
[not found] ` <CAPhKKr8wDLrcWHLTRq1M7gU_6CGNxzzF83zJo2WZ5vrY7h8Qyw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-09-14 22:06 ` Tejun Heo
2012-09-14 22:06 ` Tejun Heo
2012-09-20 1:33 ` Andy Lutomirski
2012-09-20 1:33 ` Andy Lutomirski
2012-09-20 1:33 ` Andy Lutomirski
[not found] ` <505A725B.2080901-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>
2012-09-20 18:26 ` Tejun Heo
2012-09-20 18:26 ` Tejun Heo
[not found] ` <20120920182651.GH28934-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-09-20 18:39 ` Andy Lutomirski
2012-09-20 18:39 ` Andy Lutomirski
2012-09-20 18:39 ` Andy Lutomirski
2012-09-20 18:26 ` Tejun Heo
2012-09-21 21:40 ` Tejun Heo
2012-09-21 21:40 ` Tejun Heo
2012-09-21 21:40 ` 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=5052E7DF.7040000@parallels.com \
--to=glommer-bzqdu9zft3wakbo8gow8eq@public.gmane.org \
--cc=acme-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org \
--cc=aneesh.kumar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \
--cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org \
--cc=kay.sievers-tD+1rO4QERM@public.gmane.org \
--cc=lennart-mdGvqq1h2p+GdvJs77BJ7Q@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mhocko-AlSwsSmVLrQ@public.gmane.org \
--cc=mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org \
--cc=paulus-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org \
--cc=pjt-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
--cc=tgraf-G/eBtMaohhA@public.gmane.org \
--cc=tj-DgEjT+Ai2ygdnm+yROfE0A@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 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.