From: preeti@linux.vnet.ibm.com (Preeti U Murthy)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 00/11] sched: consolidation of cpu_power
Date: Mon, 26 May 2014 15:14:41 +0530 [thread overview]
Message-ID: <53830D09.4010209@linux.vnet.ibm.com> (raw)
In-Reply-To: <1400860385-14555-1-git-send-email-vincent.guittot@linaro.org>
Hi Vincent,
I conducted test runs of ebizzy on a Power8 box which had 48 cpus.
6 cores with SMT-8 to be precise. Its a single socket box. The results
are as below.
On 05/23/2014 09:22 PM, Vincent Guittot wrote:
> Part of this patchset was previously part of the larger tasks packing patchset
> [1]. I have splitted the latter in 3 different patchsets (at least) to make the
> thing easier.
> -configuration of sched_domain topology [2]
> -update and consolidation of cpu_power (this patchset)
> -tasks packing algorithm
>
> SMT system is no more the only system that can have a CPUs with an original
> capacity that is different from the default value. We need to extend the use of
> cpu_power_orig to all kind of platform so the scheduler will have both the
> maximum capacity (cpu_power_orig/power_orig) and the current capacity
> (cpu_power/power) of CPUs and sched_groups. A new function arch_scale_cpu_power
> has been created and replace arch_scale_smt_power, which is SMT specifc in the
> computation of the capapcity of a CPU.
>
> During load balance, the scheduler evaluates the number of tasks that a group
> of CPUs can handle. The current method assumes that tasks have a fix load of
> SCHED_LOAD_SCALE and CPUs have a default capacity of SCHED_POWER_SCALE.
> This assumption generates wrong decision by creating ghost cores and by
> removing real ones when the original capacity of CPUs is different from the
> default SCHED_POWER_SCALE.
>
> Now that we have the original capacity of a CPUS and its activity/utilization,
> we can evaluate more accuratly the capacity of a group of CPUs.
>
> This patchset mainly replaces the old capacity method by a new one and has kept
> the policy almost unchanged whereas we can certainly take advantage of this new
> statistic in several other places of the load balance.
>
> TODO:
> - align variable's and field's name with the renaming [3]
>
> Tests results:
> I have put below results of 2 tests:
> - hackbench -l 500 -s 4096
> - scp of 100MB file on the platform
>
> on a dual cortex-A7
> hackbench scp
> tip/master 25.75s(+/-0.25) 5.16MB/s(+/-1.49)
> + patches 1,2 25.89s(+/-0.31) 5.18MB/s(+/-1.45)
> + patches 3-10 25.68s(+/-0.22) 7.00MB/s(+/-1.88)
> + irq accounting 25.80s(+/-0.25) 8.06MB/s(+/-0.05)
>
> on a quad cortex-A15
> hackbench scp
> tip/master 15.69s(+/-0.16) 9.70MB/s(+/-0.04)
> + patches 1,2 15.53s(+/-0.13) 9.72MB/s(+/-0.05)
> + patches 3-10 15.56s(+/-0.22) 9.88MB/s(+/-0.05)
> + irq accounting 15.99s(+/-0.08) 10.37MB/s(+/-0.03)
>
> The improvement of scp bandwidth happens when tasks and irq are using
> different CPU which is a bit random without irq accounting config
N -> Number of threads of ebizzy
Each 'N' run was for 30 seconds with multiple iterations and averaging them.
N %change in number of records
read after patching
------------------------------------------
1 + 0.0038
4 -17.6429
8 -26.3989
12 -29.5070
16 -38.4842
20 -44.5747
24 -51.9792
28 -34.1863
32 -38.4029
38 -22.2490
42 -7.4843
47 -0.69676
Let me profile it and check where the cause of this degradation is.
Regards
Preeti U Murthy
WARNING: multiple messages have this Message-ID (diff)
From: Preeti U Murthy <preeti@linux.vnet.ibm.com>
To: Vincent Guittot <vincent.guittot@linaro.org>
Cc: peterz@infradead.org, mingo@kernel.org,
linux-kernel@vger.kernel.org, linux@arm.linux.org.uk,
linux-arm-kernel@lists.infradead.org, Morten.Rasmussen@arm.com,
efault@gmx.de, nicolas.pitre@linaro.org,
linaro-kernel@lists.linaro.org, daniel.lezcano@linaro.org
Subject: Re: [PATCH v2 00/11] sched: consolidation of cpu_power
Date: Mon, 26 May 2014 15:14:41 +0530 [thread overview]
Message-ID: <53830D09.4010209@linux.vnet.ibm.com> (raw)
In-Reply-To: <1400860385-14555-1-git-send-email-vincent.guittot@linaro.org>
Hi Vincent,
I conducted test runs of ebizzy on a Power8 box which had 48 cpus.
6 cores with SMT-8 to be precise. Its a single socket box. The results
are as below.
On 05/23/2014 09:22 PM, Vincent Guittot wrote:
> Part of this patchset was previously part of the larger tasks packing patchset
> [1]. I have splitted the latter in 3 different patchsets (at least) to make the
> thing easier.
> -configuration of sched_domain topology [2]
> -update and consolidation of cpu_power (this patchset)
> -tasks packing algorithm
>
> SMT system is no more the only system that can have a CPUs with an original
> capacity that is different from the default value. We need to extend the use of
> cpu_power_orig to all kind of platform so the scheduler will have both the
> maximum capacity (cpu_power_orig/power_orig) and the current capacity
> (cpu_power/power) of CPUs and sched_groups. A new function arch_scale_cpu_power
> has been created and replace arch_scale_smt_power, which is SMT specifc in the
> computation of the capapcity of a CPU.
>
> During load balance, the scheduler evaluates the number of tasks that a group
> of CPUs can handle. The current method assumes that tasks have a fix load of
> SCHED_LOAD_SCALE and CPUs have a default capacity of SCHED_POWER_SCALE.
> This assumption generates wrong decision by creating ghost cores and by
> removing real ones when the original capacity of CPUs is different from the
> default SCHED_POWER_SCALE.
>
> Now that we have the original capacity of a CPUS and its activity/utilization,
> we can evaluate more accuratly the capacity of a group of CPUs.
>
> This patchset mainly replaces the old capacity method by a new one and has kept
> the policy almost unchanged whereas we can certainly take advantage of this new
> statistic in several other places of the load balance.
>
> TODO:
> - align variable's and field's name with the renaming [3]
>
> Tests results:
> I have put below results of 2 tests:
> - hackbench -l 500 -s 4096
> - scp of 100MB file on the platform
>
> on a dual cortex-A7
> hackbench scp
> tip/master 25.75s(+/-0.25) 5.16MB/s(+/-1.49)
> + patches 1,2 25.89s(+/-0.31) 5.18MB/s(+/-1.45)
> + patches 3-10 25.68s(+/-0.22) 7.00MB/s(+/-1.88)
> + irq accounting 25.80s(+/-0.25) 8.06MB/s(+/-0.05)
>
> on a quad cortex-A15
> hackbench scp
> tip/master 15.69s(+/-0.16) 9.70MB/s(+/-0.04)
> + patches 1,2 15.53s(+/-0.13) 9.72MB/s(+/-0.05)
> + patches 3-10 15.56s(+/-0.22) 9.88MB/s(+/-0.05)
> + irq accounting 15.99s(+/-0.08) 10.37MB/s(+/-0.03)
>
> The improvement of scp bandwidth happens when tasks and irq are using
> different CPU which is a bit random without irq accounting config
N -> Number of threads of ebizzy
Each 'N' run was for 30 seconds with multiple iterations and averaging them.
N %change in number of records
read after patching
------------------------------------------
1 + 0.0038
4 -17.6429
8 -26.3989
12 -29.5070
16 -38.4842
20 -44.5747
24 -51.9792
28 -34.1863
32 -38.4029
38 -22.2490
42 -7.4843
47 -0.69676
Let me profile it and check where the cause of this degradation is.
Regards
Preeti U Murthy
next prev parent reply other threads:[~2014-05-26 9:44 UTC|newest]
Thread overview: 216+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-23 15:52 [PATCH v2 00/11] sched: consolidation of cpu_power Vincent Guittot
2014-05-23 15:52 ` Vincent Guittot
2014-05-23 15:52 ` [PATCH v2 01/11] sched: fix imbalance flag reset Vincent Guittot
2014-05-23 15:52 ` Vincent Guittot
2014-05-25 10:33 ` Preeti U Murthy
2014-05-25 10:33 ` Preeti U Murthy
2014-05-26 7:49 ` Vincent Guittot
2014-05-26 7:49 ` Vincent Guittot
2014-05-26 9:16 ` Preeti U Murthy
2014-05-26 9:16 ` Preeti U Murthy
2014-05-26 10:14 ` Vincent Guittot
2014-05-26 10:14 ` Vincent Guittot
2014-05-23 15:52 ` [PATCH v2 02/11] sched: remove a wake_affine condition Vincent Guittot
2014-05-23 15:52 ` Vincent Guittot
2014-05-27 12:48 ` Peter Zijlstra
2014-05-27 12:48 ` Peter Zijlstra
2014-05-27 15:19 ` Vincent Guittot
2014-05-27 15:19 ` Vincent Guittot
2014-05-27 15:39 ` Peter Zijlstra
2014-05-27 15:39 ` Peter Zijlstra
2014-05-27 16:14 ` Vincent Guittot
2014-05-27 16:14 ` Vincent Guittot
2014-05-28 6:49 ` Vincent Guittot
2014-05-28 6:49 ` Vincent Guittot
2014-05-28 15:09 ` Dietmar Eggemann
2014-05-28 15:09 ` Dietmar Eggemann
2014-05-28 15:25 ` Vincent Guittot
2014-05-28 15:25 ` Vincent Guittot
2014-05-27 13:43 ` Peter Zijlstra
2014-05-27 13:43 ` Peter Zijlstra
2014-05-27 13:45 ` Peter Zijlstra
2014-05-27 13:45 ` Peter Zijlstra
2014-05-27 15:20 ` Vincent Guittot
2014-05-27 15:20 ` Vincent Guittot
2014-05-23 15:52 ` [PATCH v2 03/11] sched: fix avg_load computation Vincent Guittot
2014-05-23 15:52 ` Vincent Guittot
2014-05-27 13:48 ` Peter Zijlstra
2014-05-27 13:48 ` Peter Zijlstra
2014-05-23 15:52 ` [PATCH v2 04/11] sched: Allow all archs to set the power_orig Vincent Guittot
2014-05-23 15:52 ` Vincent Guittot
2014-05-30 14:04 ` Dietmar Eggemann
2014-05-30 14:04 ` Dietmar Eggemann
2014-05-30 14:46 ` Peter Zijlstra
2014-05-30 14:46 ` Peter Zijlstra
2014-05-30 20:50 ` Vincent Guittot
2014-05-30 20:50 ` Vincent Guittot
2014-06-04 9:42 ` Dietmar Eggemann
2014-06-04 9:42 ` Dietmar Eggemann
2014-06-04 11:15 ` Vincent Guittot
2014-06-04 11:15 ` Vincent Guittot
2014-06-05 8:59 ` Dietmar Eggemann
2014-06-05 8:59 ` Dietmar Eggemann
2014-06-16 9:01 ` Vincent Guittot
2014-06-16 9:01 ` Vincent Guittot
2014-06-03 13:22 ` Morten Rasmussen
2014-06-03 13:22 ` Morten Rasmussen
2014-06-03 14:02 ` Vincent Guittot
2014-06-03 14:02 ` Vincent Guittot
2014-06-04 11:17 ` Morten Rasmussen
2014-06-04 11:17 ` Morten Rasmussen
2014-06-06 7:01 ` Vincent Guittot
2014-06-06 7:01 ` Vincent Guittot
2014-05-23 15:52 ` [PATCH v2 05/11] ARM: topology: use new cpu_power interface Vincent Guittot
2014-05-23 15:52 ` Vincent Guittot
2014-05-25 13:22 ` Preeti U Murthy
2014-05-25 13:22 ` Preeti U Murthy
2014-05-26 8:25 ` Vincent Guittot
2014-05-26 8:25 ` Vincent Guittot
2014-05-26 9:19 ` Preeti U Murthy
2014-05-26 9:19 ` Preeti U Murthy
2014-05-23 15:53 ` [PATCH v2 06/11] sched: add per rq cpu_power_orig Vincent Guittot
2014-05-23 15:53 ` Vincent Guittot
2014-05-23 15:53 ` [PATCH v2 07/11] Revert "sched: Put rq's sched_avg under CONFIG_FAIR_GROUP_SCHED" Vincent Guittot
2014-05-23 15:53 ` Vincent Guittot
2014-05-23 15:53 ` [PATCH v2 08/11] sched: get CPU's activity statistic Vincent Guittot
2014-05-23 15:53 ` Vincent Guittot
2014-05-27 17:32 ` Peter Zijlstra
2014-05-27 17:32 ` Peter Zijlstra
2014-05-28 7:01 ` Vincent Guittot
2014-05-28 7:01 ` Vincent Guittot
2014-05-28 12:10 ` Morten Rasmussen
2014-05-28 12:10 ` Morten Rasmussen
2014-05-28 13:15 ` Vincent Guittot
2014-05-28 13:15 ` Vincent Guittot
2014-05-28 15:47 ` Morten Rasmussen
2014-05-28 15:47 ` Morten Rasmussen
2014-05-28 16:39 ` Vincent Guittot
2014-05-28 16:39 ` Vincent Guittot
2014-06-03 12:03 ` Morten Rasmussen
2014-06-03 12:03 ` Morten Rasmussen
2014-06-03 15:59 ` Peter Zijlstra
2014-06-03 15:59 ` Peter Zijlstra
2014-06-03 17:41 ` Morten Rasmussen
2014-06-03 17:41 ` Morten Rasmussen
2014-06-03 15:50 ` Peter Zijlstra
2014-06-03 15:50 ` Peter Zijlstra
2014-06-03 17:20 ` Morten Rasmussen
2014-06-03 17:20 ` Morten Rasmussen
2014-06-04 7:47 ` Vincent Guittot
2014-06-04 7:47 ` Vincent Guittot
2014-06-04 8:08 ` Peter Zijlstra
2014-06-04 8:08 ` Peter Zijlstra
2014-06-04 8:55 ` Morten Rasmussen
2014-06-04 8:55 ` Morten Rasmussen
2014-06-04 9:23 ` Peter Zijlstra
2014-06-04 9:23 ` Peter Zijlstra
2014-06-04 9:35 ` Vincent Guittot
2014-06-04 9:35 ` Vincent Guittot
2014-06-04 10:25 ` Morten Rasmussen
2014-06-04 10:25 ` Morten Rasmussen
2014-06-04 9:44 ` Morten Rasmussen
2014-06-04 9:44 ` Morten Rasmussen
2014-06-04 9:32 ` Vincent Guittot
2014-06-04 9:32 ` Vincent Guittot
2014-06-04 10:00 ` Morten Rasmussen
2014-06-04 10:00 ` Morten Rasmussen
2014-06-04 10:17 ` Peter Zijlstra
2014-06-04 10:17 ` Peter Zijlstra
2014-06-04 10:36 ` Morten Rasmussen
2014-06-04 10:36 ` Morten Rasmussen
2014-06-04 10:55 ` Peter Zijlstra
2014-06-04 10:55 ` Peter Zijlstra
2014-06-04 11:07 ` Vincent Guittot
2014-06-04 11:07 ` Vincent Guittot
2014-06-04 11:23 ` Morten Rasmussen
2014-06-04 11:23 ` Morten Rasmussen
2014-06-04 11:52 ` Vincent Guittot
2014-06-04 11:52 ` Vincent Guittot
2014-06-04 13:09 ` Morten Rasmussen
2014-06-04 13:09 ` Morten Rasmussen
2014-06-04 13:23 ` Morten Rasmussen
2014-06-04 13:23 ` Morten Rasmussen
2014-05-28 15:17 ` Peter Zijlstra
2014-05-28 15:17 ` Peter Zijlstra
2014-06-03 15:40 ` Peter Zijlstra
2014-06-03 15:40 ` Peter Zijlstra
2014-06-03 17:16 ` Morten Rasmussen
2014-06-03 17:16 ` Morten Rasmussen
2014-06-03 17:37 ` Peter Zijlstra
2014-06-03 17:37 ` Peter Zijlstra
2014-06-03 17:39 ` Peter Zijlstra
2014-06-03 17:39 ` Peter Zijlstra
2014-06-03 23:11 ` Yuyang Du
2014-06-03 23:11 ` Yuyang Du
2014-05-30 9:50 ` Dietmar Eggemann
2014-05-30 9:50 ` Dietmar Eggemann
2014-05-30 19:20 ` Vincent Guittot
2014-05-30 19:20 ` Vincent Guittot
2014-06-01 11:33 ` Dietmar Eggemann
2014-06-01 11:33 ` Dietmar Eggemann
2014-06-02 14:07 ` Vincent Guittot
2014-06-02 14:07 ` Vincent Guittot
2014-05-23 15:53 ` [PATCH v2 09/11] sched: test the cpu's capacity in wake affine Vincent Guittot
2014-05-23 15:53 ` Vincent Guittot
2014-05-28 10:58 ` Peter Zijlstra
2014-05-28 10:58 ` Peter Zijlstra
2014-05-28 11:15 ` Vincent Guittot
2014-05-28 11:15 ` Vincent Guittot
2014-11-24 0:34 ` Wanpeng Li
2014-11-24 0:34 ` Wanpeng Li
2014-11-24 13:23 ` Vincent Guittot
2014-11-24 13:23 ` Vincent Guittot
2014-05-23 15:53 ` [PATCH v2 10/11] sched: move cfs task on a CPU with higher capacity Vincent Guittot
2014-05-23 15:53 ` Vincent Guittot
2014-05-29 9:50 ` Peter Zijlstra
2014-05-29 9:50 ` Peter Zijlstra
2014-05-29 19:37 ` Vincent Guittot
2014-05-29 19:37 ` Vincent Guittot
2014-05-30 6:29 ` Peter Zijlstra
2014-05-30 6:29 ` Peter Zijlstra
2014-05-30 20:05 ` Vincent Guittot
2014-05-30 20:05 ` Vincent Guittot
2014-06-02 17:06 ` Vincent Guittot
2014-06-02 17:06 ` Vincent Guittot
2014-06-03 11:15 ` Peter Zijlstra
2014-06-03 11:15 ` Peter Zijlstra
2014-06-03 12:31 ` Vincent Guittot
2014-06-03 12:31 ` Vincent Guittot
2014-05-29 14:04 ` Peter Zijlstra
2014-05-29 14:04 ` Peter Zijlstra
2014-05-29 19:44 ` Vincent Guittot
2014-05-29 19:44 ` Vincent Guittot
2014-05-30 13:26 ` Dietmar Eggemann
2014-05-30 13:26 ` Dietmar Eggemann
2014-05-30 19:24 ` Vincent Guittot
2014-05-30 19:24 ` Vincent Guittot
2014-05-30 19:45 ` Nicolas Pitre
2014-05-30 19:45 ` Nicolas Pitre
2014-05-30 20:07 ` Vincent Guittot
2014-05-30 20:07 ` Vincent Guittot
2014-05-23 15:53 ` [PATCH v2 11/11] sched: replace capacity by activity Vincent Guittot
2014-05-23 15:53 ` Vincent Guittot
2014-05-29 13:55 ` Peter Zijlstra
2014-05-29 13:55 ` Peter Zijlstra
2014-05-29 19:51 ` Vincent Guittot
2014-05-29 19:51 ` Vincent Guittot
2014-06-02 6:21 ` Preeti U Murthy
2014-06-02 6:21 ` Preeti U Murthy
2014-06-03 9:50 ` Vincent Guittot
2014-06-03 9:50 ` Vincent Guittot
2014-05-29 14:02 ` Peter Zijlstra
2014-05-29 14:02 ` Peter Zijlstra
2014-05-29 19:56 ` Vincent Guittot
2014-05-29 19:56 ` Vincent Guittot
2014-05-30 6:34 ` Peter Zijlstra
2014-05-30 6:34 ` Peter Zijlstra
2014-05-30 19:13 ` Vincent Guittot
2014-05-30 19:13 ` Vincent Guittot
2014-05-26 9:44 ` Preeti U Murthy [this message]
2014-05-26 9:44 ` [PATCH v2 00/11] sched: consolidation of cpu_power Preeti U Murthy
2014-05-26 10:04 ` Vincent Guittot
2014-05-26 10:04 ` Vincent Guittot
2014-05-26 15:54 ` Vincent Guittot
2014-05-26 15:54 ` Vincent Guittot
2014-05-27 5:47 ` Preeti U Murthy
2014-05-27 5:47 ` Preeti U Murthy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53830D09.4010209@linux.vnet.ibm.com \
--to=preeti@linux.vnet.ibm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.