Hi Mulyadi/All, On 9/20/06, Mulyadi Santosa <mulyadi.santosa@xxxxxxxxx> wrote:
Hi Tharindu... I support what others said. IMHO, what you need is a combination of the following recipes: 1. A high HZ, but not too high. Once again, this is truly trial and error work.
I am not trying to raise it too much. But about 1500 ??
2. Real time priority. SCHED_FIFO and SCHED_RR are the priority you're looking for, but for that you need real time kernel patches, something like -rt from Ingo Molnar tree
What is the best out of SCHED_FIFO and SCHED_RR? Any difference in RR and FIFO?
3. You said you used CPU binding in Solaris, you can do the similar thing in Linux. Read more about CPU affinity and CPU taskset, I believe it is included in kernel source package under "Documentation" directory.
Will this keep other process away from particualr CPU??
4. Or perhaps you need special crafted Linux kernel such as RTAI or RTLinux? 5. IMHO, blocking or not, that's not the primary problem. Even if your application is non blocking at all, but it is multithreaded, context switching between threads still happen. So, what you need here is a careful management of: thread creation and handling, anticipate most taken branch and optimize it, reduce or avoid memory thrashing at all cost. You might also need something like AIO (Async I/O) ...
You mean libaio ?? Are there any advantage if I use libaio. Currently we are not using libaio.
Those are my opinions so far. Good luck and wish you a big success!
Thank you very much!
regards, Mulyadi.
Thankx for the help -- Tharindu Rukshan Bamunuarachchi all fabrications are subject to decay -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/