question about scheduler related issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux