The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/lib/debug_locks.c

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * lib/debug_locks.c
    3  *
    4  * Generic place for common debugging facilities for various locks:
    5  * spinlocks, rwlocks, mutexes and rwsems.
    6  *
    7  * Started by Ingo Molnar:
    8  *
    9  *  Copyright (C) 2006 Red Hat, Inc., Ingo Molnar <mingo@redhat.com>
   10  */
   11 #include <linux/rwsem.h>
   12 #include <linux/mutex.h>
   13 #include <linux/export.h>
   14 #include <linux/spinlock.h>
   15 #include <linux/debug_locks.h>
   16 
   17 /*
   18  * We want to turn all lock-debugging facilities on/off at once,
   19  * via a global flag. The reason is that once a single bug has been
   20  * detected and reported, there might be cascade of followup bugs
   21  * that would just muddy the log. So we report the first one and
   22  * shut up after that.
   23  */
   24 int debug_locks = 1;
   25 EXPORT_SYMBOL_GPL(debug_locks);
   26 
   27 /*
   28  * The locking-testsuite uses <debug_locks_silent> to get a
   29  * 'silent failure': nothing is printed to the console when
   30  * a locking bug is detected.
   31  */
   32 int debug_locks_silent;
   33 
   34 /*
   35  * Generic 'turn off all lock debugging' function:
   36  */
   37 int debug_locks_off(void)
   38 {
   39         if (__debug_locks_off()) {
   40                 if (!debug_locks_silent) {
   41                         console_verbose();
   42                         return 1;
   43                 }
   44         }
   45         return 0;
   46 }

Cache object: 202a8c65c30cab84c179677eebfa7929


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.