* Big kernel lock in release functions
@ 2001-10-04 17:14 David C. Hansen
0 siblings, 0 replies; only message in thread
From: David C. Hansen @ 2001-10-04 17:14 UTC (permalink / raw)
To: Linux kernel mailing list
I've been looking at use of the big kernel lock in a lot of different
places in the kernel. I've noticed that there are quite a few uses in
devices' release functions, with no obvious purpose. Take a look at
arch/m68k/atari/joystick.c:
lock_kernel();
joystick[minor].active = 0;
joystick[minor].ready = 0;
if ((joystick[0].active == 0) && (joystick[1].active == 0))
ikbd_joystick_disable();
unlock_kernel();
But, there are other places in the same file where the same operations
are performed with no locking at all (except for
ikbd_joystick_disable()). Is there a reason to have locking in the
release function but not in the read or open functions?
This is a quite common practice in release functions throughout the
kernel. In 2.4.10, I counted 108 different places where the BKL is used
in a release function. I'm not claiming that all of these are
unnecessary, but I believe a big chunk of them are.
--
David C. Hansen
haveblue@us.ibm.com
IBM LTC Base/OS Group
(503)578-4080
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2001-10-04 17:14 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-10-04 17:14 Big kernel lock in release functions David C. Hansen
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.