Re: insmod priority
Florian Bruckner <[email protected]>
| Newsgroups | gmane.linux.real-time.rtlinux.general |
|---|---|
| Message-ID | <[email protected]> |
Klemens Matthias Winkler wrote: > Dear list, > I am wondering what happens when running more than one real-time > Application on an RTLinux System. The second module is loaded by > executing the insmod command. Does the insmod process have a lower > priority than the already running real-time threads, or will it > preempt them? This might especially be a problem when the init_module > function needs much processing power. RTLinux uses normal Linux modules. That means that everything done in init_module will be executed in Linux kernel space (non-RT). Thats why you can use normal Linux functions in init_module to initialize your device or applications. Only when you call pthread_create a new RT-Task will be registered. > > Another thing I am not sure about are the fifo handlers. Is the > handler called when all real-time threads are idle, or will it preempt > them? There are two different RTF handlers available. rtf_rt_handlers are called every time a RT task writes to or reads from an RTFIFO. If you look at the sources (rtlinux/fifos/rtl_fifo.c) it is called at the end of rtf_get, rtf_put which are used by RT tasks to access RTFIFOs. The other type are rtf_handlers which are called by user-space processes when accessing RTFIFOs. They are called at the end of rtf_read and rtf_write which are the Linux fileoperations for the RTFIFO device-files. To come back to your question after the FIFO handler is registered it is part of the read/write command of the rt-process or the user-space-process respectively. So the process the executes the read/write will not be preempted by the handler, but the handler is called on behalf of the process. FloB _______________________________________________ Rtl mailing list [email protected] http://www2.fsmlabs.com/mailman/listinfo/rtl