Re: Does ISR cause a preemptible thread to be swapped out


Jett ✈ Rink
 

Hey George,

When coming back from an ISR, Zephyr should switch to the highest priority thread that is ready (with some caveats around multiple cooperative threads being ready). At least that is what I see from looking around in sched.c.

Also as a thought experiment, let's say that an ISR did come back to the same preemptible thread (not true). The first thing that would happen is that thread would get preempted by the higher priority thread that is now ready, so the original, lower priority, preemptible thread wouldn't be able to execute anything meaningful before it got preempted anyway.

-Jett



On Wed, Sep 9, 2020 at 2:23 PM George Kumar <grgkumar4@...> wrote:
Hi,

In Zephyr scheduling, after an ISR is done, can a preemptible thread be swapped out, and a higher priority thread, if ready, is allowed to run?

I understand the behaviour for the cooperative threads, but now sure if after an ISR a context switch can happen for preemptible threads.

Thanks.
George

Join devel@lists.zephyrproject.org to automatically receive all group messages.