From: "Robert White" <rwhite@casabyte.com>
To: <root@chaos.analogic.com>
Cc: "Helge Hafting" <helgehaf@aitel.hist.no>,
"Linux kernel" <linux-kernel@vger.kernel.org>
Subject: RE: recursive spinlocks. Shoot.
Date: Tue, 20 May 2003 16:06:08 -0700 [thread overview]
Message-ID: <PEEPIDHAKMCGHDBJLHKGAEGHCMAA.rwhite@casabyte.com> (raw)
In-Reply-To: <Pine.LNX.4.53.0305201709440.1074@chaos>
-----Original Message-----
From: Richard B. Johnson [mailto:root@chaos.analogic.com]
> The lock must guarantee that recursion is not allowed. Or to put
> it more bluntly, the lock must result in a single thread of execution
> through the locked object.
Where the HECK do you get that load of bull? The one requirement of a
MUTUAL EXCLUSION PRIMITIVE (a.k.a. mutex, a.k.a. lock) is *MUTUAL*
EXCLUSIVITY.
Nothing else. Lets look at the words:
Mutual - "directed by *each* toward the *other* or *others*" (e.g. not self,
duh) {all other definitions talk about group insurance, which applies too
8-)
Exclusion -> exclude -> "To prevent or restrict entrance" (etc.) "to bar
from participation"
So, a mutex erects a "bar to/from participation" "directed by each (holder)
to other (would be holder(s))".
There is no concept of "Self Exclusion" in a lock (mutex et. al.) so
recursion, by definition, is (or should be) permitted.
All else is unfounded blither.
The fact is, that it is easier to write locks that will self dead-lock and
lazy people, acting in the name of expediency, decided that somehow, such
locks were "better" because they didn't want to expend the effort to make
them correct. Still others then try to stand on lazy precedent as if it is
somehow cannon.
The only place/way you can argue this is if the constituent operations "X"
within a larger body of code Alpha are not considered part of Alpha (re, the
previous Alpha is composed of X and others example). But that is like
yelling "I locked it, so my arm, which is not all of me, should not be
allowed to use it because my arm is not me..."
>From the standpoint of purely logical analysis, this is a little esoteric...
and obviously specious tripe.
Rob.
next prev parent reply other threads:[~2003-05-20 22:53 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-05-18 9:21 Peter T. Breuer
2003-05-18 16:30 ` Martin J. Bligh
2003-05-18 16:35 ` William Lee Irwin III
2003-05-18 16:49 ` Arjan van de Ven
2003-05-18 16:54 ` William Lee Irwin III
2003-05-18 17:14 ` Martin J. Bligh
2003-05-18 17:24 ` Peter T. Breuer
2003-05-18 22:34 ` David Woodhouse
2003-05-19 13:37 ` Peter T. Breuer
2003-05-19 13:45 ` Jens Axboe
2003-05-19 13:47 ` Arjan van de Ven
[not found] ` <mailman.1053352200.24653.linux-kernel2news@redhat.com>
2003-05-19 23:54 ` Pete Zaitcev
2003-05-20 0:03 ` viro
2003-05-20 0:03 ` Johannes Erdfelt
2003-05-20 3:12 ` Robert White
2003-05-20 11:59 ` Helge Hafting
2003-05-20 12:23 ` Richard B. Johnson
2003-05-20 21:05 ` Robert White
2003-05-20 21:42 ` Richard B. Johnson
2003-05-20 23:06 ` Robert White [this message]
2003-05-21 14:01 ` Richard B. Johnson
2003-05-21 21:56 ` Robert White
2003-05-22 0:13 ` viro
2003-05-22 0:32 ` Robert White
2003-05-22 0:46 ` Carl-Daniel Hailfinger
2003-05-21 5:48 ` Nikita Danilov
2003-05-22 1:00 ` Rik van Riel
2003-05-22 3:11 ` Robert White
2003-05-22 4:04 ` Nick Piggin
2003-05-22 4:42 ` Peter T. Breuer
2003-05-22 5:09 ` Nick Piggin
2003-05-23 0:19 ` Robert White
2003-05-23 7:22 ` Nikita Danilov
2003-05-23 9:07 ` Helge Hafting
2003-05-23 12:18 ` William Lee Irwin III
2003-05-24 2:39 ` Robert White
2003-05-28 16:50 ` Timothy Miller
2003-05-19 2:05 ` Kevin O'Connor
2003-05-19 6:19 ` Jan Hudec
2003-05-19 10:29 ` Helge Hafting
2003-05-19 11:37 ` Nikita Danilov
2003-05-22 1:21 ` Daniel Phillips
2003-05-19 14:28 ` Martin J. Bligh
2003-05-18 18:13 ` Davide Libenzi
[not found] <20030518182010$0541@gated-at.bofh.it>
2003-05-18 19:09 ` Peter T. Breuer
2003-05-18 19:31 ` Davide Libenzi
2003-05-18 19:49 ` Peter T. Breuer
2003-05-18 20:13 ` Davide Libenzi
2003-05-19 20:47 ` Jan Hudec
[not found] <20030518202013$5297@gated-at.bofh.it>
2003-05-18 23:15 ` Peter T. Breuer
2003-05-18 23:26 ` Davide Libenzi
2003-05-19 12:48 ` Peter T. Breuer
2003-05-19 17:15 ` Davide Libenzi
2003-05-19 17:27 ` Peter T. Breuer
2003-05-19 17:57 ` Alan Cox
2003-05-19 19:51 ` Peter T. Breuer
2003-05-19 20:22 ` Robert White
[not found] <20030520231013$3d77@gated-at.bofh.it>
2003-05-21 14:16 ` Peter T. Breuer
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=PEEPIDHAKMCGHDBJLHKGAEGHCMAA.rwhite@casabyte.com \
--to=rwhite@casabyte.com \
--cc=helgehaf@aitel.hist.no \
--cc=linux-kernel@vger.kernel.org \
--cc=root@chaos.analogic.com \
/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®