From: "David C. Hansen" <haveblue@us.ibm.com>
To: Christoph Hellwig <hch@ns.caldera.de>
Cc: Oliver.Neukum@lrz.uni-muenchen.de,
Horst von Brand <vonbrand@inf.utfsm.cl>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Rick Lindsley <ricklind@us.ibm.com>
Subject: Re: [PATCH] Remove needless BKL from release functions
Date: Mon, 26 Nov 2001 09:46:48 -0800 [thread overview]
Message-ID: <3C028008.6000605@us.ibm.com> (raw)
In-Reply-To: <200111231047.fANAlA105874@ns.caldera.de>
Christoph Hellwig wrote:
>Beeing completly single-threaded also simplifies writing unclean drivers..
>
>BTW, I've attached a patch that fixes the largest input races (against 2.4.6),
>I don't see how to change the total lack of locking for other data structures
>without an API change, though.
>
The removal of the BKL in the input.c's open() was beyond the scope of
what we were trying to do. But, it snuck into the patch anyway. It
probably shouldn't have been there.
In the patch, in the open function, you do this:
if (handler)
new_fops = fops_get(handler->fops);
But, the fops_get() #define already cheecks to make sure handler isn't null:
#define fops_get(fops) \
(((fops) && (fops)->owner) \
? ( try_inc_mod_count((fops)->owner) ? (fops) : NULL ) \
: (fops))
It's nice to be careful, but is that extra check really necessary?
And, the BKL is still held during the open() call to the handler's
open(). Is this trying to make sure that open() isn't called twice on a
single device? I checked all of the files in drivers/input, and didn't
see any other uses of the BKL.
--
David C. Hansen
haveblue@us.ibm.com
next prev parent reply other threads:[~2001-11-26 17:47 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-11-21 23:32 [PATCH] Remove needless BKL from release functions David C. Hansen
2001-11-22 10:12 ` Oliver Neukum
2001-11-22 12:11 ` Christoph Hellwig
2001-11-22 12:30 ` Horst von Brand
2001-11-22 13:05 ` Christoph Hellwig
2001-11-23 9:44 ` Rick Lindsley
2001-11-23 10:10 ` Oliver.Neukum
2001-11-23 10:47 ` Christoph Hellwig
2001-11-23 11:24 ` Oliver Neukum
2001-11-26 17:46 ` David C. Hansen [this message]
2001-11-26 19:41 ` Flavio Stanchina
2001-11-26 19:53 ` David C. Hansen
2001-11-23 12:08 ` Rick Lindsley
[not found] <adilger@turbolabs.com>
2001-11-06 20:04 ` [PATCH] lp.c, eexpress.c jiffies cleanup Tim Schmielau
2001-11-06 21:15 ` Andreas Dilger
2001-11-06 21:37 ` Philip Blundell
2001-11-07 0:10 ` Andreas Dilger
2001-11-06 23:58 ` Tim Hockin
-- strict thread matches above, loose matches on Subject: below --
2001-09-20 20:07 XFS to main kernel source Gonyou, Austin
2001-09-20 20:14 ` Alan Cox
2001-09-20 20:16 ` Steve Lord
2001-09-20 20:25 ` Alan Cox
2001-09-20 20:26 ` Christoph Hellwig
2001-09-20 21:31 ` Steve Lord
2001-09-21 3:12 ` Andreas Dilger
2001-09-21 3:25 ` Steve Lord
2001-09-21 4:42 ` Nathan Scott
2001-09-21 5:58 ` Christoph Hellwig
2001-09-21 8:40 ` Narancs v1
2001-09-21 14:19 ` Alexander Viro
2001-09-21 14:45 ` Steve Lord
2001-09-20 20:40 ` Alexander Viro
2001-09-21 18:03 ` Steve Lord
2001-09-20 20:29 ` Horst von Brand
2001-09-20 20:50 ` Alan Cox
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=3C028008.6000605@us.ibm.com \
--to=haveblue@us.ibm.com \
--cc=Oliver.Neukum@lrz.uni-muenchen.de \
--cc=hch@ns.caldera.de \
--cc=linux-kernel@vger.kernel.org \
--cc=ricklind@us.ibm.com \
--cc=vonbrand@inf.utfsm.cl \
/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