public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC] Scheduler queue implementation ...
@ 2001-12-10  0:33 Davide Libenzi
  2001-12-10  0:49 ` Alan Cox
  2001-12-10  0:52 ` Alan Cox
  0 siblings, 2 replies; 18+ messages in thread
From: Davide Libenzi @ 2001-12-10  0:33 UTC (permalink / raw)
  To: lkml; +Cc: Alan Cox, Linus Torvalds


I've spent some time reading interesting ( someone yes, someone not )
papers about different scheduler implementations, policies, queues, etc..
A concept that i've found common in all these works is that, and it's easy
to agree, CPU bound ( batch ) tasks do not need a strict execution order.
So we can have simply two queues ( per CPU ), one that stores I/O bound (
counter > K for example ) and RT tasks that is walked entirely searching
for the better tasks, the other queue will store CPU bound tasks that are
executed in a FIFO policy.
In this way we'll have a better behavior for I/O bound tasks due the
shortest run queue to loop while the FIFO policy on CPU bound tasks does
not affect the system as long as these tasks will have the same amount of
virtual time.
The problem of having long runqueue is automatically solved by the
assumption that long_runqueue == lot_of_cpubound_tasks, that will find
home inside the FIFO queue by assuring a low latency for I/O bound and RT
tasks.
What we lose is the mm ( + 1) goodness() but the eventual cost of
switching mm is melted inside the long execution time ( 50-60 ms ) typical
of CPU bound tasks ( note that matching MMs does not mean matching cache
image ).




- Davide




^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2001-12-22 14:13 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-12-10  0:33 [RFC] Scheduler queue implementation Davide Libenzi
2001-12-10  0:49 ` Alan Cox
2001-12-10  0:57   ` Davide Libenzi
2001-12-10  1:16     ` Alan Cox
2001-12-10  2:36       ` Davide Libenzi
2001-12-20 19:36       ` Pavel Machek
2001-12-20 21:42         ` Rik van Riel
2001-12-21 17:01         ` Alan Cox
2001-12-21 19:21           ` Pavel Machek
2001-12-22 14:23             ` Alan Cox
2001-12-10  0:52 ` Alan Cox
2001-12-10  1:06   ` Davide Libenzi
2001-12-10  1:18     ` Alan Cox
2001-12-10  1:38       ` Davide Libenzi
2001-12-10  1:52         ` Alan Cox
2001-12-10  3:06           ` Davide Libenzi
2001-12-10 23:03         ` Mike Kravetz
2001-12-10 23:30           ` Davide Libenzi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox