Messages in this thread | | | Date | Thu, 3 Oct 2002 08:54:17 +0200 (CEST) | From | Ingo Molnar <> | Subject | Re: [rfc][patch] kernel/sched.c oddness? |
| |
> [...] However, I noticed on my 2xSMP system that quite unbalanced loads > weren't getting even CPU time best example - 3 processes in busywait > loops - one would get 100% of one cpu while two would get 50% each of > the other.
this was done intentionally, and this scenario (1+2 tasks) is the very worst scenario. The problem is that by trying to balance all 3 tasks we now have 3 tasks that trash their cache going from one CPU to another. (this is what happens with your patch - even with another approach we'd have to trash at least one task)
By keeping 2 tasks on one CPU and 1 task on the other CPU we avoid cross-CPU migration of threads. Think about the 2+3 or 4+5 tasks case rather, do we want absolutely perfect balancing, or good SMP affinity and good combined performance?
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/
| |