Thursday, May 14, 2015

Priority inversion learning note

* Bounded priority inversion


* Unbounded priority inversion


How to solve
* Priority inheritance protocol
Raised the low priority task which locked shared resource to high priority to finish task and release shared resource soon.

* Priority ceiling protocol
** OCPP: Original Ceiling Priority Protocol
Raised the task (locked resource) priority to high priority when another task tries to acquire shared resource.

** ICPP: Immediate Ceiling Priority Protocol
Raised the task priority to high priority when it acquires resource.

Reference:
http://en.wikipedia.org/wiki/Priority_inheritance
http://en.wikipedia.org/wiki/Priority_ceiling_protocol
http://blog.linux.org.tw/~jserv/archives/001299.html
http://oss.org.cn/ossdocs/rt_embed/rt/priority.html
http://wen00072-blog.logdown.com/posts/183461-note-priority-inversion-on-mars
http://www.embedded.com/design/configurable-systems/4024970/How-to-use-priority-inheritance

No comments: