From: Samuel Masham <samuel.masham@gmail.com>
To: davids@webmaster.com
Cc: lkml@rtr.ca, Lee Revell <rlrevell@joe-job.com>,
Christopher Friesen <cfriesen@nortel.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
hancockr@shaw.ca
Subject: Re: pthread_mutex_unlock (was Re: sched_yield() makes OpenLDAP slow)
Date: Thu, 26 Jan 2006 12:49:00 +0900 [thread overview]
Message-ID: <93564eb70601251949r1fb4c209t@mail.gmail.com> (raw)
In-Reply-To: <MDEHLPKNGKAHNMBLJOLKGEJPJKAB.davids@webmaster.com>
On 26/01/06, David Schwartz <davids@webmaster.com> wrote:
>
> > > So you cannot write an application that can tell the difference.
>
> > Not true. The code for the relinquishing thread could indeed
> > tell the difference.
> >
> > -ml
>
> It can tell the difference between the other thread getting the mutex first
> and it getting the mutex first. But it cannot tell the difference between an
> implementation that puts random sleeps before calls to 'pthread_mutex_lock'
> and an implementation that has the allegedly non-compliant behavior. That
> makes the behavior compliant under the 'as-if' rule.
>
> If you don't believe me, try to write a program that prints 'non-compliant'
> on a system that has the alleged non-compliance but is guaranteed not to do
> so on any compliant system. It cannot be done.
Just putting priority inheritance on then in the running thread check
your priority, if it goes up then the waiting thread in really
waiting.
Then if you can release + get the lock again its non compliant.... no?
ie pthread_mutexattr_setprotocol(pthread_mutexattr_t *attr, int
protocol); with PTHREAD_PRIO_INHERIT
comment:
As a rt person I don't like the idea of scheduler bounce so the way
round seems to be have the mutex lock acquiring work on a FIFO like
basis.
> In order to claim the alleged compliance, you would have to know that a
> thread waiting for a mutex did not get it. But there is no possible way you
> can know that another thread is waiting for the mutex (as opposed to being
> about to wait for it). So you can never detect the claimed non-compliance,
> so it's not non-compliance.
>
> This is definitive, really. It 100% refutes the claim.
>
> DS
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
next prev parent reply other threads:[~2006-01-26 3:49 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-24 22:59 e100 oops on resume Stefan Seyfried
2006-01-24 23:21 ` Mattia Dongili
2006-01-25 9:02 ` Olaf Kirch
2006-01-25 12:11 ` Olaf Kirch
2006-01-25 13:51 ` sched_yield() makes OpenLDAP slow Howard Chu
2006-01-25 14:38 ` Robert Hancock
2006-01-25 17:49 ` Christopher Friesen
2006-01-25 18:26 ` pthread_mutex_unlock (was Re: sched_yield() makes OpenLDAP slow) Howard Chu
2006-01-25 18:59 ` Nick Piggin
2006-01-25 19:32 ` Howard Chu
2006-01-26 8:51 ` Nick Piggin
2006-01-26 14:15 ` Kyle Moffett
2006-01-26 14:43 ` Howard Chu
2006-01-26 19:57 ` David Schwartz
2006-01-26 20:27 ` Howard Chu
2006-01-26 20:46 ` Nick Piggin
2006-01-26 21:32 ` Howard Chu
2006-01-26 21:41 ` Nick Piggin
2006-01-26 21:56 ` Howard Chu
2006-01-26 22:24 ` Nick Piggin
2006-01-27 8:08 ` Howard Chu
2006-01-27 19:25 ` Philipp Matthias Hahn
2006-02-01 12:31 ` Nick Piggin
2006-01-27 4:27 ` Steven Rostedt
2006-01-26 21:58 ` Christopher Friesen
2006-01-27 4:13 ` Steven Rostedt
2006-01-27 2:16 ` David Schwartz
2006-01-27 8:19 ` Howard Chu
2006-01-27 19:50 ` David Schwartz
2006-01-27 20:13 ` Howard Chu
2006-01-27 21:05 ` David Schwartz
2006-01-27 21:23 ` Howard Chu
2006-01-27 23:31 ` David Schwartz
2006-01-30 8:28 ` Helge Hafting
2006-01-26 10:38 ` Nikita Danilov
2006-01-30 8:35 ` Helge Hafting
2006-01-30 11:13 ` Nikita Danilov
2006-01-31 23:18 ` David Schwartz
2006-01-25 21:06 ` Lee Revell
2006-01-25 22:14 ` Howard Chu
2006-01-26 0:16 ` Robert Hancock
2006-01-26 0:49 ` Howard Chu
2006-01-26 1:04 ` Lee Revell
2006-01-26 1:31 ` Howard Chu
2006-01-26 2:05 ` David Schwartz
2006-01-26 2:48 ` Mark Lord
2006-01-26 3:30 ` David Schwartz
2006-01-26 3:49 ` Samuel Masham [this message]
2006-01-26 4:02 ` Samuel Masham
2006-01-26 4:53 ` Lee Revell
2006-01-26 6:14 ` Samuel Masham
2006-01-26 8:54 ` Nick Piggin
2006-01-26 14:24 ` Howard Chu
2006-01-26 14:54 ` Nick Piggin
2006-01-26 15:23 ` Howard Chu
2006-01-26 15:51 ` Nick Piggin
2006-01-26 16:44 ` Howard Chu
2006-01-26 17:34 ` linux-os (Dick Johnson)
2006-01-26 19:00 ` Nick Piggin
2006-01-26 19:14 ` linux-os (Dick Johnson)
2006-01-26 21:12 ` Nick Piggin
2006-01-26 21:31 ` linux-os (Dick Johnson)
2006-01-27 7:06 ` Valdis.Kletnieks
2006-01-30 8:44 ` Helge Hafting
2006-01-30 8:50 ` Howard Chu
2006-01-30 15:33 ` Kyle Moffett
2006-01-30 13:28 ` linux-os (Dick Johnson)
2006-01-30 15:15 ` Helge Hafting
2006-01-26 10:44 ` Nikita Danilov
2006-01-26 0:08 ` Robert Hancock
2006-01-26 1:07 ` sched_yield() makes OpenLDAP slow David Schwartz
2006-01-26 8:30 ` Helge Hafting
2006-01-26 9:01 ` Nick Piggin
2006-01-26 10:50 ` Nikita Danilov
2006-01-25 19:37 ` e100 oops on resume Jesse Brandeburg
2006-01-25 20:14 ` Olaf Kirch
2006-01-25 22:28 ` Jesse Brandeburg
2006-01-26 0:28 ` Jesse Brandeburg
2006-01-26 9:32 ` Pavel Machek
2006-01-26 19:02 ` Stefan Seyfried
2006-01-26 19:09 ` Olaf Kirch
2006-01-28 11:53 ` Mattia Dongili
2006-01-28 19:53 ` Jesse Brandeburg
2006-02-07 6:57 ` Jeff Garzik
[not found] ` <BAY108-DAV111F6EF46F6682FEECCC1593140@phx.gbl>
[not found] ` <4807377b0601271404w6dbfcff6s4de1c3f785dded9f@mail.gmail.com>
2006-01-30 17:25 ` Can I do a regular read to simulate prefetch instruction? John Smith
-- strict thread matches above, loose matches on Subject: below --
2006-01-30 22:01 pthread_mutex_unlock (was Re: sched_yield() makes OpenLDAP slow) linux
2006-01-30 23:37 linux
2006-02-01 17:06 Lee Schermerhorn
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=93564eb70601251949r1fb4c209t@mail.gmail.com \
--to=samuel.masham@gmail.com \
--cc=cfriesen@nortel.com \
--cc=davids@webmaster.com \
--cc=hancockr@shaw.ca \
--cc=linux-kernel@vger.kernel.org \
--cc=lkml@rtr.ca \
--cc=rlrevell@joe-job.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.