From: Peter Zijlstra <peterz@infradead.org> To: Nicolas Pitre <nicolas.pitre@linaro.org> Cc: Vincent Guittot <vincent.guittot@linaro.org>, Ingo Molnar <mingo@kernel.org>, linux-kernel <linux-kernel@vger.kernel.org>, Preeti U Murthy <preeti@linux.vnet.ibm.com>, Russell King - ARM Linux <linux@arm.linux.org.uk>, LAK <linux-arm-kernel@lists.infradead.org>, Rik van Riel <riel@redhat.com>, Morten Rasmussen <Morten.Rasmussen@arm.com>, Mike Galbraith <efault@gmx.de>, "linaro-kernel@lists.linaro.org" <linaro-kernel@lists.linaro.org>, Daniel Lezcano <daniel.lezcano@linaro.org>, Dietmar Eggemann <dietmar.eggemann@arm.com> Subject: Re: [PATCH v5 11/12] sched: replace capacity_factor by utilization Date: Mon, 15 Sep 2014 22:01:59 +0200 [thread overview] Message-ID: <20140915200159.GE2840@worktop.localdomain> (raw) In-Reply-To: <alpine.LFD.2.11.1409151451540.8647@knanqh.ubzr> On Mon, Sep 15, 2014 at 03:07:44PM -0400, Nicolas Pitre wrote: > On Mon, 15 Sep 2014, Peter Zijlstra wrote: > Let's suppose a task running on a 1GHz CPU producing a load of 100. > > The same task on a 100MHz CPU would produce a load of 1000 because that > CPU is 10x slower. So to properly evaluate the load of a task when > moving it around, we want to normalize its load based on the CPU > performance. In this case the correction factor would be 0.1. > > Given those normalized loads, we need to scale CPU capacity as well. If > the 1GHz CPU can handle 50 of those tasks it has a capacity of 5000. > > In theory the 100MHz CPU could handle only 5 of those tasks, meaning it > has a normalized capacity of 500, but only if the load metric is already > normalized as well. > > Or am I completely missing the point here? So I was thinking of the usage as per the next patch; where we decide if a cpu is 'full' or not based on the utilization measure. For this measure we're not interested in inter CPU relations at all, and any use of capacity scaling simply doesn't make sense. But I think you asking this question shows a 'bigger' problem in that the Changelogs are entirely failing at describing the actual problem and proposed solution. Because if that were clear, I don't think we would be having this particular discussion.
WARNING: multiple messages have this Message-ID (diff)
From: peterz@infradead.org (Peter Zijlstra) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 11/12] sched: replace capacity_factor by utilization Date: Mon, 15 Sep 2014 22:01:59 +0200 [thread overview] Message-ID: <20140915200159.GE2840@worktop.localdomain> (raw) In-Reply-To: <alpine.LFD.2.11.1409151451540.8647@knanqh.ubzr> On Mon, Sep 15, 2014 at 03:07:44PM -0400, Nicolas Pitre wrote: > On Mon, 15 Sep 2014, Peter Zijlstra wrote: > Let's suppose a task running on a 1GHz CPU producing a load of 100. > > The same task on a 100MHz CPU would produce a load of 1000 because that > CPU is 10x slower. So to properly evaluate the load of a task when > moving it around, we want to normalize its load based on the CPU > performance. In this case the correction factor would be 0.1. > > Given those normalized loads, we need to scale CPU capacity as well. If > the 1GHz CPU can handle 50 of those tasks it has a capacity of 5000. > > In theory the 100MHz CPU could handle only 5 of those tasks, meaning it > has a normalized capacity of 500, but only if the load metric is already > normalized as well. > > Or am I completely missing the point here? So I was thinking of the usage as per the next patch; where we decide if a cpu is 'full' or not based on the utilization measure. For this measure we're not interested in inter CPU relations at all, and any use of capacity scaling simply doesn't make sense. But I think you asking this question shows a 'bigger' problem in that the Changelogs are entirely failing at describing the actual problem and proposed solution. Because if that were clear, I don't think we would be having this particular discussion.
next prev parent reply other threads:[~2014-09-16 3:09 UTC|newest] Thread overview: 164+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-08-26 11:06 [PATCH v5 00/12] sched: consolidation of cpu_capacity Vincent Guittot 2014-08-26 11:06 ` Vincent Guittot 2014-08-26 11:06 ` [PATCH v5 01/12] sched: fix imbalance flag reset Vincent Guittot 2014-08-26 11:06 ` Vincent Guittot 2014-09-19 11:47 ` [tip:sched/core] sched: Fix " tip-bot for Vincent Guittot 2014-08-26 11:06 ` [PATCH v5 02/12] sched: remove a wake_affine condition Vincent Guittot 2014-08-26 11:06 ` Vincent Guittot 2014-09-19 11:47 ` [tip:sched/core] sched: Remove a wake_affine() condition tip-bot for Vincent Guittot 2014-08-26 11:06 ` [PATCH v5 03/12] sched: fix avg_load computation Vincent Guittot 2014-08-26 11:06 ` Vincent Guittot 2014-08-30 12:00 ` Preeti U Murthy 2014-08-30 12:00 ` Preeti U Murthy 2014-09-03 11:09 ` Vincent Guittot 2014-09-03 11:09 ` Vincent Guittot 2014-09-03 23:43 ` Tim Chen 2014-09-03 23:43 ` Tim Chen 2014-09-04 7:17 ` Vincent Guittot 2014-09-04 7:17 ` Vincent Guittot 2014-09-04 16:26 ` Tim Chen 2014-09-04 16:26 ` Tim Chen 2014-09-05 11:10 ` Preeti U Murthy 2014-09-05 11:10 ` Preeti U Murthy 2014-09-19 11:47 ` [tip:sched/core] sched: Fix " tip-bot for Vincent Guittot 2014-08-26 11:06 ` [PATCH v5 04/12] sched: Allow all archs to set the capacity_orig Vincent Guittot 2014-08-26 11:06 ` Vincent Guittot 2014-08-27 13:12 ` Kamalesh Babulal 2014-08-27 13:12 ` Kamalesh Babulal 2014-08-30 17:07 ` Preeti U Murthy 2014-08-30 17:07 ` Preeti U Murthy 2014-09-01 8:05 ` Vincent Guittot 2014-09-01 8:05 ` Vincent Guittot 2014-09-03 8:41 ` Preeti U Murthy 2014-09-03 8:41 ` Preeti U Murthy 2014-09-10 13:50 ` Peter Zijlstra 2014-09-10 13:50 ` Peter Zijlstra 2014-09-10 14:22 ` Vincent Guittot 2014-09-10 14:22 ` Vincent Guittot 2014-09-11 10:36 ` Preeti U Murthy 2014-09-11 10:36 ` Preeti U Murthy 2014-09-19 11:47 ` [tip:sched/core] sched: Allow all architectures to set ' capacity_orig' tip-bot for Vincent Guittot 2014-08-26 11:06 ` [PATCH v5 05/12] ARM: topology: use new cpu_capacity interface Vincent Guittot 2014-08-26 11:06 ` Vincent Guittot 2014-09-11 18:52 ` Nicolas Pitre 2014-09-11 18:52 ` Nicolas Pitre 2014-09-19 11:48 ` [tip:sched/core] ARM: topology: Use the " tip-bot for Vincent Guittot 2014-08-26 11:06 ` [PATCH v5 06/12] sched: add per rq cpu_capacity_orig Vincent Guittot 2014-08-26 11:06 ` Vincent Guittot 2014-08-27 13:32 ` Kamalesh Babulal 2014-08-27 13:32 ` Kamalesh Babulal 2014-08-28 7:34 ` Vincent Guittot 2014-08-28 7:34 ` Vincent Guittot 2014-09-10 13:53 ` Peter Zijlstra 2014-09-10 13:53 ` Peter Zijlstra 2014-09-10 14:19 ` Vincent Guittot 2014-09-10 14:19 ` Vincent Guittot 2014-09-11 19:02 ` Nicolas Pitre 2014-09-11 19:02 ` Nicolas Pitre 2014-09-15 21:22 ` Vincent Guittot 2014-09-15 21:22 ` Vincent Guittot 2014-08-26 11:06 ` [PATCH v5 07/12] sched: test the cpu's capacity in wake affine Vincent Guittot 2014-08-26 11:06 ` Vincent Guittot 2014-09-10 14:19 ` Peter Zijlstra 2014-09-10 14:19 ` Peter Zijlstra 2014-09-19 11:48 ` [tip:sched/core] sched: Test the CPU's capacity in wake_affine() tip-bot for Vincent Guittot 2014-08-26 11:06 ` [PATCH v5 08/12] sched: move cfs task on a CPU with higher capacity Vincent Guittot 2014-08-26 11:06 ` Vincent Guittot 2014-08-30 17:50 ` Preeti U Murthy 2014-08-30 17:50 ` Preeti U Murthy 2014-09-01 8:45 ` Vincent Guittot 2014-09-01 8:45 ` Vincent Guittot 2014-09-03 9:11 ` Preeti U Murthy 2014-09-03 9:11 ` Preeti U Murthy 2014-09-03 11:44 ` Vincent Guittot 2014-09-03 11:44 ` Vincent Guittot 2014-09-03 12:26 ` Preeti U Murthy 2014-09-03 12:26 ` Preeti U Murthy 2014-09-03 12:49 ` Vincent Guittot 2014-09-03 12:49 ` Vincent Guittot 2014-09-11 9:27 ` Peter Zijlstra 2014-09-11 9:27 ` Peter Zijlstra 2014-09-05 12:06 ` Preeti U Murthy 2014-09-05 12:06 ` Preeti U Murthy 2014-09-05 12:24 ` Vincent Guittot 2014-09-05 12:24 ` Vincent Guittot 2014-09-11 10:07 ` Peter Zijlstra 2014-09-11 10:07 ` Peter Zijlstra 2014-09-11 11:20 ` Vincent Guittot 2014-09-11 11:20 ` Vincent Guittot 2014-09-11 10:13 ` Peter Zijlstra 2014-09-11 10:13 ` Peter Zijlstra 2014-09-11 12:14 ` Vincent Guittot 2014-09-11 12:14 ` Vincent Guittot 2014-09-11 11:54 ` Peter Zijlstra 2014-09-11 11:54 ` Peter Zijlstra 2014-08-26 11:06 ` [PATCH v5 09/12] sched: add usage_load_avg Vincent Guittot 2014-08-26 11:06 ` Vincent Guittot 2014-09-04 7:34 ` [PATCH v5 09/11] " Vincent Guittot 2014-09-04 7:34 ` Vincent Guittot 2014-09-11 11:17 ` Peter Zijlstra 2014-09-11 11:17 ` Peter Zijlstra 2014-09-11 11:17 ` [PATCH v5 09/12] " Peter Zijlstra 2014-09-11 11:17 ` Peter Zijlstra 2014-09-11 12:18 ` Vincent Guittot 2014-09-11 12:18 ` Vincent Guittot 2014-09-11 12:20 ` Vincent Guittot 2014-09-11 12:20 ` Vincent Guittot 2014-09-15 19:15 ` Morten Rasmussen 2014-09-15 19:15 ` Morten Rasmussen 2014-09-15 22:33 ` Vincent Guittot 2014-09-15 22:33 ` Vincent Guittot 2014-08-26 11:06 ` [PATCH v5 10/12] sched: get CPU's utilization statistic Vincent Guittot 2014-08-26 11:06 ` Vincent Guittot 2014-09-11 12:34 ` Peter Zijlstra 2014-09-11 12:34 ` Peter Zijlstra 2014-09-11 13:07 ` Vincent Guittot 2014-09-11 13:07 ` Vincent Guittot 2014-09-11 14:04 ` Peter Zijlstra 2014-09-11 14:04 ` Peter Zijlstra 2014-09-11 19:17 ` Nicolas Pitre 2014-09-11 19:17 ` Nicolas Pitre 2014-09-12 7:41 ` Vincent Guittot 2014-09-12 7:41 ` Vincent Guittot 2014-09-15 19:45 ` Morten Rasmussen 2014-09-15 19:45 ` Morten Rasmussen 2014-09-16 22:43 ` Vincent Guittot 2014-09-16 22:43 ` Vincent Guittot 2014-09-15 19:28 ` Morten Rasmussen 2014-09-15 19:28 ` Morten Rasmussen 2014-08-26 11:06 ` [PATCH v5 11/12] sched: replace capacity_factor by utilization Vincent Guittot 2014-08-26 11:06 ` Vincent Guittot 2014-09-11 15:39 ` Peter Zijlstra 2014-09-11 15:39 ` Peter Zijlstra 2014-09-11 16:15 ` Peter Zijlstra 2014-09-11 16:15 ` Peter Zijlstra 2014-09-11 17:26 ` Vincent Guittot 2014-09-11 17:26 ` Vincent Guittot 2014-09-14 19:41 ` Peter Zijlstra 2014-09-14 19:41 ` Peter Zijlstra 2014-09-14 19:51 ` Peter Zijlstra 2014-09-14 19:51 ` Peter Zijlstra 2014-09-15 11:42 ` Peter Zijlstra 2014-09-15 11:42 ` Peter Zijlstra 2014-09-15 19:07 ` Nicolas Pitre 2014-09-15 19:07 ` Nicolas Pitre 2014-09-15 20:01 ` Peter Zijlstra [this message] 2014-09-15 20:01 ` Peter Zijlstra 2014-09-17 18:45 ` Morten Rasmussen 2014-09-17 18:45 ` Morten Rasmussen 2014-09-17 18:58 ` Morten Rasmussen 2014-09-17 18:58 ` Morten Rasmussen 2014-09-17 23:03 ` Peter Zijlstra 2014-09-17 23:03 ` Peter Zijlstra 2014-09-15 22:14 ` Vincent Guittot 2014-09-15 22:14 ` Vincent Guittot 2014-09-15 22:18 ` Vincent Guittot 2014-09-15 22:18 ` Vincent Guittot 2014-09-17 22:25 ` Peter Zijlstra 2014-09-17 22:25 ` Peter Zijlstra 2014-09-18 1:32 ` Vincent Guittot 2014-09-18 1:32 ` Vincent Guittot 2014-09-16 17:00 ` Dietmar Eggemann 2014-09-16 17:00 ` Dietmar Eggemann 2014-08-26 11:06 ` [PATCH v5 12/12] sched: add SD_PREFER_SIBLING for SMT level Vincent Guittot 2014-08-26 11:06 ` Vincent Guittot
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=20140915200159.GE2840@worktop.localdomain \ --to=peterz@infradead.org \ --cc=Morten.Rasmussen@arm.com \ --cc=daniel.lezcano@linaro.org \ --cc=dietmar.eggemann@arm.com \ --cc=efault@gmx.de \ --cc=linaro-kernel@lists.linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@arm.linux.org.uk \ --cc=mingo@kernel.org \ --cc=nicolas.pitre@linaro.org \ --cc=preeti@linux.vnet.ibm.com \ --cc=riel@redhat.com \ --cc=vincent.guittot@linaro.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: linkBe 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.