Re: Cache Allocation Technology Design

Peter Zijlstra
2014-10-29T08:16:53Z

On Tue, Oct 28, 2014 at 11:22:15PM +0000, Matt Fleming wrote:
> On Fri, 24 Oct, at 12:53:06PM, Peter Zijlstra wrote:
> >
> > NAK, cgroups must support full hierarchies, simply enforce that the
> > child cgroup's mask is a subset of the parent's.
>
> For the specific case of Cache Allocation, if we're creating hierarchies
> from bitmasks, there's a very clear limit to how we can divide up the
> bits - we can't support an indefinite number of cgroup directories.
>
> What do you mean by "full hierarchies"?

Ah, so one way around that is to only assign a (whats the CQE equivalent
of RMIDs again?) once you stick a task in.

But basically it means you need to allow things like:

root/virt/more/crap/hostA
/hostB
/sanityA
/random/other/yunk

Now, the root will have the entire bitmask set, any child, say
virt/more/crap can also have them all set, and you can maybe only start
differentiating in the /host[AB] bits.

Whether or not it makes sense, libvirt likes to create these pointless
deep hierarchies, as do a lot of other people for that matter.