developerWorks: Take Charge of Processor Affinity

“Simply stated, CPU affinity is the tendency for a process to
run on a given CPU as long as possible without being moved to some
other processor. The Linux kernel process scheduler inherently
enforces what is commonly referred to as soft CPU affinity, which
means that processes generally do not frequently migrate between
processors. This state is desirable because processes that seldom
migrate often incur less overhead.

“The 2.6 Linux kernel also contains a mechanism that allows
developers to programmatically enforce hard CPU affinity. This
means your applications can explicitly specify which processor (or
set of processors) a given process may run on…”

Complete Story