Re: [PATCH 0/6] sched/fair: Compute capacity invariant load/utilization tracking

From: Dietmar Eggemann
Date: Wed Sep 02 2015 - 05:51:49 EST


On 08/31/2015 11:24 AM, Peter Zijlstra wrote:
On Fri, Aug 14, 2015 at 05:23:08PM +0100, Morten Rasmussen wrote:
Target: ARM TC2 A7-only (x3)
Test: hackbench -g 25 --threads -l 10000

Before After
315.545 313.408 -0.68%

Target: Intel(R) Core(TM) i5 CPU M 520 @ 2.40GHz
Test: hackbench -g 25 --threads -l 1000 (avg of 10)

Before After
6.4643 6.395 -1.07%


A quick run here gives:

IVB-EP (2*20*2):

perf stat --null --repeat 10 -- perf bench sched messaging -g 50 -l 5000

Before: After:
5.484170711 ( +- 0.74% ) 5.590001145 ( +- 0.45% )

Which is an almost 2% slowdown :/

I've yet to look at what happens.


I tested the patch-set on top of tip:

ff277d4250fe - sched/deadline: Fix comment in enqueue_task_dl()

on a 2 cluster IVB-EP (2 clusters * 10 cores * 2 HW threads) = 40 logical cpus w/ (SMT, MC, NUMA sd's).

model name : Intel(R) Xeon(R) CPU E5-2690 v2 @ 3.00GHz

perf stat --null --repeat 10 -- perf bench sched messaging -g 50 -l 5000

Before: After:
5.049361160 ( +- 1.26% ) 5.014980654 ( +- 1.20% )

Even by running this test multiple times I never saw something like a 2% slowdown.

It's a vanilla ubuntu 15.04 system which might explain the slightly higher stddev.

We could optimize the changes we did in __update_load_avg() by only calculating the additional scaled values [scaled_delta_w, contrib, scaled_delta] in case the function is called w/ 'weight !=0 && running !=0'. This is also true for the initialization of scale_freq and scale_cpu.

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