Re: [PATCH 18/33] autonuma: teach CFS about autonuma affinity

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

 



On Sat, 2012-10-06 at 14:34 +0200, Andrea Arcangeli wrote: 
> Hi Mike,

Greetings,

> On Sat, Oct 06, 2012 at 04:39:54AM +0200, Mike Galbraith wrote:

> I think you just found a mistake.
> 
> So disabling wake_affine if the wakeup CPU was on a remote NODE (only
> in that case it was turned off), meant sd_affine couldn't be turned on
> and for certain wakeups select_idle_sibling wouldn't run (rendering
> pointless some of my logic in select_idle_sibling).

Well, it still looks a bit bent to me no matter how I tilt my head.

                /*
                 * If both cpu and prev_cpu are part of this domain,
                 * cpu is a valid SD_WAKE_AFFINE target.
                 */
                if (want_affine && (tmp->flags & SD_WAKE_AFFINE) &&
                    cpumask_test_cpu(prev_cpu, sched_domain_span(tmp))) {
                        affine_sd = tmp;
                        want_affine = 0;
                }

Disabling when waker/wakee are cross node makes sense to me as a cycle
saver.  If you have (SMT), MC and NODE domains, waker/wakee are cross
node, spans don't intersect, affine_sd remains NULL, the whole traverse
becomes a waste of cycles.  If WAKE_BALANCE is enabled, we'll do that
instead (which pgbench and ilk should like methinks).

> > I measured the 1 in 1:N pgbench very much preferring mobility.  The N,
> > dunno, but I don't imagine a large benefit for making them sticky
> > either.  Hohum, numbers will tell the tale.
> 
> Mobility on non-NUMA is an entirely different matter than mobility
> across NUMA nodes. Keep in mind there are tons of CPUs intra-node too
> so the mobility intra node may be enough.  But I don't know exactly
> what the mobiltiy requirements of pgbench are so I can't tell for sure
> and I fully agree we should collect numbers.

Yeah, that 1:1 vs 1:N, load meets anti-load thing is kinda interesting.
Tune for one, you may well annihilate the other.  Numbers required.

I think we need to detect and react accordingly.  If that nasty little 1
bugger is doing a lot of work, it's very special, so I don't think you
making him sticky can help any more than me taking away wakeup options..
both remove latency reducing options from a latency dominated load.

But numbers talk, pondering (may = BS) walks, so I'm outta here :)

-Mike

--
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/ .
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]