Hi all. I have a dual, 400 Mhz P-II system (Micron Netframe)
running Linux 2.2.17 patched with RT Linux 3.0 pre9. I am having trouble
spawning/creating threads on specific processors. Currently, the
init_module routine creates a pthread to the start_routine of the system.
This routine will then create additional threads such that the number of
threads total is equal to the number of processors available to the
system. It should be noted that NONE of these threads are set to be
periodic. Thus, when this system/kernel module goes on, the Linux OS does
not respond. This is the behavior we want, as we are trying to achieve
maximum performance and do want any interference from the OS, unless it is
specifically needed (which is never at the current time) .  The
application is a parallel, discrete-event simulator -- one that will be
meet real-time deadlines in the grand scheme.

        The simulator runs fine sequentially, but as soon as I attempt to
spawn additional threads and pin them to a specific processor using the
pthread_attr_setcpu_np RTL system call the simulator goes into an address
space that does not appear to be in the address space of my kernel module.
That is to say, gdb does not no where this code is from -- but an
interrupt has occured...

        Also, if I spawn the original thread from the init_module such
that is is force to be on processor 1 (and not 0, as done by default), I
see TLB flush errors coming from the Linux kernel and the OS locks up.

        So, anyone have any suggestions on how to spawn non-periodic
pthreads onto distinct processors?

        Any help would be most appreciated

                Thank you!,
                Chris

--------------------------------------------------------------------
Christopher D. Carothers

Assistant Professor
Department of Computer Science         
Rensselaer Polytechnic Institute
110 8th Street
Troy, New York 12180-3590

e-mail: [EMAIL PROTECTED]
web page: www.cs.rpi.edu/~chrisc
phone: (518) 276-2930 
fax: (518) 276-4033
--------------------------------------------------------------------



-- [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/rtlinux/

Reply via email to