From: "Perez-Gonzalez, Inaky" <inaky.perez-gonzalez@intel.com>
To: <dwalker@mvista.com>, <linux-kernel@vger.kernel.org>
Cc: <mingo@elte.hu>
Subject: RE: FUSYN and RT
Date: Tue, 12 Apr 2005 12:35:17 -0700 [thread overview]
Message-ID: <F989B1573A3A644BAB3920FBECA4D25A02FD4330@orsmsx407> (raw)
>From: Daniel Walker [mailto:dwalker@mvista.com]
>
>I just wanted to discuss the problem a little more. From all the
>conversations that I've had it seem that everyone is worried about
>having PI in Fusyn, and PI in the RT mutex.
It sure is overlapping functionalities.
> ...
>The RT mutex will never lower a tasks priority lower than the priority
>given to it by locking a Fusyn lock.
>
>At least, both mutexes will need to use the same API to raise and lower
>priorities.
This would be step one. This would also mean they'd need to share
some data structures to protect transitivity (like when you own
more than one mutex that is PI or PP).
>The next question is deadlocks. Because one mutex is only in the
kernel,
>and the other is only in user space, it seems that deadlocks will only
>occur when a process holds locks that are all the same type.
Actually, I think it would occur in both cases. It all boils down
at the end to locks in the kernel. Some of them are not visible to
user space, some are (and with those we implement mutexes):
Task B owns FUSYN-MUTEX 2
Task A owns RT-MUTEX 1
Task B is waiting for RT-MUTEX 1
TASK A wants to wait for FUSYN-MUTEX 2
[deadlock]
[replace at will RT for FUSYN, FUSYN for RT, both, it doesn't
matter, the problem stays the same].
In any case, if let's say we have both implementations coexisting,
then verifying deadlock becomes a daunting tasks, because there
are two lists of ownerships that we have to verify: the chain
becomes a graph.
Whatever happens at the end: the kernel implementation needs to
be only one. Whichever (I particularly don't care, although I'd
like to see fusyns take it, I think they are able). The one that
exposes user space mutexes has to be built on top of that. And
exposing to user space is the toughest task (unless you don't
care about the fast-path).
-- Inaky
next reply other threads:[~2005-04-12 21:02 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-12 19:35 Perez-Gonzalez, Inaky [this message]
-- strict thread matches above, loose matches on Subject: below --
2005-04-12 23:36 Perez-Gonzalez, Inaky
2005-04-12 23:09 Perez-Gonzalez, Inaky
2005-04-12 22:26 Perez-Gonzalez, Inaky
2005-04-12 22:33 ` Daniel Walker
2005-04-12 21:28 Perez-Gonzalez, Inaky
2005-04-12 20:35 Perez-Gonzalez, Inaky
2005-04-12 23:11 ` Esben Nielsen
2005-04-13 0:27 ` Daniel Walker
2005-04-13 15:46 ` Steven Rostedt
2005-04-13 17:33 ` Daniel Walker
2005-04-13 18:38 ` Steven Rostedt
2005-04-15 22:51 ` Bill Huey
2005-04-15 23:37 ` Inaky Perez-Gonzalez
2005-04-16 1:14 ` Steven Rostedt
2005-04-16 1:20 ` Inaky Perez-Gonzalez
2005-04-16 1:38 ` Steven Rostedt
2005-04-16 1:53 ` Inaky Perez-Gonzalez
2005-04-16 2:31 ` Steven Rostedt
2005-04-16 3:00 ` Sven Dietrich
2005-04-16 3:31 ` Steven Rostedt
2005-04-16 13:05 ` john cooper
2005-04-16 14:23 ` Steven Rostedt
2005-04-16 14:51 ` john cooper
2005-04-16 4:05 ` Inaky Perez-Gonzalez
2005-04-18 5:30 ` Bill Huey
2005-04-18 7:37 ` Sven-Thorsten Dietrich
2005-04-18 11:33 ` Steven Rostedt
2005-04-12 18:15 Daniel Walker
2005-04-12 20:29 ` Esben Nielsen
2005-04-12 22:15 ` Daniel Walker
2005-04-12 20:33 ` Joe Korty
2005-04-12 21:25 ` Daniel Walker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=F989B1573A3A644BAB3920FBECA4D25A02FD4330@orsmsx407 \
--to=inaky.perez-gonzalez@intel.com \
--cc=dwalker@mvista.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®