Linux "processor affinity" explained

Filed under
Linux

IBM's DeveloperWorks has published a story describing how the Linux 2.6 kernel supports "processor affinity" -- that is, ensuring that a particular process runs on a particular processor or set of processors within a multi-processor machine. Processor affinity can improve real-time performance, as well as cache hit-rates in complex calculations.

In determining where to run a process, the Linux 2.6 scheduler takes a look at the cpus_allowed bitmask within each process's task_struct data structure. This bitmask can be read or manipulated using the sched_get_affinity() or sched_set_affinity() functions, respectively.

Full Story.