Hello, in my real-time kernel module i will wakeup and suspend threads with my fifo-handler. the fifo-handler receive commands from a non-realtime application. the handler manage up to 8 threads. every thread is suspended at once after the thread was created. all 8 threads must use one global variable, which is secured with a binary semaphore. before one thread wakes up, he will marked as a periodic thread and is set to his own periodic time. one minute later, i send a command to the fifo-handler to suspend one thread. sometimes the thread is running on and somestime the thread suspends. this problem occurs by all 8 threads. is there a problem with the semaphore? my next question is, i've got a serial controller on a pci-board to transmit hdlc-frames in real-time. the driver (a kernel module) for this serial controller is non-realtime. now, i have to write my own little driver for this controller. my problem is: is there a problem to use PCI-functions in a real-time kernel module? can i use the function out(), outw() and in() inw() to access the ports of the controller on a PCI-board? and my third question is about DMA the serial controller im my second question has an own DMA-controller. i have to use it to send HDLC-frames from memory to the serial controller. are there any problems to use DMA in a real-time module? is it able to loss the real-time functionality if i use DMA? i have read a lot things about DMA in the mailing list. i have read that there will be some problems by using DMA. some developer using a shared memory to transfer data via DMA in a real- time module to avoid problems. is this an acceptable solution? how will this work? with best regards, Oliver Finsinger -- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net -- [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/
