> I have a basic question. cgroup provides new capabilities through > its ability to hierarchically organize workloads on the system and > distributes resources across the hierarchy. If all one wants to do > is affining specific threads to specific CPUs or changing some other > attributes of them, there's nothing extra that cgroup provides > compared to using plain per-task interface. Is there some other > eason why cgroup is the preferred way here? Very good question! And yes, there actually are some reasons. :) By using cgroup you can delegate the authority to configure a subset of the hierarchy via rwx and user, group, others. By using the per-task interface you have to be root, right? Also, we want to separate the configuration of the threads from the application as it need to be deployed in different hardware scenarios. And we need to be able to easily replicate a configuration from one machine to another machine. We also need to configure other aspects that cgroup allows us to do for the set of processes. Since cgroup solves all of the above problems for us, why using something else? :)