lkml.org 
[lkml]   [2004]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Scheduler: Process priority fed back to parent?


Muli Ben-Yehuda wrote:
> On Tue, Mar 16, 2004 at 11:19:46AM -0500, Timothy Miller wrote:
>
>
>>Unfortunately, the OS has to play babysitter to processes, because
>>they're guaranteed to misbehave. Preemption exists to ensure fairness
>>amongst processes. Thus, while you're right that it would be nice to
>>have processes report their CPU requirements, if we were to actually DO
>>that, it would be a disaster.
>
>
> I agree we should do the best thing possible without any prior
> knowledge of what a process should do. I don't agree we should add
> pointless complexity to the scheduler for dubious gains (getting rid
> of the very short ramp up time). Of course, if you think it's useful,
> feel free to implement it and let's resume the discussion when we have
> some numbers.


If shortening ramp-up times is the only benefit, then it's not worth the
effort. The objective is continuity and over-all feel of the system.

With Nick's and Con's schedulers, if you have a set of processes that
are running continuously, then after a brief period, everything has
settled into its ideal state. The interactive processes are
interactive, the CPU-bound ones are penalized, etc.

But real systems aren't like this. Processes are launched and killed
constantly. Consider what a shell script does! To have program
behavior from one time affect how the program is run at a later time
would allow system behavior to be smooth over many launch/kill cycles.


And having parent processes (eg. shell) maintain information on child
behavior would also help, because then a shell script would behave more
like a single program than many independent programs. Compiles would
affect the system less because 'make' would maintain information on
compiler behavior, making the impact of compiler launches much less
negative.

In FACT, that I think I may be on to something here... Hmmm. So far,
process schedulers have been trying to BOOST priority of interactive
processes. That's great. But maybe an even BIGGER problem is that
every time gcc (and cc1) is launched during a kernel compile, it's given
too high of a priority, and by the time the priority is corrected, the
compile has finished for that .c file.

This sounds SO familiar... I know this has been discussed before by
people much smarter about this than I.

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

\
 
 \ /
  Last update: 2005-03-22 14:01    [W:0.055 / U:1.684 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site