Re: patch O1int for 2.5.73 - interactivity work

Felipe Alfaro Solana
2003-06-25T21:38:54Z

On Wed, 2003-06-25 at 18:09, Con Kolivas wrote:
> Hi all
>
> I've used the corner cases described that cause a lot of the interactivity
> problems to develop this patch. What it does different to default (without
> nasty hacks) is the following:
>
> The interactivity is based on the max sleep avg (10s) as previously, unless
> the thread has been running for less than 10s. In that case it is based on
> the duration it has been running, with a minimum of 10 jiffies to estimate
> the interactivity (perhaps more might be appropriate here). This should
> minimise tasks taking ages to be categorised as interactive.
>
> If tasks sleep for a long time (>1s) they are no longer classified as
> interactive, but idle - meaning they receive their static priority. However,
> since they _may_ become interactive, the period over which the interactivity
> is estimated is decreased (1sec, perhaps can be reduced) so they may become
> interactive rapidly again. This should minimise idle tasks (like BASH) that
> suddenly become cpu hungry from stalling everything.
>
> I'm still working on something for the "xmms stalls if started during very
> heavy load" as a different corner case.
>
> This is only a compile tested patch (need sleep bad) but has been tested in
> 2.4 form and works nicely at avoiding those corner test cases.
>
> Please comment and test if you can.

This patch is indeed much better than the ones posted before. In fact,
it's really, really hard for me to make XMMS skip audio. It feels much
better in general, but there are still some rough edges when the system
is under load. For example, the mouse cursor on an X session doesn't
move smoothly, and feels a little jumpy. It can be somewhat fixed by
renicing the X server to -20.

Anyways, this is the best I've seen until date, and I'm currently
running on it. We'll see if it's up to expectations... at least, I think
so :-)

>
> Con