Skip to content
Snippets Groups Projects
Select Git revision
  • fff168b028c767ac0497ae2450bb4043fc546b38
  • master default protected
  • android-msm-bullhead-3.10-nougat_kgdb_less_changes
  • android-msm-bullhead-3.10-nougat_kgdb
  • android-msm-bullhead-3.10-nougat_klist
  • android-4.4
  • android-msm-vega-4.4-oreo-daydream
  • android-msm-wahoo-4.4-p-preview-5
  • android-msm-wahoo-4.4-pie
  • android-msm-marlin-3.18-p-preview-5
  • android-msm-marlin-3.18-pie
  • android-msm-wahoo-2018.07-oreo-m2
  • android-msm-wahoo-2018.07-oreo-m4
  • android-msm-wahoo-4.4-p-preview-4
  • android-msm-bullhead-3.10-oreo-m6
  • android-msm-angler-3.10-oreo-m6
  • android-msm-marlin-3.18-p-preview-4
  • android-msm-stargazer-3.18-oreo-wear-dr
  • android-msm-catshark-3.18-oreo-wear-dr
  • android-msm-wahoo-4.4-oreo-m2
  • android-msm-wahoo-4.4-oreo-m4
  • android-daydreamos-8.0.0_r0.5
  • android-8.1.0_r0.92
  • android-8.1.0_r0.91
  • android-daydreamos-8.0.0_r0.4
  • android-p-preview-5_r0.2
  • android-p-preview-5_r0.1
  • android-9.0.0_r0.5
  • android-9.0.0_r0.4
  • android-9.0.0_r0.2
  • android-9.0.0_r0.1
  • android-8.1.0_r0.81
  • android-8.1.0_r0.80
  • android-8.1.0_r0.78
  • android-8.1.0_r0.76
  • android-8.1.0_r0.75
  • android-8.1.0_r0.72
  • android-8.1.0_r0.70
  • android-p-preview-4_r0.2
  • android-p-preview-4_r0.1
  • android-wear-8.0.0_r0.30
41 results

rtmutex-debug.h

Blame
  • rtmutex-debug.h 1.38 KiB
    /*
     * RT-Mutexes: blocking mutual exclusion locks with PI support
     *
     * started by Ingo Molnar and Thomas Gleixner:
     *
     *  Copyright (C) 2004-2006 Red Hat, Inc., Ingo Molnar <mingo@redhat.com>
     *  Copyright (C) 2006, Timesys Corp., Thomas Gleixner <tglx@timesys.com>
     *
     * This file contains macros used solely by rtmutex.c. Debug version.
     */
    
    extern void
    rt_mutex_deadlock_account_lock(struct rt_mutex *lock, struct task_struct *task);
    extern void rt_mutex_deadlock_account_unlock(struct task_struct *task);
    extern void debug_rt_mutex_init_waiter(struct rt_mutex_waiter *waiter);
    extern void debug_rt_mutex_free_waiter(struct rt_mutex_waiter *waiter);
    extern void debug_rt_mutex_init(struct rt_mutex *lock, const char *name);
    extern void debug_rt_mutex_lock(struct rt_mutex *lock);
    extern void debug_rt_mutex_unlock(struct rt_mutex *lock);
    extern void debug_rt_mutex_proxy_lock(struct rt_mutex *lock,
    				      struct task_struct *powner);
    extern void debug_rt_mutex_proxy_unlock(struct rt_mutex *lock);
    extern void debug_rt_mutex_deadlock(int detect, struct rt_mutex_waiter *waiter,
    				    struct rt_mutex *lock);
    extern void debug_rt_mutex_print_deadlock(struct rt_mutex_waiter *waiter);
    # define debug_rt_mutex_reset_waiter(w)			\
    	do { (w)->deadlock_lock = NULL; } while (0)
    
    static inline int debug_rt_mutex_detect_deadlock(struct rt_mutex_waiter *waiter,
    						 int detect)
    {
    	return (waiter != NULL);
    }