Hello Linux experts,
I am trying to figure out what Linux (2.6) mechanisms I have at my disposal to allow deterministic operation on an Intel SMP machine.
Basically we have a compute intensive algorithm we are trying to port to an SMP machine. Following questions come to mind:
1) If I use a kernel level threading mechanism (like pThreads), will different threads run on different processors (I presume this is the case)?
2) How do I determine from userland (where my multi-threaded task is running), which processor is handling a given thread?
3) If some of the threads in the user task need to interact with hardware, can I give them a higher priority? (I am afraid to ask but ...) Can I designate them as real-time threads?
4) If I have more than one real-time thread, is there anyway I can influence the scheduler to allocate a particular thread to a particular processor? I am afraid that even if I can make 2 threads real-time, the scheduler might not have the smarts to distribute them across different processors.
5) Could the kernel be fooled by hyperthreading into allocating multiple real-time tasks to the same physical processor (that should logically belong to different processors)?
Thanks in advance for any help/pointers.
-Vijay
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!