Thursday, February 14, 2008

Linux Scheduler

Currently looking at the realtime Linux scheduler code...oh man! it has changed quite a bit from the last time I had seen it. For realtime tasks, the logic behind pushing and pulling of tasks looks pretty impressive..the cpu priority management by Gregory Haskins is nice, but overall, rt task load balancing is not yet scalable...it is O(n). So as the number of processors increase, the latencies in scheduling a particular rt task would increase linearly...but this is a cool piece of code to work with ;-) Having fun!!

5 comments:

Allen Pais said...

Not sure when was the last time i looked at that piece of code, i remember there was something like _runqueue_..:)

on CONFIG_PREEMPT part, i still wonder(stumped actually), with interrupts being preempted and interrupts executing as process context....

confusing!!, i envy ppl who get paid to do what they love to do....

theG said...

hang on. peterz is having a lot of fun with -rt. check out sched-devel if you get the time :)

Anki said...

Oh, on PREEMPT_RT, interrupts can be preempted only because they can now be run in process context, which is nicely done! And not just that, the system can be easily brought down (manipulated)..by just playing around with the priorities of the softirq threads!! try it out...

Anki said...

/me trying to keep up with the rapid pace of the sched-devel...

Allen Pais said...

oh true!!, the system can be manipulated, not tried it, not sure if i will, but something about this implementation is not very convincing for me...am re-looking at the implementation .....

yep!!...keeping up with the sched....code....trust me!!...its crazy.