[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070417062306.GD1057@wotan.suse.de>
Date: Tue, 17 Apr 2007 08:23:06 +0200
From: Nick Piggin <npiggin@...e.de>
To: Peter Williams <pwil3058@...pond.net.au>
Cc: "Michael K. Edwards" <medwards.linux@...il.com>,
William Lee Irwin III <wli@...omorphy.com>,
Ingo Molnar <mingo@...e.hu>, Matt Mackall <mpm@...enic.com>,
Con Kolivas <kernel@...ivas.org>, linux-kernel@...r.kernel.org,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Mike Galbraith <efault@....de>,
Arjan van de Ven <arjan@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]
On Tue, Apr 17, 2007 at 04:03:41PM +1000, Peter Williams wrote:
> Nick Piggin wrote:
> >
> >But you add extra code for that on top of what we have, and are also
> >prevented from making per-cpu assumptions.
> >
> >And you can get N CPUs per runqueue behaviour by having them in a domain
> >with no restrictions on idle balancing. So where does your increased
> >flexibilty come from?
> >
> >>One advantage of allowing multiple CPUs per run queue would be at the
> >>smaller end of the system scale i.e. a PC with a single hyper threading
> >>chip (i.e. 2 CPUs) would not need to worry about load balancing at all
> >>if both CPUs used the one runqueue and all the nasty side effects that
> >>come with hyper threading would be minimized at the same time.
> >
> >I don't know about that -- the current load balancer already minimises
> >the nasty multi threading effects. SMT is very important for IBM's chips
> >for example, and they've never had any problem with that side of it
> >since it was introduced and bugs ironed out (at least, none that I've
> >heard).
> >
>
> There's a lot of ugly code in the load balancer that is only there to
> overcome the side effects of SMT and dual core. A lot of it was put
> there by Intel employees trying to make load balancing more friendly to
I agree that some of that has exploded complexity. I have some
thoughts about better approaches for some of those things, but
basically been stuck working on VM problems for a while.
> their systems. What I'm suggesting is that an N CPUs per runqueue is a
> better way of achieving that end. I may (of course) be wrong but I
> think that the idea deserves more consideration than you're willing to
> give it.
Put it this way: it is trivial to group the load balancing stats
of N CPUs with their own runqueues. Just put them under a domain
and take the sum. The domain essentially takes on the same function
as a single queue with N CPUs under it. Anything _further_ you can
do with individual runqueues (like naturally adding an affinity
pressure ranging from nothing to absolute) are things that you
don't trivially get with 1:N approach. AFAIKS.
So I will definitely give any idea consideration, but I just need to
be shown where the benefit comes from.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists