The CPU affinity of a thread is the set of CPUs the scheduler may run it on; it is set with sched_setaffinity (or taskset from a shell) and inherited by the threads a thread creates. Core isolation removes CPUs from the scheduler’s load balancing, so that no thread runs on them unless its affinity names them explicitly, and moves the kernel’s own unbound work away from them. A housekeeping core is a CPU left out of the isolated set, which runs everything else: the kernel’s work, the interrupts of devices the hot path does not use, and the process’s cold threads.
bench_tuning.py.isolcpus=21-23,29-31 nohz_full=21-23 rcu_nocbs=21-23 irqaffinity=0-15 with the siblings taken offline, the card’s interrupt queues bound to CPUs 16–20; the build’s audit accepts this host (the tuned fixture).