[lkml]   [2012]   [Feb]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: sched: Avoid SMT siblings in select_idle_sibling() if possible
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.


 \ /
  Last update: 2012-02-27 23:15    [W:0.065 / U:5.644 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site