Messages in this thread | | | Date | Thu, 26 Jan 2006 15:56:23 -0800 | From | "Siddha, Suresh B" <> | Subject | Re: smp 'nice' bias support breaks scheduler behavior |
| |
On Fri, Jan 27, 2006 at 10:36:36AM +1100, Peter Williams wrote: > Con Kolivas wrote: > > On Thursday 26 January 2006 21:52, Siddha, Suresh B wrote: > >>>[PATCH] sched: implement nice support across physical cpus on SMP > >> > >>I don't see imbalance calculations in find_busiest_group() take > >>prio_bias into account. This will result in wrong imbalance value and > >>will cause issues. > > in 2.6.16-rc1: > > > > find_busiest_group(.... > > > > load = __target_load(i, load_idx, idle); > > else > > load = __source_load(i, load_idx, idle); > > > > where __target_load and __source_load is where we take into account prio_bias.
We take that into consideration only while calculating the loads.. But we don't scale it down while calculating imbalance, resulting in the problem I mentioned.
> > > > I'm not sure which code you're looking at, but Peter Williams is working on > > rewriting the smp nice balancing code in -mm at the moment so that is quite > > different from current linus tree. > >
Peters changes in -mm fix this issue. Will this be pushed to Linus tree before 2.6.16 comes out?
> > Yes, indeed. And it would be very helpful if people interested in this > topic (and that have test suites designed to test whether "niceness" is > being well balanced across CPUs) could test it. This is especially the > case for larger systems as I do not have ready access for testing on them.
I don't have any test suites for testing "niceness". But I can def check more to make sure that it doesn't cause any regression :)
thanks, suresh
> > > > > > >>For example on a DP system with HT, if there are three runnable processes > >>(simple infinite loop with same nice value), this patch is resulting in > >>bouncing of these 3 processes from one processor to another...Lets assume > >>if the 3 processes are scheduled as 2 in package-0 and 1 in package1.. > >>Now when the busy processor on package-1 does load balance and as > >>imbalance doesn't take "prio_bias" into account, this will kick active > >>load balance on package-0.. And this is continuing for ever, resulting > >>in bouncing from one processor to another. > >> > >>Even when the system is completely loaded and if there is an imbalance, > >>this patch causes wrong imabalance counts and cause unoptimized > >>movements. > >> > >>Do you want to look into this and post a patch for 2.6.16? - 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/
| |