Understanding cgroups
From: Tommaso Cucinotta
Date: Thu Oct 28 2010 - 11:44:47 EST
Hi,
I'm trying to get some understanding of the current cgroups in-kernel
implementation
(after having read Documentation/cgroup* and having browsed a bit the code).
To this purpose, I tried to draw the relationships among the involved
data structures
(I'm limited to its relationship with [real-time] scheduling), and
obtained this:
http://retis.sssup.it/~tommaso/cgroups.odg
http://retis.sssup.it/~tommaso/cgroups.eps
(You can see in the bottom left part of the diagram a little
"key/legend/pattern" for representing lists).
I might have done mistakes, however the greatest doubts that I have now
concern the relative
cardinalities of the various associated items. Namely:
a) why doesn't a cgroup object directly point to a css_set one, but to a
list of them (via cg_cgroup_list elements) ?
it seems that a cgroup object may be associated to multiple css_set
objects, which in turn contain vectors of
cgroup_subsys_state;
b) however, cgroup.subsys[] would point to a single cgroup_subsys_state
object per subsys_id, so, what is the
difference between cgroup.subsys[] and css_set.subsys[] ? (or, are
these all redundant pointers and point
to the same cgroup_subsys_state objects ?)
c) is css_set.cg_links used to point to (the head of) a list of
cg_cgroup_link objects, or is it used to link multiple css_set objects
into a list ? In the latter case, where is the head of the list pointed
to from ?
Apologies for the newbie questions that I might have posted; FYI, I'm
trying to set-up RT scheduling groups without using the VFS-based
cgroups interface.
Thanks in advance, regards (please, reply in cc to my e-mail address).
Tommaso
--
Tommaso Cucinotta, Computer Engineering PhD, Researcher
ReTiS Lab, Scuola Superiore Sant'Anna, Pisa, Italy
Tel +39 050 882 024, Fax +39 050 882 003
http://retis.sssup.it/people/tommaso
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/