Topics

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

"曹子龙
 

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

曹子龙

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

地址:广东省珠海市高新区唐家湾镇科技2路9号

TEL:13824125580

Email:caozilong@...

网址: http://www.allwinnertech.com

 


pawel.dunaj@...
 

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.


Andy


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

地址:广东省珠海市高新区唐家湾镇科技2路9号

TEL:13824125580

Email:caozilong@...

网址: http://www.allwinnertech.com