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/

Reply via email to