From: "Bart Van Assche" <bart.vanassche@gmail.com>
To: "Ingo Molnar" <mingo@elte.hu>
Cc: "Matthew Wilcox" <matthew@wil.cx>,
"Roland Dreier" <rdreier@cisco.com>,
"Peter Zijlstra" <peterz@infradead.org>,
"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: Sun, 13 Apr 2008 16:55:25 +0200 [thread overview]
Message-ID: <e2e108260804130755r3c2cac0fnaa0c570707f2b53b@mail.gmail.com> (raw)
In-Reply-To: <20080413070833.GC19773@elte.hu>
On Sun, Apr 13, 2008 at 9:08 AM, Ingo Molnar <mingo@elte.hu> wrote:
>
> but semaphores will be _removed_, _completely_. Rewriting them in
> generic C code is just the first step towards that - it consolidates all
> the myriads of semaphore implementations that Linux has spread out.
>
> your proposed change to change completions to semaphores is totally
> backwards and prolongs an API we want to get rid of. Did you miss this
> aspect of the mutex rewrite, of the semaphore-to-mutex,
> semaphore-to-completions and semaphore-to-rwsem conversions?
I know the semaphore-to-mutex rewrites were essential a.o. to make
further merging of the real-time tree into the mainstream Linux kernel
possible. But the semaphore concept is more powerful than the mutex
concept: semaphores can be used to let one thread wait for a state
change reported by another thread. Should all state-change-waiting be
implemented via wait_event*() functions ?
One of the strengths of the Linux kernel is that the barrier for new
developers is low: in theory anyone familiar with the C programming
language can start writing kernel drivers. Most people still learn
kernel development via the third edition of the "Linux Device Drivers"
book, and with some luck or some help, they come across an overview of
the 2.6 kernel API changes (http://lwn.net/Articles/2.6-kernel-api/).
The LWN book is getting outdated after all the 2.6 kernel API changes,
and the page with 2.6 kernel API changes was last updated six months
ago. Where can a kernel developer find up to date information about
kernel programming ?
Bart.
next prev parent reply other threads:[~2008-04-13 14:55 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-11 21:00 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
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 [this message]
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=e2e108260804130755r3c2cac0fnaa0c570707f2b53b@mail.gmail.com \
--to=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=peterz@infradead.org \
--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 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®