Prioritized inter-processor synchronization in an ITRON-MP implementation

Cai-Dong Wang, Hiroaki Takada, Ken Sakamura · 2002

When a real-time kernel is implemented for shared-memory multiprocessors, there exists a requirement that a higher priority task should execute system calls faster. For this requirement, the inter-processor synchronization primitive, i.e. spin locks, should be prioritized. However, simple priority-ordered spin locks can cause uncontrolled priority inversions when they are used for nested spin locks. This paper points out the problem of uncontrolled priority inversions in the context of spin locks. In order to solve this problem while achieving fast response to external interrupts, we propose a priority inheritance spin lock with preemption, which is a spin lock algorithm enhanced with a priority inheritance scheme and a preemption scheme. Real-time kernels with and without the proposed algorithm are implemented and their performance is measured.

Read the paper · More papers on PaperTik