public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: peterz@infradead•org (Peter Zijlstra)
To: linux-arm-kernel@lists•infradead.org
Subject: [RFC PATCH v3 3/6] sched: pack small tasks
Date: Fri, 26 Apr 2013 12:18:49 +0200	[thread overview]
Message-ID: <20130426101849.GD8669@dyad.programming.kicks-ass.net> (raw)
In-Reply-To: <5152C83F.6060509@linux.vnet.ibm.com>

On Wed, Mar 27, 2013 at 03:51:51PM +0530, Preeti U Murthy wrote:
> Hi,
> 
> On 03/26/2013 05:56 PM, Peter Zijlstra wrote:
> > On Fri, 2013-03-22 at 13:25 +0100, Vincent Guittot wrote:
> >> +static bool is_buddy_busy(int cpu)
> >> +{
> >> +       struct rq *rq = cpu_rq(cpu);
> >> +
> >> +       /*
> >> +        * A busy buddy is a CPU with a high load or a small load with
> >> a lot of
> >> +        * running tasks.
> >> +        */
> >> +       return (rq->avg.runnable_avg_sum >
> >> +                       (rq->avg.runnable_avg_period / (rq->nr_running
> >> + 2)));
> >> +}
> > 
> > Why does the comment talk about load but we don't see it in the
> > equation. Also, why does nr_running matter at all? I thought we'd
> > simply bother with utilization, if fully utilized we're done etc..
> > 
> 
> Peter, lets say the run-queue has 50% utilization and is running 2
> tasks. And we wish to find out if it is busy. We would compare this
> metric with the cpu power, which lets say is 100.
> 
> rq->util * 100 < cpu_of(rq)->power.
> 
> In the above scenario would we declare the cpu _not_busy? Or would we do
> the following:
> 
> (rq->util * 100) * #nr_running <  cpu_of(rq)->power and conclude that it
> is just enough _busy_ to not take on more processes?

That is just confused... ->power doesn't have anything to do with a per-cpu
measure. ->power is a inter-cpu measure of relative compute capacity.

Mixing in nr_running confuses things even more; it doesn't matter how many
tasks it takes to push utilization up to 100%; once its there the cpu simply
cannot run more.

So colour me properly confused..

  parent reply	other threads:[~2013-04-26 10:18 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-22 12:25 [RFC PATCH v3 0/6] sched: packing small tasks Vincent Guittot
2013-03-22 12:25 ` [RFC PATCH v3 1/6] Revert "sched: Introduce temporary FAIR_GROUP_SCHED dependency for load-tracking" Vincent Guittot
2013-03-22 12:25 ` [RFC PATCH v3 2/6] sched: add a new SD_SHARE_POWERDOMAIN flag for sched_domain Vincent Guittot
2013-03-22 12:25 ` [RFC PATCH v3 3/6] sched: pack small tasks Vincent Guittot
2013-03-26 12:26   ` Peter Zijlstra
2013-03-27 10:21     ` Preeti U Murthy
2013-03-27 11:00       ` Vincent Guittot
2013-04-26 10:30         ` Peter Zijlstra
2013-04-26 11:34           ` Vincent Guittot
2013-04-26 10:18       ` Peter Zijlstra [this message]
2013-04-26 10:32         ` Preeti U Murthy
2013-03-26 12:37   ` Peter Zijlstra
2013-03-26 13:00     ` Vincent Guittot
2013-03-27  4:33     ` Preeti U Murthy
2013-03-27  4:48       ` Alex Shi
2013-03-27  8:51         ` Peter Zijlstra
2013-03-26 12:46   ` Peter Zijlstra
2013-03-26 13:53     ` Vincent Guittot
2013-03-26 15:29     ` Arjan van de Ven
2013-03-27  8:46       ` Peter Zijlstra
2013-03-27  8:54         ` Vincent Guittot
2013-03-27  9:00           ` Peter Zijlstra
2013-03-27 11:18             ` Catalin Marinas
2013-03-27 14:13               ` Peter Zijlstra
2013-03-27 16:36                 ` Catalin Marinas
2013-03-27 17:18                   ` Nicolas Pitre
2013-03-27 17:37                     ` Catalin Marinas
2013-03-27 17:20                   ` Vincent Guittot
2013-03-27 18:01                     ` Catalin Marinas
2013-03-27 15:37           ` Nicolas Pitre
2013-03-22 12:25 ` [RFC PATCH v3 4/6] sched: secure access to other CPU statistics Vincent Guittot
2013-03-26 12:50   ` Peter Zijlstra
2013-03-26 13:06     ` Vincent Guittot
2013-03-22 12:25 ` [RFC PATCH v3 5/6] sched: pack the idle load balance Vincent Guittot
2013-03-26 12:52   ` Peter Zijlstra
2013-03-26 14:03     ` Vincent Guittot
2013-03-26 14:42       ` Peter Zijlstra
2013-03-26 15:55         ` Vincent Guittot
2013-03-27  4:56           ` Alex Shi
2013-03-27  8:05             ` Vincent Guittot
2013-03-27  8:47               ` Alex Shi
2013-03-27 10:30                 ` Vincent Guittot
2013-03-27 13:32                   ` Alex Shi
2013-03-27  8:49             ` Peter Zijlstra
2013-04-05 11:08         ` Vincent Guittot
2013-04-22  5:45           ` Preeti U Murthy
     [not found]             ` <CAKfTPtCCCifC=c+xjjnAH_HSqkR80PiQoddQKXPHuZwZawbvcA@mail.gmail.com>
2013-04-23  2:23               ` Alex Shi
2013-04-23  4:57                 ` Preeti U Murthy
2013-04-23 15:30                 ` Arjan van de Ven
2013-04-26 10:54                   ` Peter Zijlstra
2013-04-23  4:36               ` Preeti U Murthy
2013-03-22 12:25 ` [RFC PATCH v3 6/6] ARM: sched: clear SD_SHARE_POWERDOMAIN Vincent Guittot
2013-03-23 11:55 ` [RFC PATCH v3 0/6] sched: packing small tasks Preeti U Murthy
2013-03-25  9:58   ` 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=20130426101849.GD8669@dyad.programming.kicks-ass.net \
    --to=peterz@infradead$(echo .)org \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox