The realtime preemption endgame
Posted Aug 5, 2009 20:39 UTC (Wed) by
PaulMcKenney (subscriber, #9624)
In reply to:
The realtime preemption endgame by tertium
Parent article:
The realtime preemption endgame
Just to make sure I understand, your concern is exemplified by the following sequence of events, right?
- High-priority task A is initially blocked waiting for something to do.
- Low-priority task B acquires a lock.
- Medium-priority tasks C, D, E, and so on (one per CPU) start running, preempting task B.
- Work arrives for task A, so that it wakes up, preempting one of the medium-priority tasks.
- Task A now attempts to acquire the lock held by preempted task B, and spins for awhile (uselessly degrading latency).
- Task A finally blocks, which kicks priority inheritance into action, awakening task B, which releases the lock so that task A can acquire it.
Or am I missing your point?
(
Log in to post comments)