From: Con Kolivas <kernel@kolivas.org>
To: Mike Galbraith <efault@gmx.de>
Cc: lkml <linux-kernel@vger.kernel.org>, Ingo Molnar <mingo@elte.hu>,
Andrew Morton <akpm@osdl.org>,
Nick Piggin <nickpiggin@yahoo.com.au>,
Peter Williams <pwil3058@bigpond.net.au>
Subject: Re: [2.6.16-mm1 patch] throttling tree patches
Date: Fri, 24 Mar 2006 23:34:19 +1100 [thread overview]
Message-ID: <200603242334.19837.kernel@kolivas.org> (raw)
In-Reply-To: <1143202867.7741.76.camel@homer>
On Friday 24 March 2006 23:21, Mike Galbraith wrote:
> On Fri, 2006-03-24 at 22:56 +1100, Con Kolivas wrote:
> > On Friday 24 March 2006 22:16, Mike Galbraith wrote:
> > > This patch does various interactivity cleanups.
> >
> > I have trouble with this patch. By your own admission this patch does 4
> > different things which one patch shouldn't.
>
> They're all part of the same thing, they're just cleanup.
Cleanup? Something that changes behaviour is not cleanup.
>
> > > 1. Removes the barrier between kernel threads and user tasks wrt
> > > dynamic priority handling.
> >
> > This is a bad idea. Subjecting a priority ceiling to kernel threads
> > because they spend a long time idle is not the same as a user task that
> > may be an idle bomb.
>
> Kernel threads don't make the transition, they're sitting there with a
> fully loaded sleep_avg. You stop on the way up, sure, but once there, a
> long sleep doesn't truncate you. Try it.
Threads like kswapd do not have a fully loaded sleep_avg.
> > Most kernel threads do sleep for extended periods and will always
> > end up hitting this ceiling. That could lead to some difficult to
> > understand latencies in scheduling of kernel threads, even if they are
> > nice -5 because they'll expire very easily.
>
> No, they won't. Furthermore, any kernel thread which cannot tolerate
> dynamic priority semantics should not use them, they should be RT.
Very few kernel threads should require RT just to work as you just said, yet
you'll make it harder for them with your changed dynamic priority semantics.
We already know they are not going to be misbehaving userspace tasks and they
deserve simpler semantics than the full interactivity estimator gives.
> > > 2. Removes the priority barrier for IO.
> >
> > Bad again. This caused the biggest detriment on interbench numbers and is
> > by far the most palpable interactivity killer in linux. I/O hurts us lots
> > and this change will be very noticeable.
>
> This barrier is artificial, and has been demonstrated to be harmful to
> some loads.
Which?
> Being practical, if this is demonstrated to still cause
> trouble, I'll happily re-introduce it with a follow-up patch.
Trouble occurs months afterwards this hits mainline since you'll get almost
noone testing it in -mm. It was put there because it hurt interactivity and
you're removing it because you don't like that we have to put a special case
there?
> > > 3. Treats TASK_INTERACTIVE as a transition point that all tasks must
> > > stop at prior to being promoted further.
> >
> > Why? Makes no sense. You end up getting hiccups in the rise of priority
> > of tasks instead of it happening smoothly with sleep.
>
> Quite the opposite, it makes perfect sense. Taking the long sleeper to
> the artificial barrier of prio 16 as stock does is the very reason that
> thud totally destroys the interactive experience. I'd love to remove
> this barrier too, and have 'purity', but OTOH, the interactive border
> _is_ a transition point where the scheduler changes behavior. This is a
> transition point in fact, so treating it as such is indeed correct.
And what does it actually achieve making this change is my question?
I feel this discussion may degenerate beyond this point. Should we say to
agree to disagree at this point? I don't like these changes.
Cheers,
Con
next prev parent reply other threads:[~2006-03-24 12:34 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-24 11:03 [2.6.16-mm1 patch] throttling tree patches Mike Galbraith
2006-03-24 11:07 ` Mike Galbraith
2006-03-24 11:16 ` Mike Galbraith
2006-03-24 11:21 ` Mike Galbraith
2006-03-24 11:24 ` Mike Galbraith
2006-03-24 11:28 ` Mike Galbraith
2006-03-24 11:56 ` Con Kolivas
2006-03-24 11:55 ` Con Kolivas
2006-03-24 11:54 ` Con Kolivas
2006-03-24 11:56 ` Con Kolivas
2006-03-24 12:21 ` Mike Galbraith
2006-03-24 12:34 ` Con Kolivas [this message]
2006-03-24 13:02 ` Mike Galbraith
2006-03-24 13:52 ` Con Kolivas
2006-03-24 14:10 ` Mike Galbraith
2006-03-24 11:38 ` Con Kolivas
2006-03-24 11:37 ` Con Kolivas
2006-03-25 0:25 ` Peter Williams
2006-03-25 5:06 ` Mike Galbraith
2006-03-25 6:18 ` [2.6.16-mm1 patch] ignore timewarps Mike Galbraith
2006-03-25 0:37 ` [2.6.16-mm1 patch] throttling tree patches Peter Williams
2006-03-25 5:11 ` Mike Galbraith
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=200603242334.19837.kernel@kolivas.org \
--to=kernel@kolivas.org \
--cc=akpm@osdl.org \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=nickpiggin@yahoo.com.au \
--cc=pwil3058@bigpond.net.au \
/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