It will work, but it does not necessarily assure atomic execution.
The scheduler will only run on one processor right now, and most
likely will stay that way. And the driver dispatch code will make sure
that only one interrupt handler will start per irq -- but
handler:
rtl_hard_enable_global_irq(n); // or whatever the routine is
// named.
at this point even though no irqs are
possible on this processor
the device can generate another interrupt
on another processor and get here
...
> ---> rtl_no_interrupts(interrupt_state);
only prevents new irqs on this processor. I'm going to work on making
semaphores work on smp soon, but now you can do spinlocks. Look at
the file rtl_sync.h for some choices of how to do that.
On Tue, Mar 09, 1999 at 12:01:33PM -0500, SteenbeckDigital wrote:
> Just in case, will this work with SMP??
>
> ---> rtl_no_interrupts(interrupt_state);
> task->next = rt_tasks;
> rt_tasks = task;
> ---> rtl_restore_interrupts(interrupt_state);
>
> Jens
> --- [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/
--- [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/