Ken Teh wrote: > > Does stock Linux 2.4 have a syscall that allows one to lock a process to a > specified cpu on an SMP system? Does RTLinux have a similar function? I > seem to remember vaguely it does, but I cannot find any references to it. > > Thanks! Ken > > -- [rtl] --- > To unsubscribe: > echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR > echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED] > -- > For more information on Real-Time Linux see: > http://www.rtlinux.org/
I can't say for sure about rtl, although I was told by fms support people that bothe process affinity and irq affinity were possible with their Pay-for version. Vanilla Linux 2.4 does not have a syscall for process affinity or irq affinity. Bothe can be set via the proc file system manually and there are patches available that adds a syscall for process affinity. Nothing I know about for irq affinity and even the proc file system method requires that you have an APIC controller on your mother board. The XT-PIC doesn't seem to do it. For process affinity there are 2 patches "cpus_allowed and affinity". If you only use the cpus_allowed patch you can manually set process affinity like: echo "00000003" > /proc/PID/cpus_allowed Where the "00000003 is a mask that allows process with PID to run in only cpus 0 and 1. If you get the affinity patch also then there is a sys call you can use. It works well. For irq affinity you can do that manually with a vanilla kernel if you have APIC by the same method as process affinity. echo "00000001" /proc/irq/#/affinity That would set irq "#" to be handled only by processor 0. I have found that with these patches and a dedicated run-level (4) for my "real-time" task that only has running what is absolutly required "NO-X", "NO-network" "NO-alot of stuff" that it works quite well with a FAST SET of processors. 2 minimum.... Of coarse the machine isn't going to be "usable" while in this sudo real-time mode. But so far the app I use it for works very well. It's an emulation of an old propritary real-time os. You should be able to find the patches easy enough but if you can't I can dig around on my box to find out where they can from. Regards. -- Mark Hounschell [EMAIL PROTECTED] -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED] -- For more information on Real-Time Linux see: http://www.rtlinux.org/