As requested, I'll write down a few comments on each patch. So, here goes: This is the initial commit, it replaces the multiple FIFO queues that were used before with one RB-tree per CPU as a runqueue. The RB-tree is used because it offers operations such as min(), insert() and remove() in O(log n).
I remove the NICE_WEIGHT define because it's meaningless with this patch, as there's only one runqueue. sys/proc.h now includes sys/tree.h, but that does not seem to be a problem when building the userland. Libc builds fine now for example. -- Gregor Best