Os cgroups são hierárquicos e são herdados por todos os subprocessos. Portanto, todos os processos devem estar em algum cgroup. Por padrão, é o cgroup raiz e, por padrão, ele tem 1024 compartilhamentos, o que é duas vezes como A e B em Seu exemplo.
O tempo de CPU é compartilhado entre cgroups de acordo com o peso atribuído a eles em cpu.shares.
Se A tivesse 1024 ações e B 512 e C 256 e D 256, a distribuição de tempo de CPU seria A - 50%, B - 25%, C e D 12,5%.