Dear list I have several question regarding 2.6 scheduler. 1. I read that O(1) scheduler doen't permit process with the same dynamic priority as the currently running process to preempt. I wonder, what is the reason? To improve throughput? Is it dictacted on POSIX standart? 2. If a process issues yield(), in contrast with 2.4, 2.6 now drops the process to the lowest priority (e.g MAX_PRIO). Isn't it risky as sometimes yield() is used in certain application to voluntarily let other threads on the same application to run? So instead of waiting all the processes on same priority list has been executed, it is now forced to wait so much longer .... 3. Considering the rule "child should run first after fork()", is there any benchmark result showing the advantage of this decision? The commentaries said it is done to avoid COW overhead, in the case it is not cloned with CLONE_VM. But IMHO, even the child is running first, the COW overhead might still happen if it is the parent process which does a lot of memory modification..... CMIIW about my early conclusion.. 4. Besides the above question, perhaps it is rather an empirical discussion. Is it possible for Linux (perhaps using soft real time prio, like SCHED_ISO on Staircase scheduler) to manage 20 streams or more of audio data sampled on 44.1 KHz, mixed them and played again on "soft" real time with almost zero lag? Let's assume this is done on a AMD 64 bit single core processor with core frequency around 2 GHz. I did almost the same thing on Windows but it seems even Windows so called "real time priority" can't handle it smoothly. 12-14 streams and then...dead....:) Any opinion are welcome... thank you in advance for your help regards Mulyadi -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/