Messages in this thread | | | Subject | Re: sched: Avoid SMT siblings in select_idle_sibling() if possible | From | Suresh Siddha <> | Date | Mon, 27 Feb 2012 14:11:22 -0800 |
| |
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.
thanks, suresh
| |