[EMAIL PROTECTED] wrote:
>
>
> This depends on the interrupt and interrupt handler. If the handler
> calls rtl_Schedule (directly or indirectly) there will be an immediate
> switch, but if not the switch wil be delayed until the scheduler runs
> again. So
> my_isr:
> pthread_kill(highestprioritythread,RTL_SIG_WAKEUP);
> return
>
> will return to the theard that was running when the interrupt came in,
> and the resched will happen only during the next run of the scheduler
> (at the latest, during the next timer interrupt).
> But
> my_funny_isr:
> rtl_wakeup_np(higestprioritythread);
>
> will switch at once (unless the thread is on another CPU).
>
> Threads are preemptable and RTkernel services are
> either atomic or preemptable.
>
> Hope that answers your question.
>
Hi Victor,
Is there any way to make it do the following:
lower priority tash runs:
interrupt occurs and ISR wakes up higher priority task:
ISR exits
immediate rt schedule
higher priority task runs
higher priority task ends
lower priority task resumes and completes
What I'm after is the re-schedule is pended and set-up to run
immediately after the iret of the ISR.
Regards, Stuart
-- [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/