Suppose I have 4 physical cores (indexed 0-3) and I'm dedicating cores 1-3 to a shield for user applications and trying to steer all system threads onto core 0. I'm following the answers here and using cset:

# /usr/local/bin/cset shield --cpu 1-3  
cset: --> activating shielding:
cset: moving 145 tasks from root into system cpuset...
cset: "system" cpuset of CPUSPEC(0) with 145 tasks running
cset: "user" cpuset of CPUSPEC(1-3) with 0 tasks running

However, I don't seem to be able to move all my kernel threads onto core 0:

# cset shield --kthread on
cset shield --kthread on
cset: --> activating kthread shielding
cset: kthread shield activated, moving 175 tasks into system cpuset...
cset: **> 30 tasks are not movable, impossible to move
cset: done

The Ubuntu man page says that the --kthread flag only applies to unbound kernel threads:

   -k on|off, --kthread=on|off
       shield from unbound interrupt threads as well

so I presume I need to move the bound kernel threads away from cores 1-3 as well. How do I do that? (Preferably on CentOS.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.