Re: What is the difference "z_reschedule_irqlock" and "z_reschedule“? why two implementations?

Andy Ross

Traditional locking in Zephyr is done with a single global "irq lock" (implemented on single processor systems with a straightforward interrupt mask).  SMP allows for finer grained spinlocks, which have different semantics (though when !SMP the implementation is the same).  It wasn't feasible to port the entirety of the Zephyr kernel to use the new scheme, though there are very few spots that need z_reschedule while holding a legacy lock (vs. just using an IPC primitive) and I'd expect this particular API to go away at some point in the future.


On 1/21/2020 12:28 AM, "曹子龙 wrote:

Hi folks:
why there are two implmentations of schedule?   What is the difference "z_reschedule_irqlock" and "z_reschedule“? why two implementations?


珠海全志科技股份有限公司      BU1-PSW






Join { to automatically receive all group messages.