Messages in this thread | | | Date | Fri, 11 Jan 2002 00:44:43 +0100 (CET) | From | Ingo Molnar <> | Subject | Re: [patch] O(1) scheduler, -G1, 2.5.2-pre10, 2.4.17 (fwd) |
| |
On 10 Jan 2002, Robert Love wrote:
> Along the same lines as the above, note this code snippet from > try_to_wake_up:
> if (0 && !rt_task(p) && synchronous && (smp_processor_id() < p->cpu)) {
> + if (!rt_task(p) && synchronous && (smp_processor_id() > p->cpu)) {
you are right - but i have removed it completely from my current tree.
the reason is that i think, unless seeing some hard proof to the contrary, it's not a good idea to balance from wakeups. Wakeups are high-frequency and lightweight in nature, and despite all the idle-balancing magic we tried in 2.4 (i wrote most of that code), there were important cases where it failed.
so the current stategy i'd like us to try is to do 'high frequency idle rebalancing' and 'slow frequency fairness rebalancing'. No rebalancing in wakeup, at all. This makes wakeups simpler, faster and more scalable. (We can also do slow rebalancing in some other, strategic places where we know that it's the right time to push a process context to another CPU.)
Ingo
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |