Hi, I'm on the way of studying the scheduler on kernel 2.6 called O(1) scheduler. It seems very different from the kernel 2.4's one. I have little references about it now. So I have to parse the source code. But I'm not so used to that. I'd like your help. I want to know how the previous process's going after schedule(). O(1) scheduler has two runqueues, active & expired. And each queue has priority-ordered arrays. I suppose that means the preempted process should be re-entered into the active runqueue according to its priority to keep queues's priority-order after it's preempted since its quantum is decreased. But I couldn't find such processing code in sched.c. It might be due to my short of power to linux kernel. Or completely my misconception. Could someone explain how the active runqueue works for "prev" and "next" or give some references about it? And one more thing. After kernel 2.6, real-time processes are managed in the different global queue from the active & expired, aren't they? Where is this global queue defined? I couldn't find that in sched.c. Is it defined in other files? Regards, Shinpei Kato -- Shinpei Kato <shinny@j02.itscom.net> -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/