linux/drivers/char
Ingo Molnar 9a11b49a80 [PATCH] lockdep: better lock debugging
Generic lock debugging:

 - generalized lock debugging framework. For example, a bug in one lock
   subsystem turns off debugging in all lock subsystems.

 - got rid of the caller address passing (__IP__/__IP_DECL__/etc.) from
   the mutex/rtmutex debugging code: it caused way too much prototype
   hackery, and lockdep will give the same information anyway.

 - ability to do silent tests

 - check lock freeing in vfree too.

 - more finegrained debugging options, to allow distributions to
   turn off more expensive debugging features.

There's no separate 'held mutexes' list anymore - but there's a 'held locks'
stack within lockdep, which unifies deadlock detection across all lock
classes.  (this is independent of the lockdep validation stuff - lockdep first
checks whether we are holding a lock already)

Here are the current debugging options:

CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_LOCK_ALLOC=y

which do:

 config DEBUG_MUTEXES
          bool "Mutex debugging, basic checks"

 config DEBUG_LOCK_ALLOC
         bool "Detect incorrect freeing of live mutexes"

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-03 15:27:01 -07:00
..
agp [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
drm [PATCH] irq-flags: drivers/drm: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
ftape [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
hw_random [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
ip2 [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
ipmi [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
mwave [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
pcmcia [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
rio [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
tpm [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
watchdog [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
.gitignore gitignore: misc files 2006-01-01 22:21:50 +01:00
ChangeLog
Kconfig [PATCH] GPIO for SCx200 & PC-8736x: x86-only 2006-06-29 10:26:21 -07:00
Makefile [PATCH] chardev: GPIO for SCx200 & PC-8736x: add proper Kconfig, Makefile entries 2006-06-27 17:32:43 -07:00
amiserial.c [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
applicom.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
applicom.h
cd1865.h
consolemap.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cp437.uni
cs5535_gpio.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
cyclades.c [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
decserial.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
defkeymap.c_shipped
defkeymap.map
digi.h
digi1.h
digiFep1.h
digiPCI.h
ds1286.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
ds1302.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
ds1620.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
dsp56k.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
dtlk.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
ec3104_keyb.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
efirtc.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
epca.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
epca.h
epcaconfig.h
esp.c [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
generic_nvram.c [PATCH] powerpc: Kill _machine and hard-coded platform numbers 2006-03-28 23:15:54 +11:00
generic_serial.c [PATCH] sem2mutex: serial ->port_write_mutex 2006-03-23 07:38:14 -08:00
genrtc.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
hangcheck-timer.c [PATCH] hangcheck: remove monotomic_clock on x86 2006-06-26 09:58:20 -07:00
hpet.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
hvc_console.c [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
hvc_console.h [PATCH] powerpc: hvc_console updates 2006-03-28 16:45:26 +11:00
hvc_rtas.c [PATCH] powerpc: Cleanup hvc_rtas.c a little 2006-06-09 21:24:20 +10:00
hvc_vio.c [PATCH] powerpc: hvc_console updates 2006-03-28 16:45:26 +11:00
hvcs.c [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
hvsi.c [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
i8k.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
ip27-rtc.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
isicom.c [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
istallion.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
ite_gpio.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
keyboard.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
lcd.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
lcd.h
lp.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
mbcs.c [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
mbcs.h
mem.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
misc.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
mmtimer.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
moxa.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mxser.c [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
mxser.h [PATCH] Typo fixes 2006-03-28 09:16:08 -08:00
n_hdlc.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
n_r3964.c [PATCH] R3964: fix GFP_KERNEL allocations in timer function 2006-06-25 10:01:17 -07:00
n_tty.c [PATCH] remove TTY_DONT_FLIP 2006-06-28 14:59:05 -07:00
nsc_gpio.c [PATCH] chardev: GPIO for SCx200 & PC-8736x: display pin values in/out in gpio_dump 2006-06-27 17:32:43 -07:00
nvram.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
nwbutton.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
nwbutton.h
nwflash.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
pc8736x_gpio.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
ppdev.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
pty.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
qtronix.c [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
qtronixmap.c_shipped
qtronixmap.map
random.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
raw.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
riscom8.c [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
riscom8.h
riscom8_reg.h
rocket.c [PATCH] devfs: Rename TTY_DRIVER_NO_DEVFS to TTY_DRIVER_DYNAMIC_DEV 2006-06-26 12:25:09 -07:00
rocket.h
rocket_int.h
rtc.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
s3c2410-rtc.c [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
scan_keyb.c
scan_keyb.h
scc.h [PATCH] m68k: static vs. extern in scc.h 2006-01-12 09:09:00 -08:00
scx200_gpio.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
selection.c [PATCH] TTY layer buffering revamp 2006-01-10 08:01:59 -08:00
ser_a2232.c [PATCH] sem2mutex: serial ->port_write_mutex 2006-03-23 07:38:14 -08:00
ser_a2232.h
ser_a2232fw.ax
ser_a2232fw.h
serial167.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
snsc.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
snsc.h [IA64-SGI] Handle SC env. powerdown events 2006-01-26 13:32:26 -08:00
snsc_event.c [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
sonypi.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
specialix.c [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
specialix_io8.h
stallion.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
sx.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
sx.h
sxboards.h
sxwindow.h
synclink.c [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
synclink_gt.c [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
synclinkmp.c [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
sysrq.c [PATCH] lockdep: better lock debugging 2006-07-03 15:27:01 -07:00
tb0219.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
tipar.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
tlclk.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
toshiba.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
tty_io.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
tty_ioctl.c
vc_screen.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
viocons.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
viotape.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
vme_scc.c [PATCH] irq-flags: drivers/char: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
vr41xx_giu.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
vt.c [PATCH] vt: Decrement ref count of the VT backend on deallocation 2006-07-03 15:26:59 -07:00
vt_ioctl.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00