RE: [PATCH 2.5.64] Real-time futexes (priority inheritance/protec tion/robust support) take 4
"Alexander Terekhov" <[email protected]>
| Newsgroups | gmane.comp.lib.phil |
|---|---|
| Organization | http://freemail.web.de/ |
| Message-ID | <[email protected]> |
"Perez-Gonzalez, Inaky" <[email protected]> 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