From: Andrew Morton <akpm@linux-foundation.org>
To: "Dmitry Adamushko" <dmitry.adamushko@gmail.com>
Cc: "Ingo Molnar" <mingo@elte.hu>,
"Linux Kernel" <linux-kernel@vger.kernel.org>,
Con Kolivas <kernel@kolivas.org>, Mike Galbraith <efault@gmx.de>
Subject: Re: [PATCH] [sched] redundant reschedule when set_user_nice() boosts a prio of a task from the "expired" array
Date: Fri, 6 Apr 2007 17:03:19 -0700 [thread overview]
Message-ID: <20070406170319.2c961eba.akpm@linux-foundation.org> (raw)
In-Reply-To: <b647ffbd0704041305t2a140369q56cf9f0746b8fd86@mail.gmail.com>
On Wed, 4 Apr 2007 22:05:40 +0200 "Dmitry Adamushko" <dmitry.adamushko@gmail.com> wrote:
> Ingo,
>
> following the conversation on "a redundant reschedule call in set_user_prio()",
> here is a possible approach.
>
> The patch is somewhat intrusive as it even dares to adapt TASK_PREEMPTS_CURR().
>
> Nevertheless, this adaptation seems to be ok with all the current use-cases.
>
> Presupposition: TASK_PREEMPTS_CURR(p, rq) will /never/ be used as "a
> mere prio comparator" - e.g. to make decisions on which array a task
> has to be placed in.
>
>
> =====
>
> o Make TASK_PREEMPTS_CURR(task, rq) return "true" only if the task's
> prio is higher than the current's one and the task is in the "active"
> array.
> This ensures we don't make redundant resched_task() calls when the
> task is in the "expired" array (as may happen now in set_user_prio(),
> rt_mutex_setprio() and pull_task() ) ;
>
> o generilise conditions for a call to resched_task() in
> set_user_nice(), rt_mutex_setprio() and sched_setscheduler()
>
grief. This patch conflicts seriously with the staircase scheduler in -mm.
So to merge it I need to
- apply it
- then apply a revert-it-again patch
- then apply staircase
- then ask Con to cook up a staircase-based equivalent of your change.
so
- your code only gets publically tested in its against-staircase version
- the against-mainline version will get merged without having been
publically tested outside of staircase
which is probably all OK for a 2.6.22-rc1 thing, provided Ingo can give a
confident ack.
Where are we at with staircase anyway? Is it looking like a 2.6.22 thing?
I don't personally think we've yet seen enough serious performance testing
to permit a merge, apart from other issues...
> --- linux-2.6.21-rc5/kernel/sched-orig.c 2007-04-04
> 18:26:19.000000000 +0200
> +++ linux-2.6.21-rc5/kernel/sched.c 2007-04-04 18:26:43.000000000 +0200
> @@ -168,7 +168,7 @@ unsigned long long __attribute__((weak))
> (MAX_BONUS / 2 + DELTA((p)) + 1) / MAX_BONUS - 1))
>
> #define TASK_PREEMPTS_CURR(p, rq) \
> - ((p)->prio < (rq)->curr->prio)
> + (((p)->prio < (rq)->curr->prio) && ((p)->array == (rq)->active))
Your patch was wordwrapped and had its tabs replaced with spaces. Please
fix your email client.
(I might as well make that paragraph my .signature)
next prev parent reply other threads:[~2007-04-07 0:03 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-04 14:04 [sched] redundant reschedule when set_user_nice() boosts a prio of a task from the "expired" array Dmitry Adamushko
2007-04-04 14:15 ` Ingo Molnar
2007-04-04 15:23 ` Dmitry Adamushko
2007-04-04 20:05 ` [PATCH] " Dmitry Adamushko
2007-04-07 0:03 ` Andrew Morton [this message]
2007-04-07 9:16 ` Dmitry Adamushko
2007-04-07 9:24 ` Ingo Molnar
2007-04-07 16:20 ` SD scheduler testing hitch Mike Galbraith
2007-04-07 17:17 ` Mike Galbraith
2007-04-08 8:02 ` Mike Galbraith
2007-04-09 0:14 ` Dmitry Adamushko
2007-04-09 0:23 ` Dmitry Adamushko
2007-04-09 5:54 ` Mike Galbraith
2007-04-07 9:19 ` [PATCH] [sched] redundant reschedule when set_user_nice() boosts a prio of a task from the "expired" array Ingo Molnar
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=20070406170319.2c961eba.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=dmitry.adamushko@gmail.com \
--cc=efault@gmx.de \
--cc=kernel@kolivas.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/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