Monday, April 23, 2012

BLD-3.4-rc4

 BLD for Linux kernel 3.4-rc4.

 On previous release, I was shouting that about O(1) cpu picking technique at sched_fork() and sched_exec(). But, moronically I've released a version where bld_select_task_rq() wasn't called at sched_exec! Actually, I messed it up. The whole development thing is something, I often make small changes and looks to see, whether it makes any impact,and while doing these sort of things, I forget even the most obvious things...

 Now, some words regarding BLD. As I was saying, BLD is a load distribution technique and it's exactly what it does. It's not a *scheduler* but at phoronix.com I've seen they claimed "Yet another scheduler..." (something like that). NO! Again, it's a load distribution technique, it's a part of a scheduler, it tries to distribute load evenly as if load balancer isn't needed (which, is a second line of defense). But, whether a load balancer (which runs at idle context) will be really needed or not, it's a matter of extensive experimentation. The thing that goes through my mind is, if we can distribute load properly we don't need a load balancer, cause load balancer is something we need if there's any imbalance. BLD tries to make sure that, there's no imbalance on the system and this technique will be applicable to any per CPU runqueue scheduler.

 Now, as stated previously it doesn't depend on scheduler tick, so you can expect longest tickless idle, which is good from power savings point of view.

 So, here is a version against Linux Kernel 3.4-rc4, patch will work also on 3.4-rc3, 3.4-rc2 and could be downloaded from:

http://code.google.com/p/bld/downloads/list

Thanks,
Rakib Mullick.