From: Nick Piggin <nickpiggin@yahoo.com.au>
To: vatsa@in.ibm.com
Cc: george@mvista.com, mingo@elte.hu,
high-res-timers-discourse@lists.sourceforge.net,
linux-kernel@vger.kernel.org
Subject: Re: VST and Sched Load Balance
Date: Thu, 07 Apr 2005 23:07:55 +1000 [thread overview]
Message-ID: <425530AB.90605@yahoo.com.au> (raw)
In-Reply-To: <20050407124629.GA17268@in.ibm.com>
Srivatsa Vaddagiri wrote:
> I think a potential area which VST may need to address is
> scheduler load balance. If idle CPUs stop taking local timer ticks for
> some time, then during that period it could cause the various runqueues to
> go out of balance, since the idle CPUs will no longer pull tasks from
> non-idle CPUs.
>
Yep.
> Do we care about this imbalance? Especially considering that most
> implementations will let the idle CPUs sleep only for some max duration
> (~900 ms in case of x86).
>
I think we do care, yes. It could be pretty harmful to sleep for
even a few 10s of ms on a regular basis for some workloads. Although
I guess many of those will be covered by try_to_wake_up events...
Not sure in practice, I would imagine it will hurt some multiprocessor
workloads.
> If we do care about this imbalance, then we could hope that the balance logic
> present in try_to_wake_up and sched_exec may avoid this imbalance, but can we
> bank upon these events to restore the runqueue balance?
>
> If we cannot, then I had something in mind on these lines:
>
> 1. A non-idle CPU (having nr_running > 1) can wakeup a idle sleeping CPU if it
> finds that the sleeping CPU has not balanced itself for it's
> "balance_interval" period.
>
> 2. It would be nice to minimize the "cross-domain" wakeups. For ex: we may want
> to avoid a non-idle CPU in node B sending a wakeup to a idle sleeping CPU in
> another node A, when this wakeup could have been sent from another non-idle
> CPU in node A itself.
>
3. This is exactly one of the situations that the balancing backoff code
was designed for. Can you just schedule interrupts to fire when the
next balance interval has passed? This may require some adjustments to
the backoff code in order to get good powersaving, but it would be the
cleanest approach from the scheduler's point of view.
Nick
--
SUSE Labs, Novell Inc.
next prev parent reply other threads:[~2005-04-07 13:08 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-07 12:46 VST and Sched Load Balance Srivatsa Vaddagiri
2005-04-07 13:07 ` Nick Piggin [this message]
2005-04-07 14:00 ` Srivatsa Vaddagiri
2005-04-07 14:06 ` Nick Piggin
2005-05-05 14:39 ` Srivatsa Vaddagiri
2005-05-05 14:52 ` Nick Piggin
2005-05-05 16:15 ` Srivatsa Vaddagiri
2005-04-07 15:10 ` Ingo Molnar
2005-04-08 5:34 ` Srivatsa Vaddagiri
2005-04-08 6:33 ` Nick Piggin
2005-04-19 16:07 ` Nish Aravamudan
2005-04-20 9:11 ` Srivatsa Vaddagiri
-- strict thread matches above, loose matches on Subject: below --
2005-04-07 16:25 Srivatsa Vaddagiri
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=425530AB.90605@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=george@mvista.com \
--cc=high-res-timers-discourse@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=vatsa@in.ibm.com \
/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