Re: [RFC/RFT PATCH v3] sched: automated per tty task groups

From: Peter Zijlstra
Date: Fri Nov 19 2010 - 07:19:50 EST


On Fri, 2010-11-19 at 12:49 +0100, Peter Zijlstra wrote:
> On Fri, 2010-11-19 at 00:43 +0100, Samuel Thibault wrote:
> > What overhead? The implementation of cgroups is actually already
> > hierarchical.
>
> It must be nice to be that ignorant ;-) Speaking for the scheduler
> cgroup controller (that being the only one I actually know), most all
> the load-balance operations are O(n) in the number of active cgroups,
> and a lot of the cpu local schedule operations are O(d) where d is the
> depth of the cgroup tree.
>
> [ and that's with the .38 targeted code, current mainline is O(n ln(n))
> for load balancing and truly sucks on multi-socket ]
>
> You add a lot of pointer chasing to all the scheduler fast paths and
> there is quite significant data size bloat for even compiling with the
> controller enabled, let alone actually using the stuff.
>
> But sure, treat them as if they were free to use, I guess your machine
> is fast enough.

In general though, I think you can say that: cgroups ass overhead.
Simply because you add constraints, this means you need to 1) account
more, 2) enforce constraints. Both have definite non-zero cost in both
data and time.

--
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/