[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/

Reply via email to