CPU Load Balancer / Scheduler / CFS

Mulyadi Santosa mulyadi.santosa at gmail.com
Fri Apr 6 00:27:42 EDT 2012


Hi Robert...

On Fri, Apr 6, 2012 at 00:24, Robert W <robertwalters83 at gmail.com> wrote:
> But on 2.6.32, the distribution varies. Sometimes it's (100%, 33%,
> 33%, 33%), other times it's (100%, 100%, 50%, 50%), etc.. while all
> the other CPUs sit completely idle..
>
> Both servers have many cores (more than 4). Both servers each have 2
> physical processors, and are hyper-threaded.

Ahem, that HT might be the cause.

To elaborate more. Linux process scheduler tend to avoid the HT
sibling, because they are not "real" processor. Or if not possible to
avoid at all, then put at least load as possible.

Also, Linux kernel tries to "stick" a process into certain core within
certain time interval. This is done to make sure the L1/L2 cache is
utilized as long as possible. Processor relocation will trigger cache
invalidation and that costs a lot.

CMIIW....

-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com



More information about the Kernelnewbies mailing list