[RFC][PATCH] SCHED_ISO for interactivity

From: Con Kolivas (kernel@kolivas.org)
Date: Fri Jul 11 2003 - 05:53:38 EST


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

After the recent discussions about the limitations on real time tasks and
normal users...

Wli coined the term "isochronous" (greek for same time) for a real time task
that was limited in it's timeslice but still guaranteed to run. I've decided
to abuse this term and use it to name this new policy in this patch. This is
neither real time, nor guaranteed.

What this patch does is introduce a new scheduler policy, SCHED_ISO. SI tasks
get the maximum interactive bonus so they always get a dynamic priority of 5
better than their static priority, but are penalised by having a smaller
timeslice. Most interactive tasks don't use up their full timeslice anyway.

Since most users and applications are not going to be altering scheduler
policies, this patch uses the current semantics in patches up to the O4int
patch I have posted previously (and in 2.5.75-mm1) to dynamically allocate
tasks as SI. This happens when their sleep avg hits MAX_SLEEP_AVG which is
extremely unlikely to happen for the wrong task. Unfortunately it also means
it takes at least 10 seconds. There are semantics in place to stop it
happening to idle tasks, tasks forking, and new children.

Anyway it's pretty rough around the edges since I slapped it together more to
prove it works, but appears to work as planned. The O*int patches appear to
be hitting a ceiling to their ability and this can help them further but I
need some feedback about it's usefulness, and appropriateness.

Without further feedback about the O*int patches I can't do much to develop
them further.

akpm: obviously this one is not to be included in -mm

Enough talk. The patch is attached below and available at:
http://kernel.kolivas.org/2.5
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/DpcyF6dfvkL3i1gRAjp9AJ9S30i7ZQjpM7ETsxchKuLnDaL8GgCfb9OU
xl8PGFqY5BXEWPs83OaUCLY=
=cUdC
-----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 : Tue Jul 15 2003 - 22:00:39 EST