On Mon, 11 Sep 2000, Roland Dubouloz wrote:
> But i cannot disable the interrupts !!
>
> My code :
>
> rtl_hard_savef_and_cli(irqflag);
>
> startdma()
What startdma() does? May be it enables interrupts again?
>
> interruptible_sleep_on(&request->sleep);
I know for sure that interruptible_sleep_on does "soft" sti(). It either does
"hard" sti() in RTL, or it may hang the system. Anyway,
interruptible_sleep_on is definitely non-RT function. It will switch you to
user space processes.
>
> rtl_hard_restore_flags(irqflag);
> if i start a small dma transfert I receive the interrupts before i
> call the "interruptible_sleep_on()" .
> (If i start a very large transfert (128Ko) i can call
> "interruptible_on_sleep" before the dma is finished)
>
> i work on a 386 SX and the driver is called from a Rt task .
I do not know what do you want to achive, but for sure this is wrong way.
Try to use pthread_wait_np() or RT semaphore. What is waking up
request->sleep ?
Best regards,
--
Tomek
-- [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/