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/

Reply via email to