From: Andi Kleen <andi@firstfloor.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>, Ingo Molnar <mingo@elte.hu>,
linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Thomas Gleixner <tglx@linutronix.de>,
Alexander Viro <viro@ftp.linux.org.uk>
Subject: Re: [announce] "kill the Big Kernel Lock (BKL)" tree
Date: Thu, 15 May 2008 00:03:46 +0200 [thread overview]
Message-ID: <482B61C2.9070106@firstfloor.org> (raw)
In-Reply-To: <alpine.LFD.1.10.0805141435540.3019@woody.linux-foundation.org>
Linus Torvalds wrote:
>
> On Wed, 14 May 2008, Alan Cox wrote:
>> That in itself is a problem Ingo's stuff won't help with: We have lots of
>> "magic" accidental, undocumented and pot luck BKL locking semantics
>> between subsystems that are not even visible.
>
> The good news is that I suspect they are going away. It probably is mainly
> tty and /proc by now, and /proc is pretty close to done.
Character devices in general.
And what's pretty nasty is that some interfaces force BKL still, so
not even new code can opt out.
> In the VFS layer, we still have
>
> - the ioctl thing, obviously. That's just mind-numbing "move things
> down", not hard per se. But there's a *lot* of them (and I suspect the
> huge majority of them don't actually need it, since they'd already be
> racing against read/write anyway if they did).
>
> - default_llseek(). Probably the same, just a lot less of it.
I had some patches for those.
>
> - superblock read/write.
>
- fasync
[had some patches for "fasync_locked", not sure if it's worth it]
- character device open
That's a nasty one. Either open_unlocked or a special cdev_init?
> and the latter one in particular is really dubious (we already have
> "[un]lock_super()" around it all, I think).
>
> The core kernel, VM and networking already don't really do BKL. And it's
> seldom the case that subsystems interact with other unrelated subsystems
> outside of the core areas.
>
> So it's a lot of work, no doubt, but I do think we should be able to do
> it. The most mind-numbing part is literally all the ioctl crud. There's
> more ioctl points than there are lock_kernel() calls left anywhere else.
I tried to recruit kernel janitors some time ago to just do all the
ioctl -> ioctl_unlocked/explicit lock_kernel changes. There were a few
patches generated but the effort died down then.
BTW for ioctl the dynamic instrumentation method proposed also won't
work because it's basically impossible to exercise all these ioctls
-Andi
next prev parent reply other threads:[~2008-05-14 22:03 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-14 17:49 [announce] "kill the Big Kernel Lock (BKL)" tree Ingo Molnar
2008-05-14 18:30 ` Andi Kleen
2008-05-14 21:00 ` Alan Cox
2008-05-14 21:13 ` Andi Kleen
2008-05-14 21:16 ` H. Peter Anvin
2008-05-14 21:17 ` Alan Cox
2008-05-14 21:19 ` Alan Cox
2008-05-14 21:45 ` Linus Torvalds
2008-05-14 22:03 ` Andi Kleen [this message]
2008-05-15 13:34 ` Alan Cox
2008-05-15 14:27 ` Andi Kleen
2008-05-15 15:36 ` Alan Cox
2008-05-16 10:21 ` Andi Kleen
2008-05-15 8:02 ` Ingo Molnar
2008-05-14 18:41 ` Linus Torvalds
2008-05-14 19:41 ` Ingo Molnar
2008-05-14 20:05 ` Frederik Deweerdt
2008-05-14 21:45 ` Jonathan Corbet
2008-05-14 21:39 ` Alan Cox
2008-05-14 21:56 ` Linus Torvalds
2008-05-14 22:07 ` Jonathan Corbet
2008-05-14 22:14 ` Linus Torvalds
2008-05-22 20:20 ` Alan Cox
2008-05-16 15:44 ` [PATCH, RFC] char dev BKL pushdown Jonathan Corbet
2008-05-16 15:49 ` Christoph Hellwig
2008-05-16 16:03 ` [PATCH] kill empty chardev open/release methods Christoph Hellwig
2008-05-16 16:24 ` Alan Cox
2008-05-16 20:55 ` Alan Cox
2008-05-18 19:46 ` Jonathan Corbet
2008-05-18 19:58 ` Alan Cox
2008-05-16 16:22 ` [PATCH, RFC] char dev BKL pushdown Alan Cox
2008-05-16 16:30 ` Linus Torvalds
2008-05-16 16:43 ` Jonathan Corbet
2008-05-17 21:15 ` Arnd Bergmann
2008-05-18 20:26 ` Jonathan Corbet
2008-05-19 23:07 ` Arnd Bergmann
[not found] ` <200805200111.47275.arnd@arndb.de>
2008-05-19 23:14 ` [PATCH 2/3, RFC] watchdog " Arnd Bergmann
2008-05-20 6:20 ` Christoph Hellwig
2008-05-20 8:30 ` Arnd Bergmann
2008-05-20 15:47 ` Wim Van Sebroeck
2008-05-20 18:31 ` Alan Cox
2008-05-20 21:00 ` Arnd Bergmann
2008-05-22 9:34 ` Alan Cox
2008-05-20 9:08 ` Alan Cox
2008-05-20 8:42 ` Alan Cox
2008-05-19 23:26 ` [PATCH 1/3, RFC] misc char " Arnd Bergmann
2008-05-20 0:07 ` Mike Frysinger
2008-05-20 0:21 ` Jonathan Corbet
2008-05-20 0:46 ` Mike Frysinger
2008-05-20 8:46 ` Alan Cox
2008-05-20 23:01 ` Mike Frysinger
2008-05-20 23:25 ` Jonathan Corbet
2008-05-21 16:22 ` Mike Frysinger
2008-05-19 23:34 ` [PATCH 3/3, RFC] remove BKL from misc_open() Arnd Bergmann
2008-05-20 15:13 ` [PATCH, RFC] char dev BKL pushdown Jonathan Corbet
2008-05-20 17:21 ` Arnd Bergmann
2008-05-20 18:51 ` Alan Cox
2008-05-17 21:58 ` Linus Torvalds
2008-05-18 20:07 ` Jonathan Corbet
2008-05-14 22:11 ` [announce] "kill the Big Kernel Lock (BKL)" tree Andi Kleen
2008-05-14 22:16 ` Linus Torvalds
2008-05-14 22:21 ` Andi Kleen
2008-05-15 13:30 ` Alan Cox
2008-05-15 15:05 ` John Stoffel
2008-05-15 15:10 ` Andi Kleen
2008-05-15 15:18 ` John Stoffel
2008-05-15 15:45 ` Andi Kleen
2008-05-15 8:44 ` Jan Engelhardt
2008-05-15 14:54 ` Diego Calleja
2008-05-14 21:46 ` Alan Cox
2008-05-14 22:11 ` Linus Torvalds
2008-05-14 22:15 ` Andi Kleen
2008-05-15 17:41 ` Linus Torvalds
2008-05-15 20:27 ` Arjan van de Ven
2008-05-15 20:45 ` Peter Zijlstra
2008-05-15 21:22 ` Arjan van de Ven
2008-05-17 0:14 ` Kevin Winchester
2008-05-17 0:37 ` Kevin Winchester
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=482B61C2.9070106@firstfloor.org \
--to=andi@firstfloor.org \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=viro@ftp.linux.org.uk \
/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.