process CPU binding
I've got an 8 core server running RHEL 5. I'd like to reserve 4 of these cores to only run certain processes. The reason is that I have a real-time application running and want to minimize its latency and preemption by other processes and the OS. I've done some searching on this and can use taskset to assign the real-time processes of interest to these 4 CPUs, and I can also use chrt to set these processes to run at a high priority real-time setting (such as SCHED_FIFO). But, my understanding is, these steps don't prevent the linux kernel from scheduling something else to run on these CPUs. Is there a way to take a CPU core out of the kernel scheduler entirely? I know I can set interrupt masks and disable irq balancing so that at least interrupts are not scheduled for these CPUs, but I'd also like to make sure I'm reserving these CPUs to only run the real-time processes of interest.
Any tips or pointers for how to get the best real-time performance would be greatly appreciated.