Re: [PATCH v2 1/2] sched/fair: Fix how load gets propagated from cfs_rq to its sched_entity

2017-05-05 Thread Dietmar Eggemann
Hi Tejun, On 04/05/17 18:39, Tejun Heo wrote: > Hello, Dietmar. > > On Thu, May 04, 2017 at 10:49:51AM +0100, Dietmar Eggemann wrote: >> On 04/05/17 07:21, Peter Zijlstra wrote: >>> On Thu, May 04, 2017 at 07:51:29AM +0200, Peter Zijlstra wrote: [...] >> >> I can't recreate this problem running

Re: [PATCH v2 1/2] sched/fair: Fix how load gets propagated from cfs_rq to its sched_entity

2017-05-04 Thread Tejun Heo
Hello, Dietmar. On Thu, May 04, 2017 at 10:49:51AM +0100, Dietmar Eggemann wrote: > On 04/05/17 07:21, Peter Zijlstra wrote: > > On Thu, May 04, 2017 at 07:51:29AM +0200, Peter Zijlstra wrote: > > > >> Urgh, and my numbers were so pretty :/ > > > > Just to clarify on how to run schbench, I limit

Re: [PATCH v2 1/2] sched/fair: Fix how load gets propagated from cfs_rq to its sched_entity

2017-05-04 Thread Peter Zijlstra
On Thu, May 04, 2017 at 10:49:51AM +0100, Dietmar Eggemann wrote: > On 04/05/17 07:21, Peter Zijlstra wrote: > > On Thu, May 04, 2017 at 07:51:29AM +0200, Peter Zijlstra wrote: > > > >> Urgh, and my numbers were so pretty :/ > > > > Just to clarify on how to run schbench, I limited to a single so

Re: [PATCH v2 1/2] sched/fair: Fix how load gets propagated from cfs_rq to its sched_entity

2017-05-04 Thread Vincent Guittot
Le Wednesday 03 May 2017 à 20:00:28 (+0200), Peter Zijlstra a écrit : > [snip] > > Just FUDGE2 on its own seems to be the best on my system and is a change > that makes sense (and something Paul recently pointed out as well). > > The implementation isn't particularly pretty or fast, but shoul

Re: [PATCH v2 1/2] sched/fair: Fix how load gets propagated from cfs_rq to its sched_entity

2017-05-04 Thread Dietmar Eggemann
On 04/05/17 07:21, Peter Zijlstra wrote: > On Thu, May 04, 2017 at 07:51:29AM +0200, Peter Zijlstra wrote: > >> Urgh, and my numbers were so pretty :/ > > Just to clarify on how to run schbench, I limited to a single socket (as > that is what you have) and set -t to the number of cores in the soc

Re: [PATCH v2 1/2] sched/fair: Fix how load gets propagated from cfs_rq to its sched_entity

2017-05-03 Thread Peter Zijlstra
On Thu, May 04, 2017 at 07:51:29AM +0200, Peter Zijlstra wrote: > Urgh, and my numbers were so pretty :/ Just to clarify on how to run schbench, I limited to a single socket (as that is what you have) and set -t to the number of cores in the socket (not the number of threads). Furthermore, my ma

Re: [PATCH v2 1/2] sched/fair: Fix how load gets propagated from cfs_rq to its sched_entity

2017-05-03 Thread Peter Zijlstra
On Wed, May 03, 2017 at 05:45:46PM -0400, Tejun Heo wrote: > FUDGE2: Changes things a lot (load values go wild) but only because > it's missing scale_load_down(). After adding > scale_load_down(), it doesn't do much. For this to work, it > needs to be always propagated, w

Re: [PATCH v2 1/2] sched/fair: Fix how load gets propagated from cfs_rq to its sched_entity

2017-05-03 Thread Tejun Heo
Hello, Peter. On Wed, May 03, 2017 at 08:00:28PM +0200, Peter Zijlstra wrote: > Just FUDGE2 on its own seems to be the best on my system and is a change > that makes sense (and something Paul recently pointed out as well). > > The implementation isn't particularly pretty or fast, but should > ill

Re: [PATCH v2 1/2] sched/fair: Fix how load gets propagated from cfs_rq to its sched_entity

2017-05-03 Thread Peter Zijlstra
This is on my IVB-EP, 2 sockets, 10 cores / socket, 2 threads / core. workload is constrained to 1 socket. root@ivb-ep:~/bench/schbench# numactl -N 0 ./schbench -m 2 -t 10 -s 1 -c 15000 -r 30 Latency percentiles (usec) 50.th: 21 75.th: 30 90.th: 38

[PATCH v2 1/2] sched/fair: Fix how load gets propagated from cfs_rq to its sched_entity

2017-04-24 Thread Tejun Heo
09a43ace1f98 ("sched/fair: Propagate load during synchronous attach/detach") added immediate load propagation from cfs_rq to its sched_entity then to the parent cfs_rq; however, what gets propagated doesn't seem to make sense. It repeats the tg_weight calculation done in calc_cfs_shares() but only