From: Con Kolivas <kernel@kolivas.org>
To: Mike Galbraith <efault@gmx.de>
Cc: Willy Tarreau <willy@w.ods.org>, Ingo Molnar <mingo@elte.hu>,
lkml <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@osdl.org>,
bugsplatter@gmail.com
Subject: Re: interactive task starvation
Date: Wed, 22 Mar 2006 01:17:54 +1100 [thread overview]
Message-ID: <200603220117.54822.kernel@kolivas.org> (raw)
In-Reply-To: <1142949690.7807.80.camel@homer>
On Wednesday 22 March 2006 01:01, Mike Galbraith wrote:
> On Wed, 2006-03-22 at 00:45 +1100, Con Kolivas wrote:
> > I give up. Add as many tunables as you like in as many places as possible
> > that even less people will understand. You've already told me you'll be
> > running 0,0.
>
> Instead of giving up, how about look at the code and make a suggestion
> for improvement? It's not an easy problem, as you're well aware.
>
> I really don't see why you're (seemingly) getting irate. Tunables for
> this are no different that tunables like CHILD_PENALTY etc etc etc. How
> many casual users know those exist, much less understand them?
Because I strongly believe that tunables for this sort of thing are wrong.
CHILD_PENALTY and friends have never been exported apart from out-of-tree
patches. These were meant to be tuned in the kernel and never exported. Ingo
didn't want *any* tunables so I'm relatively flexible with an on/off switch
which he doesn't like. I really do believe most users will only have it on or
off though.
Don't think I'm ignoring your code. You inspired me to do the original patches
3 years ago.
I have looked at your patch at length and basically what it does is variably
convert the interactive estimator from full to zero over some timeframe
choosable with your tunables. Since most users will use either full or zero I
actually believe the same effect can be had by a tiny modification to
enable/disable the estimator anyway. This is not to deny you've done a lot of
work and confirmed that the estimator running indefinitely unthrottled is
bad. What timeframe is correct to throttle is impossible to say
though :-( Most desktop users would be quite happy with indefinite because
they basically do not hit workloads that "exploit" it. Most server/hybrid
setups are willing to sacrifice some interactivity for fairness, and the
basic active->expired design gives them enough interactivity without
virtually any boost anyway. Ironically, audio is fabulous on such a design
since it virtually never consumes a full timeslice.
So any value you place on the timeframe as the default ends up being a
compromise, and this is what Ingo is suggesting. This is similar to when
sleep_avg changed from 10 seconds to 30 seconds to 2 seconds at various
times. Luckily the non linear decay of sleep_avg circumvents that being
relevant... but it also leads to the exact issue you're trying to fix. Once
again we're left with choosing some number, and as much as I'd like to help
since I really care about the desktop, I don't think any compromise is
correct. Just on or off.
Cheers,
Con
next prev parent reply other threads:[~2006-03-21 14:18 UTC|newest]
Thread overview: 148+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-07 23:13 [PATCH] mm: yield during swap prefetching Con Kolivas
2006-03-07 23:13 ` Con Kolivas
2006-03-07 23:26 ` Andrew Morton
2006-03-07 23:26 ` Andrew Morton
2006-03-07 23:32 ` Con Kolivas
2006-03-07 23:32 ` Con Kolivas
2006-03-08 0:05 ` Andrew Morton
2006-03-08 0:05 ` Andrew Morton
2006-03-08 0:51 ` Con Kolivas
2006-03-08 0:51 ` Con Kolivas
2006-03-08 1:11 ` Andrew Morton
2006-03-08 1:11 ` Andrew Morton
2006-03-08 1:12 ` Con Kolivas
2006-03-08 1:12 ` Con Kolivas
2006-03-08 1:19 ` Con Kolivas
2006-03-08 1:19 ` Con Kolivas
2006-03-08 1:23 ` Andrew Morton
2006-03-08 1:23 ` Andrew Morton
2006-03-08 1:28 ` Con Kolivas
2006-03-08 1:28 ` Con Kolivas
2006-03-08 2:08 ` Lee Revell
2006-03-08 2:08 ` Lee Revell
2006-03-08 2:12 ` Con Kolivas
2006-03-08 2:12 ` Con Kolivas
2006-03-08 2:18 ` Lee Revell
2006-03-08 2:18 ` Lee Revell
2006-03-08 2:22 ` Con Kolivas
2006-03-08 2:22 ` Con Kolivas
2006-03-08 2:27 ` Lee Revell
2006-03-08 2:27 ` Lee Revell
2006-03-08 2:30 ` Con Kolivas
2006-03-08 2:30 ` Con Kolivas
2006-03-08 2:52 ` [ck] " André Goddard Rosa
2006-03-08 2:52 ` André Goddard Rosa
2006-03-08 3:03 ` Lee Revell
2006-03-08 3:03 ` Lee Revell
2006-03-08 3:05 ` Con Kolivas
2006-03-08 21:07 ` Zan Lynx
2006-03-08 23:00 ` Con Kolivas
2006-03-08 23:48 ` Zan Lynx
2006-03-09 0:07 ` Con Kolivas
2006-03-09 3:13 ` Zan Lynx
2006-03-09 4:08 ` Con Kolivas
2006-03-09 4:54 ` Lee Revell
2006-03-09 4:54 ` Lee Revell
2006-03-08 7:51 ` Jan Knutar
2006-03-08 7:51 ` Jan Knutar
2006-03-08 8:39 ` Con Kolivas
2006-03-08 8:39 ` Con Kolivas
2006-03-09 8:57 ` Helge Hafting
2006-03-09 8:57 ` Helge Hafting
2006-03-09 9:08 ` Con Kolivas
2006-03-09 9:08 ` Con Kolivas
2006-03-09 22:44 ` Peter Williams
2006-03-10 9:01 ` [ck] " Andreas Mohr
2006-03-10 9:01 ` Andreas Mohr
2006-03-10 9:11 ` Con Kolivas
2006-03-10 9:11 ` Con Kolivas
2006-03-10 0:58 ` Peter Williams
2006-03-08 22:24 ` Pavel Machek
2006-03-08 22:24 ` Pavel Machek
2006-03-09 2:22 ` Nick Piggin
2006-03-09 2:22 ` Nick Piggin
2006-03-09 2:30 ` Con Kolivas
2006-03-09 2:30 ` Con Kolivas
2006-03-09 2:57 ` Nick Piggin
2006-03-09 2:57 ` Nick Piggin
2006-03-09 9:11 ` Con Kolivas
2006-03-09 9:11 ` Con Kolivas
2006-03-08 13:36 ` [ck] " Con Kolivas
2006-03-08 13:36 ` Con Kolivas
2006-03-17 9:06 ` Ingo Molnar
2006-03-17 9:06 ` Ingo Molnar
2006-03-17 10:46 ` interactive task starvation Mike Galbraith
2006-03-17 17:15 ` Mike Galbraith
2006-03-20 7:09 ` Mike Galbraith
2006-03-20 10:22 ` Ingo Molnar
2006-03-21 6:47 ` Willy Tarreau
2006-03-21 7:51 ` Mike Galbraith
2006-03-21 9:13 ` Willy Tarreau
2006-03-21 9:14 ` Ingo Molnar
2006-03-21 11:15 ` Willy Tarreau
2006-03-21 11:18 ` Ingo Molnar
2006-03-21 11:53 ` Con Kolivas
2006-03-21 13:10 ` Mike Galbraith
2006-03-21 13:13 ` Con Kolivas
2006-03-21 13:33 ` Mike Galbraith
2006-03-21 13:37 ` Con Kolivas
2006-03-21 13:44 ` Willy Tarreau
2006-03-21 13:45 ` Con Kolivas
2006-03-21 14:01 ` Mike Galbraith
2006-03-21 14:17 ` Con Kolivas [this message]
2006-03-21 15:20 ` Con Kolivas
2006-03-21 17:50 ` Willy Tarreau
2006-03-22 4:18 ` Mike Galbraith
2006-03-21 17:51 ` Mike Galbraith
2006-03-21 13:38 ` Willy Tarreau
2006-03-21 13:48 ` Mike Galbraith
2006-03-21 12:07 ` Mike Galbraith
2006-03-21 12:59 ` Willy Tarreau
2006-03-21 13:24 ` Mike Galbraith
2006-03-21 13:53 ` Con Kolivas
2006-03-21 14:17 ` Mike Galbraith
2006-03-21 14:19 ` Con Kolivas
2006-03-21 14:25 ` Ingo Molnar
2006-03-21 14:28 ` Con Kolivas
2006-03-21 14:30 ` Ingo Molnar
2006-03-21 14:28 ` Mike Galbraith
2006-03-21 14:30 ` Con Kolivas
2006-03-21 14:32 ` Ingo Molnar
2006-03-21 14:44 ` Willy Tarreau
2006-03-21 14:52 ` Ingo Molnar
2006-03-29 3:01 ` Lee Revell
2006-03-29 5:56 ` Ray Lee
2006-03-29 6:16 ` Lee Revell
2006-03-21 14:36 ` Mike Galbraith
2006-03-21 14:39 ` Con Kolivas
2006-03-21 14:39 ` Willy Tarreau
2006-03-21 18:39 ` Rafael J. Wysocki
2006-03-21 19:32 ` Willy Tarreau
2006-03-21 21:47 ` Rafael J. Wysocki
2006-03-21 22:51 ` Peter Williams
2006-03-22 3:49 ` Mike Galbraith
2006-03-22 3:59 ` Peter Williams
2006-03-22 12:14 ` [interbench numbers] " Mike Galbraith
2006-03-22 20:27 ` Con Kolivas
2006-03-23 3:22 ` Mike Galbraith
2006-03-23 5:43 ` Con Kolivas
2006-03-23 5:53 ` Mike Galbraith
2006-03-23 11:07 ` Mike Galbraith
2006-03-24 0:21 ` Con Kolivas
2006-03-24 5:02 ` Mike Galbraith
2006-03-24 5:04 ` Con Kolivas
2006-03-17 12:38 ` [PATCH] sched: activate SCHED BATCH expired Con Kolivas
2006-03-17 13:07 ` Ingo Molnar
2006-03-17 13:26 ` Nick Piggin
2006-03-17 13:36 ` Con Kolivas
2006-03-17 13:46 ` Nick Piggin
2006-03-17 13:51 ` Nick Piggin
2006-03-17 14:11 ` Con Kolivas
2006-03-17 14:59 ` Ingo Molnar
2006-03-17 13:47 ` [ck] " Andreas Mohr
2006-03-17 13:59 ` Con Kolivas
2006-03-17 14:06 ` Nick Piggin
2006-03-08 8:48 ` [ck] Re: [PATCH] mm: yield during swap prefetching Andreas Mohr
2006-03-08 8:48 ` Andreas Mohr
2006-03-08 8:52 ` Con Kolivas
2006-03-08 8:52 ` Con Kolivas
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=200603220117.54822.kernel@kolivas.org \
--to=kernel@kolivas.org \
--cc=akpm@osdl.org \
--cc=bugsplatter@gmail.com \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=willy@w.ods.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.