[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
RE: [PATCH 2.5.64] Real-time futexes (priority inheritance/protec tion/robust support) take 4
- From: "Alexander Terekhov" <terekhov web de>
- To: phil-list redhat com
- Subject: RE: [PATCH 2.5.64] Real-time futexes (priority inheritance/protec tion/robust support) take 4
- Date: Wed, 26 Mar 2003 20:25:27 +0100
"Perez-Gonzalez, Inaky" <inaky perez-gonzalez intel com> schrieb am 25.03.03 00:46:25:
[...]
> On condvars, I am not that sure - but to me it looks like they can use the
> same mechanism as mutexes. It even makes sense to enable PI/PP/robust.
I'm not sure that I'm not just missing and/or misunderstanding something...
AFAICS, with respect to condition variables, you'll have to provide priority
ordered wakeup (and only within/for "scheduling allocation domains of size
one"). That can be done using the current futex interface, I think. Given
that condvars aren't locks (they don't have ownership) and that you simply
can't know all the predicates and {potential} signalers... I guess, the only
form of deadlocks that you can detect WRT condvars is the-entire-world-is-
going-to-halt-now (and within a single process only; process-shared stuff
aside). Well, a rather interesting problem to solve is the implementation of
a "realtime" condition variable that would handle futex overflows. Uhmm, for
example, the one that I've tried to come up (just as a sort of "academic
exercise"): http://www.terekhov.de/DESIGN-futex-CV.txt,
http://www.terekhov.de/DESIGN-futex-CV.cpp,
http://www.terekhov.de/DESIGN-futex-CV-with-async.cancelable-wait.txt) does
NOT ensure priority ordered wakeup when the futex value has reached "end-of-
cycle" (and until it gets reset by the last "old" waiter).
regards,
alexander.
______________________________________________________________________________
Werden Sie kreativ! Jetzt HTML-Mails nicht nur schreiben - nein -
GESTALTEN, bei WEB.DE FreeMail! http://freemail.web.de/features/?mc=021141
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]