From: Ingo Molnar <mingo@elte.hu>
To: Peter Williams <pwil3058@bigpond.net.au>
Cc: Nick Piggin <npiggin@suse.de>,
"Siddha, Suresh B" <suresh.b.siddha@intel.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] sched: Fix bug in balance_tasks()
Date: Tue, 7 Aug 2007 09:11:28 +0200 [thread overview]
Message-ID: <20070807071128.GD19745@elte.hu> (raw)
In-Reply-To: <46B7F568.3040901@bigpond.net.au>
* Peter Williams <pwil3058@bigpond.net.au> wrote:
> There are two problems with balance_tasks() and how it used:
>
> 1. The variables best_prio and best_prio_seen (inherited from the old
> move_tasks()) were only required to handle problems caused by the
> active/expired arrays, the order in which they were processed and the
> possibility that the task with the highest priority could be on
> either. These issues are no longer present and the extra overhead
> associated with their use is unnecessary (and possibly wrong).
indeed.
> 2. In the absence of CONFIG_FAIR_GROUP_SCHED being set, the same
> this_best_prio variable needs to be used by all scheduling classes or
> there is a risk of moving too much load. E.g. if the highest priority
> task on this at the beginning is a fairly low priority task and the rt
> class migrates a task (during its turn) then that moved task becomes the
> new highest priority task on this_rq but when the sched_fair class
> initializes its copy of this_best_prio it will get the priority of the
> original highest priority task as, due to the run queue locks being
> held, the reschedule triggered by pull_task() will not have taken place.
> This could result in inappropriate overriding of skip_for_load and
> excessive load being moved.
looks good to me - i've applied your fixes to my tree. (I'll give it a
good workout to see if there's any negative impact on the quality
balancing.)
Ingo
prev parent reply other threads:[~2007-08-07 7:11 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-07 4:30 [PATCH] sched: Fix bug in balance_tasks() Peter Williams
2007-08-07 7:11 ` Ingo Molnar [this message]
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=20070807071128.GD19745@elte.hu \
--to=mingo@elte.hu \
--cc=linux-kernel@vger.kernel.org \
--cc=npiggin@suse.de \
--cc=pwil3058@bigpond.net.au \
--cc=suresh.b.siddha@intel.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 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.