Re: sched: Avoid SMT siblings in select_idle_sibling() if possible

From: Mike Galbraith
Date: Tue Feb 28 2012 - 00:05:18 EST


On Mon, 2012-02-27 at 14:11 -0800, Suresh Siddha wrote:
> On Sat, 2012-02-25 at 09:30 +0100, Mike Galbraith wrote:
> > My less rotund config shows the L2 penalty decidedly more prominently.
> > We used to have avg_overlap as a synchronous wakeup hint, but it was
> > broken by preemption and whatnot, got the axe to recover some cycles. A
> > reliable and dirt cheap replacement would be a good thing to have.
> >
> > TCP_RR and tbench are far way away from the overlap breakeven point on
> > E5620, whereas with Q6600s shared L2, you can start converting overlap
> > into throughput almost immediately.
> >
> > 2.4 GHz E5620
> > Throughput 248.994 MB/sec 1 procs SD_SHARE_PKG_RESOURCES
> > Throughput 379.488 MB/sec 1 procs !SD_SHARE_PKG_RESOURCES
> >
> > 2.4 GHz Q6600
> > Throughput 299.049 MB/sec 1 procs SD_SHARE_PKG_RESOURCES
> > Throughput 300.018 MB/sec 1 procs !SD_SHARE_PKG_RESOURCES
> >
>
> Also it is not always about just the L2 cache being shared/not or
> warm/cold etc. It also depends on the core c-states/p-states etc. It
> will cost waking up an idle core and the cost will depend on the what
> core-c state it is in. And also if we ping-pong between cores often,
> cpufreq governor will come and request for a lower core p-state even
> though the load was keeping one core or the other in the socket always
> busy at any given point of time.

Yeah, pinning yields a couple percent on Q6600 box, more on E5620
despite its spiffier gearbox.. likely turbo-boost doing it's thing.

-Mike

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/