I think I understand the concern [patch 6] of stealing a task from one node to an idle cpu in another node, but I wonder if we can have some sort of check for idle balance: if the domain/node to steal from has some idle cpu somewhere, we do not steal, period. To do this we have a cpu_idle bitmask, we update as cpus go idle/busy, and we reference this cpu_idle & sd->cpu_mask to see if there's at least one cpu that's idle.
Ingo wrote:
But i expect fork/clone balancing to be almost certainly a problem. (We didnt get it right for all workloads in 2.6.7, and i think it cannot be gotten right currently either, without userspace API help - but i'd be happy to be proven wrong.)
Perhaps initially one could balance on fork up to the domain level which has task_hot_time=0, up to a shared cache by default. Anything above that could require a numactl like preference from userspace.
-Andrew Theurer - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/