[systemd-devel] [PATCH] cgroups: Cache controller masks and optimize queues.

David Timothy Strauss david at davidstrauss.net
Mon Nov 18 23:12:29 PST 2013


I'm pretty confident in the accuracy of the controller mask
aggregation, especially given the new unit test. Here are the main
review questions.

Is it okay to couple realizing the cgroups and applying the attributes
the way the patch does? Before, we were often applying the attributes
for all of a unit's siblings (read: other units in the same slice). I
believe these should never change as long as the controller mask is
the same as what's been realized already. Perhaps the old
implementation was done to avoid re-computation of the target masks
(which is no longer required).

Is it okay to skip realization and attribute setting for
inactive/failed units? If they do start, we will set the attributes at
that time with this patch. If they're not running, giving them CPU and
Block IO weights doesn't seem to have any worthwhile effect. Am I
ignoring something about, say, CPU accounting (which I don't use
myself)?

Also, hat tip to my coworker Kyle Ibrahim for the original idea of not
queuing inactive and failed units.


More information about the systemd-devel mailing list