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/kernel/rtmutex-debug.h

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  * RT-Mutexes: blocking mutual exclusion locks with PI support
    3  *
    4  * started by Ingo Molnar and Thomas Gleixner:
    5  *
    6  *  Copyright (C) 2004-2006 Red Hat, Inc., Ingo Molnar <mingo@redhat.com>
    7  *  Copyright (C) 2006, Timesys Corp., Thomas Gleixner <tglx@timesys.com>
    8  *
    9  * This file contains macros used solely by rtmutex.c. Debug version.
   10  */
   11 
   12 extern void
   13 rt_mutex_deadlock_account_lock(struct rt_mutex *lock, struct task_struct *task);
   14 extern void rt_mutex_deadlock_account_unlock(struct task_struct *task);
   15 extern void debug_rt_mutex_init_waiter(struct rt_mutex_waiter *waiter);
   16 extern void debug_rt_mutex_free_waiter(struct rt_mutex_waiter *waiter);
   17 extern void debug_rt_mutex_init(struct rt_mutex *lock, const char *name);
   18 extern void debug_rt_mutex_lock(struct rt_mutex *lock);
   19 extern void debug_rt_mutex_unlock(struct rt_mutex *lock);
   20 extern void debug_rt_mutex_proxy_lock(struct rt_mutex *lock,
   21                                       struct task_struct *powner);
   22 extern void debug_rt_mutex_proxy_unlock(struct rt_mutex *lock);
   23 extern void debug_rt_mutex_deadlock(int detect, struct rt_mutex_waiter *waiter,
   24                                     struct rt_mutex *lock);
   25 extern void debug_rt_mutex_print_deadlock(struct rt_mutex_waiter *waiter);
   26 # define debug_rt_mutex_reset_waiter(w)                 \
   27         do { (w)->deadlock_lock = NULL; } while (0)
   28 
   29 static inline int debug_rt_mutex_detect_deadlock(struct rt_mutex_waiter *waiter,
   30                                                  int detect)
   31 {
   32         return (waiter != NULL);
   33 }

Cache object: d258bab97f4cba5f513348b38e0bbb59


[ 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.