lkml.org 
[lkml]   [2006]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] sched: Fix adverse effects of NFS client on interactive response
Mike Galbraith wrote:
> At 08:51 AM 1/5/2006 +1100, Peter Williams wrote:
>
>> I think that some of the harder to understand parts of the scheduler
>> code are actually attempts to overcome the undesirable effects (such
>> as those I've described) of inappropriately identifying tasks as
>> interactive. I think that it would have been better to attempt to fix
>> the inappropriate identifications rather than their effects and I
>> think the prudent use of TASK_NONINTERACTIVE is an important tool for
>> achieving this.
>
>
> IMHO, that's nothing but a cover for the weaknesses induced by using
> exclusively sleep time as an information source for the priority
> calculation. While this heuristic does work pretty darn well, it's
> easily fooled (intentionally or otherwise). The challenge is to find
> the right low cost informational component, and to stir it in at O(1).

TASK_NONINTERACTIVE helps in this regard, is no cost in the code where
it's used and probably decreases the costs in the scheduler code by
enabling some processing to be skipped. If by its judicious use the
heuristic is only fed interactive sleep data the heuristics accuracy in
identifying interactive tasks should be improved. It may also allow the
heuristic to be simplified.

Other potential information sources the priority calculation may also
benefit from TASK_INTERACTIVE. E.g. measuring interactive latency
requires knowing that the task is waking from an interactive sleep.

>
> The fundamental problem with the whole interactivity issue is that the
> kernel has no way to know if there's a human involved or not.

Which is why SCHED_BATCH has promise. The key for it becoming really
useful will be getting authors of non interactive programs to use it.
The hard part will be getting them to admit that their programs are non
interactive and undeserving of a boost.

> My
> 100%cpu GL screensaver is interactive while I'm mindlessly staring at it.

I've never actually seen what bonuses the screensaver gets :-) but I
imagine any sleeping they do is in a very regular sleep/run pattern and
this regularity can be measured and used to exclude them from bonuses.
However, it would need some extra parameters to avoid depriving audio
and video programs of bonuses as they too have very regular sleep/run
patterns. The average sleep/run interval is one possibility as
audio/video programs tend to use small intervals.

Peter
--
Peter Williams pwil3058@bigpond.net.au

"Learning, n. The kind of ignorance distinguishing the studious."
-- Ambrose Bierce
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-01-05 12:43    [W:0.079 / U:0.460 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site