mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andrew Theurer <habanero@us.ibm.com>
To: Nick Piggin <piggin@cyberone.com.au>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Minor scheduler fix to get rid of skipping in xmms
Date: Thu, 11 Sep 2003 09:37:29 -0500	[thread overview]
Message-ID: <200309110937.29165.habanero@us.ibm.com> (raw)
In-Reply-To: <3F607E4F.8070200@cyberone.com.au>


> >>>I see Nick's balance patch as somewhat harmless, at least combined with
> >>> A3 patch.  However, one concern is that the "ping-pong" steal interval
> >>> is not really 200ms, but 200ms/(nr_cpus-1), which without A3, could
> >>> show up as a problem, especially on an 8 way box.  In addition, I do
> >>> think there's a problem with num tasks we steal.  It should not be
> >>> imbalance/2, it should be: max_load - (node_nr_running /
> >>> num_cpus_node).  If we steal any more than this, which is quite
> >>> possible with imbalance/2, then it's likely this_cpu now has too many
> >>> tasks, and some other cpu will steal again. Using *imbalance/2 works
> >>> fine on 2-way smp, but I'm pretty sure we "over steal" tasks on 4 way
> >>> and up.  Anyway, I'm getting off topic here...
> >>
> >>IIRC max_load is supposed to be the number of tasks on the runqueue
> >>being stolen from, isn't it?
> >
> >Yes, but I think I still got this wrong.  Ideally, once we finish
> > stealing, the busiest runqueue should not have more than
> > node_nr_runing/nr_cpus_node, but more importantly, this_cpu should not
> > have more than
> >node_nr_running/nr_cpus_node, so maybe it should be:
> >
> >min(a,b) where
> >a = max_load - load_average	How much we are over the load_average
> >b = load_average - this_load	How much we are under the load_average
> >load_average = node_nr_runing / nr_cpus_node.
> >node_nr_running can be summed as we look for the busiest queue, so it
> > should not be too costly.
> >if min(a,b) is neagtive (this_cpu's runqueue length was greater than
> >load_average) we don't steal at all.
>
> Oh OK you're thinking about balancing across the entire NUMA. I was just
> thinking it will eventually settle down, but you're right: its probably
> better to overdampen the balancing than to underdampen it.

Actually this is really geared towards within the node.  The goal for each cpu 
in the node (or just a non NUMA system) should be to steal just enough to 
have rq->nr_running to be nr_running()/nr_cpus.  I'm still not sure how many 
tasks we should really steal from internode balance.  


  reply	other threads:[~2003-09-11 14:41 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-11  2:55 Andrew Theurer
2003-09-11 11:04 ` Nick Piggin
2003-09-11 13:05   ` Andrew Theurer
2003-09-11 13:53     ` Nick Piggin
2003-09-11 14:37       ` Andrew Theurer [this message]
  -- strict thread matches above, loose matches on Subject: below --
2003-09-11 23:32 Craig Thomas
     [not found] <tCPY.4xU.1@gated-at.bofh.it>
     [not found] ` <tDsR.5tY.31@gated-at.bofh.it>
     [not found]   ` <tZ0f.49P.5@gated-at.bofh.it>
     [not found]     ` <tZjz.4Bn.7@gated-at.bofh.it>
2003-09-09 23:24       ` David Mosberger-Tang
2003-09-08 22:27 Steven Pratt
2003-09-08 22:56 ` Andrew Morton
2003-09-08 23:22   ` William Lee Irwin III
2003-09-09  2:10   ` Con Kolivas
2003-09-09  2:16     ` Con Kolivas
2003-09-09  2:31       ` Con Kolivas
2003-09-09  2:33         ` Andrew Morton
2003-09-09  4:14         ` Nick Piggin
2003-09-09  6:49           ` Con Kolivas
2003-09-09 23:53           ` Cliff White
2003-09-10  2:12             ` Nick Piggin
2003-09-10 19:05               ` Steven Pratt
2003-09-10 20:23                 ` Dave Hansen
     [not found]                 ` <3F5FE385.10204@cyberone.com.au>
     [not found]                   ` <3F607E62.3010903@austin.ibm.com>
     [not found]                     ` <3F60873B.4000005@cyberone.com.au>
2003-09-11 22:57                       ` Steven Pratt
2003-09-11  0:14               ` Cliff White
2003-09-09 22:06   ` Steven Pratt
2003-09-09 22:12     ` Andrew Morton
2003-09-10 13:59       ` Steven Pratt
2003-09-10 18:51   ` Steven Pratt
2003-09-06 15:58 John Yau
2003-09-06 16:57 ` Michael Buesch
2003-09-06  9:46 John Yau
2003-09-06 10:03 ` Michael Buesch
2003-09-06 17:01 ` Robert Love
2003-09-06 17:59   ` John Yau
2003-09-06 18:17   ` John Yau
2003-09-06 19:42     ` Rahul Karnik
2003-09-06 20:04     ` Robert Love
2003-09-06 22:41       ` John Yau
2003-09-07  2:40         ` Martin J. Bligh
2003-09-07  5:13         ` Nick Piggin
2003-09-07  7:48           ` Johnny Yau
2003-09-07  8:10             ` Nick Piggin
2003-09-07  8:35               ` John Yau
2003-09-07  9:26                 ` Nick Piggin
2003-09-07 17:30                   ` John Yau
2003-09-07 17:36                     ` Nick Piggin
2003-09-08  0:22                     ` Con Kolivas
2003-09-08  0:27                       ` David Lang
2003-09-08  0:47                         ` Con Kolivas
2003-09-07  5:08       ` Nick Piggin
2003-09-07  6:18         ` Andrew Morton
2003-09-07  6:29           ` Nick Piggin
2003-09-07  6:45             ` Andrew Morton
2003-09-07  6:59               ` Nick Piggin
2003-09-07  7:02                 ` Nick Piggin
2003-09-07 14:32             ` Martin J. Bligh
2003-09-07 17:02           ` Robert Love
2003-09-07 17:34             ` Andrew Morton
2003-09-07 18:12               ` Nick Piggin
2003-09-07 18:13             ` Nick Piggin

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=200309110937.29165.habanero@us.ibm.com \
    --to=habanero@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=piggin@cyberone.com.au \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®