[PATCH] O2int 0307041440 for 2.5.74-mm1

From: Con Kolivas (kernel@kolivas.org)
Date: Thu Jul 03 2003 - 23:59:08 EST


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Here is a patch against the current O1int patch in 2.5.74-mm1.
Since the O1int didn't mean anything I thought I'd call this O2int.

This one wont blow you away but tames those corner cases.

Changes:
The child penalty is set on 80% which means that tasks that wait on their
children have children forking just on the edge of the interactive delta so
they shouldn't starve their own children.

The non linear sleep avg boost is scaled down slightly to prevent this
particular boost from being capable of making a task highly interactive. This
makes very new tasks less likely to have a little spurt of too high priority.

Idle tasks now get their static priority over the full time they've been
running rather than starting again at 1 second. This makes it harder for idle
tasks to suddenly become highly interactive and _then_ fork an interactive
bomb. Not sure on this one yet.

The sched_exit penalty to parents of cpu hungry children is scaled accordingly
(was missed on the original conversion so works better now).

Hysteresis on interactive buffer removed (was unecessary).

Minor cleanup.

Known issue remaining:
Mozilla acts just like X in that it is mostly interactive but has bursts of
heavy cpu activity so it gets the same bonus as X. However it makes X jerky
during it's heavy cpu activity, and might in some circumstances make audio
skip. Fixing this kills X smoothness as they seem very similar to the
estimator. Still haven't sorted a workaround for this one but I'm working on
it. Ingo's original timeslice granularity patch helps a little and may be
worth resuscitating (and the desktop only people can change the granularity
down to 10ms to satisfy their needs).

Con
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/BQmjF6dfvkL3i1gRAiYhAKCnpZN//FkD1iO5b2SZ6HTURMUULwCfS43B
Pn/1kRndvUz/lnjFI+lUpEc=
=O+VS
-----END PGP SIGNATURE-----



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



This archive was generated by hypermail 2b29 : Mon Jul 07 2003 - 22:00:22 EST