From: Peter Zijlstra <peterz@infradead.org>
To: Bart Van Assche <bart.vanassche@gmail.com>
Cc: Andi Kleen <andi@firstfloor.org>,
Roland Dreier <rdreier@cisco.com>, Ingo Molnar <mingo@elte.hu>,
Matthew Wilcox <matthew@wil.cx>, Ingo Oeser <ioe-lkml@rameria.de>,
Daniel Walker <dwalker@mvista.com>,
linux-kernel@vger.kernel.org, Linus Torvalds <torvalds@osdl.org>
Subject: Re: [PATCH] Replace completions with semaphores
Date: Tue, 15 Apr 2008 10:44:48 +0200 [thread overview]
Message-ID: <1208249088.7124.7.camel@twins> (raw)
In-Reply-To: <e2e108260804150017u7d0aad8do9b26f7531a3a5226@mail.gmail.com>
On Tue, 2008-04-15 at 09:17 +0200, Bart Van Assche wrote:
> On Tue, Apr 15, 2008 at 8:46 AM, Peter Zijlstra <peterz@infradead.org> wrote:
> >
> > On Tue, 2008-04-15 at 08:18 +0200, Bart Van Assche wrote:
> > > Would it really be a good idea to give a synchronization concept that
> > > behaves exactly like a semaphore another name than "semaphore" ? The
> > > semaphore concept is well known and is taught in every computer
> > > science course.
> >
> > Are the ramifications wrt priority inversion taught? Is it made clear
> > that its hard to validate because there is no clear resource owner?
> >
> > Afaik, non of these subjects are touched upon in the CS-101 courses and
> > that is exactly the problem. So you can say they are not well know, they
> > are just widely misunderstood.
> >
> > And yes, if there are more hand a very few such users it doesn't make
> > sense to keep them open coded.
>
> Regarding semaphores and priority inversion: I have never recommended
> the use of semaphores over mutexes, all I recommended is to keep the
> name "semaphore" for something that behaves like a semaphore. There
> might be better ways to discourage the use of the semaphore API, e.g.
> letting the compiler print a warning every time a semaphore function
> is called unless one or another #define has been enabled.
That sounds horrible; I really prefer targeted replacements like
completions that make it clear what they're supposed to be used for.
> Regarding priority inheritance: does the above mean that you consider
> priority inheritance as an optimal solution for realizing real-time
> behavior in the kernel ? Are you aware of the fundamental problems
> associated with priority inheritance ? These issues are well explained
> in Victor Yodaiken's paper "Against priority inheritance". See also
> http://www.linuxdevices.com/files/misc/yodaiken-july02.pdf .
Priority inheritance isn't ideal, but comming from a general purpose
kernel that wasn't build from scratch to accomodate hard realtime its
basically the only option.
Also things like lockdep are a real help to a lot of developers - loads
of locking bugs never make it into the kernel because of it.
next prev parent reply other threads:[~2008-04-15 8:45 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-11 21:00 [PATCH] Replace completions with semaphores Matthew Wilcox
2008-04-12 6:43 ` Daniel Walker
2008-04-12 10:31 ` Ingo Oeser
2008-04-12 12:24 ` Peter Zijlstra
2008-04-12 17:26 ` Matthew Wilcox
2008-04-12 18:01 ` Daniel Walker
2008-04-12 18:05 ` Peter Zijlstra
2008-04-12 19:04 ` Matthew Wilcox
2008-04-12 19:16 ` Peter Zijlstra
2008-04-12 19:53 ` Roland Dreier
2008-04-12 20:47 ` Matthew Wilcox
2008-04-13 7:08 ` Ingo Molnar
2008-04-13 12:57 ` Matthew Wilcox
2008-04-14 15:39 ` Ingo Molnar
2008-04-14 15:58 ` Roland Dreier
2008-04-14 16:32 ` Peter Zijlstra
2008-04-14 16:56 ` Arjan van de Ven
2008-04-14 17:50 ` Matthew Wilcox
2008-04-14 17:46 ` Andi Kleen
2008-04-14 17:54 ` Peter Zijlstra
2008-04-14 18:09 ` Daniel Walker
2008-04-14 19:16 ` Andi Kleen
2008-04-15 6:18 ` Bart Van Assche
2008-04-15 6:46 ` Peter Zijlstra
2008-04-15 7:17 ` Bart Van Assche
2008-04-15 8:44 ` Peter Zijlstra [this message]
2008-04-15 13:15 ` Bart Van Assche
2008-04-15 16:09 ` Linus Torvalds
2008-04-15 16:27 ` Andi Kleen
2008-04-15 16:57 ` Linus Torvalds
2008-04-15 17:05 ` Ingo Molnar
2008-04-15 18:50 ` Matthew Wilcox
2008-04-16 12:37 ` Ingo Molnar
2008-04-16 12:50 ` Andi Kleen
2008-04-16 12:59 ` Killable stat/readdir Matthew Wilcox
2008-04-15 17:15 ` [PATCH] Replace completions with semaphores Andi Kleen
2008-04-15 17:26 ` Linus Torvalds
2008-04-15 17:41 ` Matthew Wilcox
2008-04-15 18:14 ` Linus Torvalds
2008-04-16 16:07 ` Ingo Oeser
2008-04-16 16:16 ` Matthew Wilcox
2008-04-16 16:31 ` Oliver Neukum
2008-04-16 16:34 ` Matthew Wilcox
2008-04-16 16:42 ` Oliver Neukum
2008-04-16 16:44 ` Matthew Wilcox
2008-04-16 16:47 ` Roland Dreier
2008-04-16 16:50 ` Arjan van de Ven
2008-04-16 16:58 ` Matthew Wilcox
2008-04-16 17:08 ` Arjan van de Ven
2008-04-16 17:12 ` Matthew Wilcox
2008-04-16 18:10 ` Matthew Wilcox
2008-04-14 19:16 ` Alan Cox
2008-04-13 14:55 ` Bart Van Assche
2008-04-14 17:12 ` API documentation (was [PATCH] Replace completions with semaphores) Jonathan Corbet
2008-04-14 17:33 ` Peter Zijlstra
2008-04-14 18:38 ` Bart Van Assche
2008-04-13 13:55 ` [PATCH] Replace completions with semaphores Bart Van Assche
2008-04-13 14:22 ` Matthew Wilcox
2008-04-13 7:05 ` Ingo Molnar
2008-04-13 12:52 ` Matthew Wilcox
2008-04-14 15:41 ` Ingo Molnar
2008-04-14 17:46 ` Matthew Wilcox
2008-04-14 16:54 ` Jens Axboe
[not found] <ahyFC-2bu-25@gated-at.bofh.it>
[not found] ` <ahUPJ-8rN-1@gated-at.bofh.it>
[not found] ` <ai4vO-2Rp-19@gated-at.bofh.it>
[not found] ` <ai9Yw-5uh-7@gated-at.bofh.it>
[not found] ` <aiz6z-OZ-31@gated-at.bofh.it>
[not found] ` <aizgp-151-25@gated-at.bofh.it>
[not found] ` <aizSW-2Ar-17@gated-at.bofh.it>
[not found] ` <aiAYF-5e7-19@gated-at.bofh.it>
[not found] ` <aiB8o-5A7-17@gated-at.bofh.it>
[not found] ` <aiCnR-7k-39@gated-at.bofh.it>
[not found] ` <aiMGu-7f0-7@gated-at.bofh.it>
2008-04-16 10:22 ` Bodo Eggert
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=1208249088.7124.7.camel@twins \
--to=peterz@infradead.org \
--cc=andi@firstfloor.org \
--cc=bart.vanassche@gmail.com \
--cc=dwalker@mvista.com \
--cc=ioe-lkml@rameria.de \
--cc=linux-kernel@vger.kernel.org \
--cc=matthew@wil.cx \
--cc=mingo@elte.hu \
--cc=rdreier@cisco.com \
--cc=torvalds@osdl.org \
/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.