From: Nick Piggin <piggin@cyberone.com.au>
To: Andi Kleen <ak@muc.de>
Cc: "Nakajima, Jun" <jun.nakajima@intel.com>,
Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org
Subject: Re: 2.6.4-mm1
Date: Sat, 13 Mar 2004 01:38:24 +1100 [thread overview]
Message-ID: <4051CB60.5050309@cyberone.com.au> (raw)
In-Reply-To: <20040312141450.GB80958@colin2.muc.de>
Andi Kleen wrote:
>On Fri, Mar 12, 2004 at 03:24:43PM +1100, Nick Piggin wrote:
>
>>
>>Andi Kleen wrote:
>>
>>
>>>On Thu, Mar 11, 2004 at 07:04:50PM -0800, Nakajima, Jun wrote:
>>>
>>>
>>>>As we can have more complex architectures in the future, the scheduler
>>>>is flexible enough to represent various scheduling domains effectively,
>>>>and yet keeps the common scheduler code simple.
>>>>
>>>>
>>>I think for SMT alone it's too complex and for NUMA it doesn't do
>>>the right thing for "modern NUMAs" (where NUMA factor is very low
>>>and you have a small number of CPUs for each node).
>>>
>>>
>>>
>>For SMT it is a less complex than shared runqueues, it is actually
>>less lines of code and smaller object size.
>>
>
>By moving all the complexity into arch/* ?
>
>
Well you have a point in a way. At least it is configurable, per
arch, and done in setup __init code. The whole point really was
to move the complexity to arch/* (or they can just use the default
setup, obviously).
>>It is also more flexible than shared runqueues in that you can still
>>have control over each sibling's runqueue. Con's SMT nice patch for
>>example would probably be more difficult to do with shared runqueues.
>>Shared runqueues also gives zero affinity to siblings. While current
>>implementations may not (do they?) care, future ones might.
>>
>>For Opteron type NUMA, it actually balances much more aggressively
>>than the default NUMA scheduler, especially when a CPU is idle. I
>>don't doubt you aren't seeing great performance, but it should be
>>able to be fixed.
>>
>>The problem is just presumably your lack of time to investigate
>>further, and my lack of problem descriptions or Opterons.
>>
>
>I didn't investigate further on your scheduler because I have my
>doubts about it being the right approach and it seems to have
>some obvious design bugs (like the racy SMT setup)
>
>
If you have any ideas about other approaches I would be interested
to hear them...
Setup needs some work, yes. It isn't a fundamental problem.
>The problem description is still the same as it was in the past.
>
>Basically it is: schedule as on SMP, but avoid local affinity for newly
>created tasks and balance early. Allow to disable all old style NUMA
>heuristics.
>
>
That is pretty much what it does now. Apart from moving newly created
tasks. I think you're pretty brave for wanting to move new *threads*
off node. If anything, they are the most likely possible thing to
share memory. But I could add a sched_balance_fork which you can turn
on if you like.
>Longer term some homenode scheduling affinity may be still useful,
>but I tried to get that to work on 2.4 and failed, so I'm not sure
>it can be done. The right way may be to keep track how much memory
>each thread allocated on each node and preferably schedule on
>the node with the most memory. But that's future work.
>
>
Yeah. There is no reason why the scheduler should perform worse than
2.4 for you. We have to get to the bottom of it.
>>One thing you definitely want is a sched_balance_fork, is that right?
>>Have you been able to do any benchmarks on recent -mm kernels?
>>
>
>I sent the last benchmarks I did to you (including the tweaks you
>suggested). All did worse than the standard scheduler. Did you
>change anything significant that makes rebenchmarking useful?
>
>
Yeah thanks for those. There have been quite a few changes and fixes
to the scheduler since then, so I think it would be worth re-testing.
next prev parent reply other threads:[~2004-03-12 14:38 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-12 3:04 2.6.4-mm1 Nakajima, Jun
2004-03-12 3:14 ` 2.6.4-mm1 Andi Kleen
2004-03-12 4:24 ` 2.6.4-mm1 Nick Piggin
2004-03-12 14:14 ` 2.6.4-mm1 Andi Kleen
2004-03-12 14:38 ` Nick Piggin [this message]
[not found] <1yygN-7Ut-65@gated-at.bofh.it>
[not found] ` <1yyqt-83X-23@gated-at.bofh.it>
[not found] ` <1yyqs-83X-17@gated-at.bofh.it>
[not found] ` <1yyJK-8mD-41@gated-at.bofh.it>
[not found] ` <1yzPs-1bI-21@gated-at.bofh.it>
[not found] ` <1yGe9-7Rk-23@gated-at.bofh.it>
[not found] ` <1yI6f-1Bj-3@gated-at.bofh.it>
[not found] ` <1yQdz-1Uf-7@gated-at.bofh.it>
[not found] ` <1yRCI-3lE-19@gated-at.bofh.it>
2004-03-19 5:58 ` 2.6.4-mm1 Andi Kleen
2004-03-12 13:49 ` 2.6.4-mm1 Joe Thornber
2004-03-12 14:03 ` 2.6.4-mm1 Andi Kleen
[not found] ` <1yTO6-5JU-25@gated-at.bofh.it>
[not found] ` <1yU7Z-624-11@gated-at.bofh.it>
2004-03-19 6:00 ` 2.6.4-mm1 Andi Kleen
[not found] <1ysXv-wm-11@gated-at.bofh.it>
[not found] ` <1yuG3-2XI-15@gated-at.bofh.it>
2004-03-17 23:21 ` 2.6.4-mm1 Andi Kleen
2004-03-11 19:28 ` 2.6.4-mm1 Andrew Morton
2004-03-11 20:21 ` 2.6.4-mm1 Andi Kleen
2004-03-11 20:48 ` 2.6.4-mm1 Andrew Morton
2004-03-11 23:37 ` 2.6.4-mm1 Nick Piggin
[not found] ` <1yxuq-6y6-13@gated-at.bofh.it>
2004-03-17 23:25 ` 2.6.4-mm1 Andi Kleen
2004-03-11 13:45 ` 2.6.4-mm1 Mickael Marchand
2004-03-11 14:48 ` 2.6.4-mm1 Andi Kleen
2004-03-11 15:10 ` 2.6.4-mm1 Mickael Marchand
2004-03-11 15:20 ` 2.6.4-mm1 Andi Kleen
2004-03-11 21:43 ` 2.6.4-mm1 Joe Thornber
2004-03-11 21:57 ` 2.6.4-mm1 Joe Thornber
2004-03-11 21:59 ` 2.6.4-mm1 Joel Becker
2004-03-11 22:02 ` 2.6.4-mm1 Joel Becker
2004-03-11 22:11 ` 2.6.4-mm1 Chris Friesen
2004-03-11 23:37 ` 2.6.4-mm1 Andi Kleen
2004-03-12 8:22 ` 2.6.4-mm1 Joe Thornber
2004-03-12 9:49 ` 2.6.4-mm1 Joe Thornber
2004-03-12 12:11 ` 2.6.4-mm1 Mickael Marchand
2004-03-12 12:35 ` 2.6.4-mm1 Joe Thornber
2004-03-12 22:48 ` 2.6.4-mm1 Hugo Mills
2004-03-11 21:38 ` 2.6.4-mm1 Joe Thornber
2004-03-11 23:33 ` 2.6.4-mm1 Andi Kleen
-- strict thread matches above, loose matches on Subject: below --
2004-03-14 16:13 2.6.4-mm1 Nakajima, Jun
2004-03-14 17:04 ` 2.6.4-mm1 Grzegorz Kulewski
2004-03-14 8:04 2.6.4-mm1 Nakajima, Jun
2004-03-14 8:31 ` 2.6.4-mm1 Andrew Morton
2004-03-12 23:04 2.6.4-mm1 Subodh Shrivastava
2004-03-12 23:55 ` 2.6.4-mm1 Andrew Morton
2004-03-13 13:12 ` 2.6.4-mm1 SUBODH SHRIVASTAVA
[not found] <A6974D8E5F98D511BB910002A50A6647615F4D9F@hdsmsx402.hd.intel.com>
2004-03-12 15:48 ` 2.6.4-mm1 Len Brown
2004-03-11 18:46 2.6.4-mm1 Nakajima, Jun
2004-03-11 7:31 2.6.4-mm1 Andrew Morton
2004-03-11 8:26 ` 2.6.4-mm1 Jens Axboe
2004-03-11 8:30 ` 2.6.4-mm1 Andrew Morton
2004-03-11 9:34 ` 2.6.4-mm1 Matthias Urlichs
2004-03-11 9:17 ` 2.6.4-mm1 Mickael Marchand
2004-03-11 11:06 ` 2.6.4-mm1 Andrew Morton
2004-03-11 11:22 ` 2.6.4-mm1 Anton Blanchard
2004-03-11 12:23 ` 2.6.4-mm1 Mickael Marchand
2004-03-11 13:40 ` 2.6.4-mm1 jlnance
2004-03-11 19:25 ` 2.6.4-mm1 Mike Fedyk
2004-03-11 22:22 ` 2.6.4-mm1 Andrew Morton
2004-03-11 13:49 ` 2.6.4-mm1 Anton Blanchard
2004-03-11 23:29 ` 2.6.4-mm1 Nick Piggin
2004-03-12 2:03 ` 2.6.4-mm1 Nick Piggin
2004-03-12 2:12 ` 2.6.4-mm1 Anton Blanchard
2004-03-12 5:11 ` 2.6.4-mm1 Anton Blanchard
2004-03-11 13:52 ` 2.6.4-mm1 Anton Blanchard
2004-03-11 15:23 ` 2.6.4-mm1 William Lee Irwin III
2004-03-11 15:54 ` 2.6.4-mm1 William Lee Irwin III
2004-03-11 17:06 ` 2.6.4-mm1 Redeeman
2004-03-11 17:53 ` 2.6.4-mm1 Norberto Bensa
2004-03-11 18:09 ` 2.6.4-mm1 Andrew Morton
2004-03-11 18:14 ` 2.6.4-mm1 Redeeman
2004-03-11 18:46 ` 2.6.4-mm1 Andrew Morton
2004-03-11 20:58 ` 2.6.4-mm1 Redeeman
2004-03-11 21:10 ` 2.6.4-mm1 Redeeman
2004-03-11 18:22 ` 2.6.4-mm1 Norberto Bensa
2004-03-11 20:29 ` 2.6.4-mm1 Felipe Alfaro Solana
2004-03-12 1:03 ` 2.6.4-mm1 Neil Brown
2004-03-12 1:22 ` 2.6.4-mm1 Andrew Morton
2004-03-12 5:48 ` 2.6.4-mm1 Neil Brown
2004-03-12 7:50 ` 2.6.4-mm1 Andrew Morton
2004-03-13 10:25 ` 2.6.4-mm1 Neil Brown
2004-03-12 9:04 ` 2.6.4-mm1 Helge Hafting
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=4051CB60.5050309@cyberone.com.au \
--to=piggin@cyberone.com.au \
--cc=ak@muc.de \
--cc=akpm@osdl.org \
--cc=jun.nakajima@intel.com \
--cc=linux-kernel@vger.kernel.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.