I work with a Red Hat Enterprise Linux Server release 6.9 (Santiago) (I don't manage it). In the GRUB config file we have, let's say, isolcpus=2-32 (out of 36 cores). I also have a cgroup with cpuset=2-32 assigned via cgset.conf to all important processes on that system.
My question is: how do these 2 settings interact?
Normally, when I have isolcpus, starting a process with taskset -c 2-32 means all threads end up on core 2 as isolcpus "removes cores from scheduler" as I was told so there is no load balancing.
However, the observed effect of cpuset cgroup is different from taskset - the various processes and threads end up on different cores.
Could someone explain how isolcpus with taskset command produces one result, while isolcpus with cgroups/cpusets produce a different one?