Messages in this thread | | | Date | Fri, 26 Nov 2004 22:05:01 +0100 | From | Ingo Molnar <> | Subject | Re: Priority Inheritance Test (Real-Time Preemption) |
| |
* Ingo Molnar <mingo@elte.hu> wrote:
> it can produce such a flow on SMP, or if you add in a third non-RT > task (task-C). Agreed?
here's the 4-task flow. I've simplified the operations to make it easier to overview: "L1-success means" 'task locked lock1 and got it'. "L1-wait" means it tried to get lock1 but has to wait. "RT-prio" means a non-RT task got boosted to RT priority. "old-prio" means priority got restored to the original non-RT value. "UL-1" means 'unlocked lock1'.
task-A task-B task-C task-RT ------------------------------------------------------- L2-success L1-success L1-wait . L2-wait . boost-A RT-prio . . L1-wait . . boost-B . . . RT-prio . . . [ 1 ms ] . . . UL-1 . . . !RT-prio . . get-L1 . . [ 1 ms ] . . UL-1 . . get-L1 . UL-2 . old-prio . get-L2 L1-wait boost-C RT-prio . [ 1 msec ] . UL-1 . old-prio . get-L1 [ success ]
this is a 3 milliseconds worst-case. Ok?
Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |