Re: [PATCH 39/39] autonuma: NUMA scheduler SMT awareness

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 26, 2012 at 08:57:03PM +0200, Peter Zijlstra wrote:
> On Mon, 2012-03-26 at 19:46 +0200, Andrea Arcangeli wrote:
> > Add SMT awareness to the NUMA scheduler so that it will not move load
> > from fully idle SMT threads, to semi idle SMT threads.
> 
> This shows a complete fail in design, you're working around the regular
> scheduler/load-balancer instead of with it and hence are duplicating all
> kinds of stuff.
> 
> I'll not have that..

I think here you're misunderstanding implementation issues with
design.

I already mentioned the need of closer integration in CFS as point 4
of my TODO list in the first email of this thread. The current
implementation is just good enough to evaluate the AutoNUMA math and
the resulting final performance (and after cleaning it up, it'll run
even faster if something).

If you want to contribute to sched/numa.c integrate it with CFS and
remove the code duplication you're welcome. I tried for a short while
but it wasn't even obvious the exact lines in fair.c where SMT is
handled (I'm aware of SD_SHARE_CPUPOWER in SD_SIBLING_INIT but things
weren't crystal clear there, in fact it's even hard to extrapolate the
exact semantics of all SD_ bitflags, the comment on the right isn't
very helpful either). An explanation of the exact lines in CFS where
SMT is handled would be welcome too if I shall do the cleanup.

Thanks,
Andrea

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]