Re: patch-O1int-0306281420 for 2.5.73 interactivity

Felipe Alfaro Solana (felipe_alfaro@linuxmail.org)
28 Jun 2003 20:22:43 +0200


On Sat, 2003-06-28 at 18:30, Con Kolivas wrote:
> On Sat, 28 Jun 2003 15:16, Con Kolivas wrote:
> > For my sins I've included what I thought was necessary for this patch.
> >
> > The interactivity for tasks is based on the sleep avg accumulated divided
> > by the running time of the task. However since the accumulated time is not
> > linear with time it now works on the premise that running time is an
> > exponential function entirely. Pat Erley was the genius who implemented
> > this simple exponential function in surprisingly low overhead integer
> > maths.
> >
> > Also added was some jiffy wrap logic (as if anyone would still be running
> > my patch in 50 days :P).
> >
> > Long sleepers were reclassified as idle according to the new exponential
> > logic.
> >
> > If you test, please note this works better at 1000Hz.
> >
> > Attached also is my bastardised version of Ingo's timeslice granularity
> > patch. This round robins tasks on the active array every 10ms, which
> > _might_ be detrimental in throughput applications but has not been
> > benchmarked. However for desktops it does wonders to smoothing out the
> > jerkiness of X and I highly recommend using this in combination with the
> > O1int patch.
> >
> > This is very close to all the logic I wanted to implement. It might need
> > more tuning... Note parent penalty, child penalty and exit weight
> > (uppercase) no longer do anything.
> >
> > Please test and comment.
> >
> > Con
> >
> > P.S. In the words of Zwane - there is always a corner case. Corner case I
> > think I still need to tackle is the application that spins madly waiting
> > for it's child to start, and in the process it is the parent that is
> > starving the child by being higher priority than it. This seems to be a
> > coding style anomaly brought out by the scheduler.
>
> And just for good measure here is the latest with a slight addition that helps
> X smoothness over time. It gives the sleep_avg a little headroom so it
> doesn't drop from interactive as easily with bursts of cpu activity.

OK, now testing this one :-)
2.5.73-mm2 + latest patch-O1int + patch-granularity + 1000HZ...
Feels a little bit better than the previous one. X under load is
smoother. This is starting to get interesting ;-)

-
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/