Re: [patch] Real-Time Preemption, -RT-2.6.10-rc2-mm3-V0.7.32-6

From: john cooper
Date: Sat Dec 11 2004 - 12:03:51 EST


Steven Rostedt wrote:

[RFC] Has there been previously any thought of adding priority
inheriting wait queues. With the IRQs that run as threads, have hooks in
the code that allows a driver or socket layer to attach a thread to a
wait queue, and when a RT priority task waits on the queue, a function
is call to increase (if needed) the priority of the attached thread. I
know that this would take some work, and would make the normal kernel
and RT diverge more, but it would really help to solve the problem of a
high priority process waiting for an interrupt that can be starved by
other high priority processes.

I think there are two issues here. One being as above which
addresses allowing the server thread to compete for CPU time
at a priority equal to its highest waiting client. Essentially
the server needs no inherent priority of its own, rather its
priority is automatically inherited. The semantics seem
straightforward even in the general case of servers themselves
becoming clients of other servers.

Another issue is the fact the server thread is effectively
non-preemptive. Otherwise a newly arrived waiter of priority
higher than a client currently being serviced would receive
immediate attention. One problem to be solved here is how to
save/restore client context when a "context switch" is required.

-john


--
john.cooper@xxxxxxxxxxx
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/