|
@@ -271,14 +271,14 @@ static struct list_head chainhash_table[CHAINHASH_SIZE];
|
|
((key1) >> (64-MAX_LOCKDEP_KEYS_BITS)) ^ \
|
|
((key1) >> (64-MAX_LOCKDEP_KEYS_BITS)) ^ \
|
|
(key2))
|
|
(key2))
|
|
|
|
|
|
-notrace void lockdep_off(void)
|
|
|
|
|
|
+void lockdep_off(void)
|
|
{
|
|
{
|
|
current->lockdep_recursion++;
|
|
current->lockdep_recursion++;
|
|
}
|
|
}
|
|
|
|
|
|
EXPORT_SYMBOL(lockdep_off);
|
|
EXPORT_SYMBOL(lockdep_off);
|
|
|
|
|
|
-notrace void lockdep_on(void)
|
|
|
|
|
|
+void lockdep_on(void)
|
|
{
|
|
{
|
|
current->lockdep_recursion--;
|
|
current->lockdep_recursion--;
|
|
}
|
|
}
|
|
@@ -1041,7 +1041,7 @@ find_usage_forwards(struct lock_class *source, unsigned int depth)
|
|
* Return 1 otherwise and keep <backwards_match> unchanged.
|
|
* Return 1 otherwise and keep <backwards_match> unchanged.
|
|
* Return 0 on error.
|
|
* Return 0 on error.
|
|
*/
|
|
*/
|
|
-static noinline notrace int
|
|
|
|
|
|
+static noinline int
|
|
find_usage_backwards(struct lock_class *source, unsigned int depth)
|
|
find_usage_backwards(struct lock_class *source, unsigned int depth)
|
|
{
|
|
{
|
|
struct lock_list *entry;
|
|
struct lock_list *entry;
|
|
@@ -1591,7 +1591,7 @@ static inline int validate_chain(struct task_struct *curr,
|
|
* We are building curr_chain_key incrementally, so double-check
|
|
* We are building curr_chain_key incrementally, so double-check
|
|
* it from scratch, to make sure that it's done correctly:
|
|
* it from scratch, to make sure that it's done correctly:
|
|
*/
|
|
*/
|
|
-static notrace void check_chain_key(struct task_struct *curr)
|
|
|
|
|
|
+static void check_chain_key(struct task_struct *curr)
|
|
{
|
|
{
|
|
#ifdef CONFIG_DEBUG_LOCKDEP
|
|
#ifdef CONFIG_DEBUG_LOCKDEP
|
|
struct held_lock *hlock, *prev_hlock = NULL;
|
|
struct held_lock *hlock, *prev_hlock = NULL;
|
|
@@ -1967,7 +1967,7 @@ static int mark_lock_irq(struct task_struct *curr, struct held_lock *this,
|
|
/*
|
|
/*
|
|
* Mark all held locks with a usage bit:
|
|
* Mark all held locks with a usage bit:
|
|
*/
|
|
*/
|
|
-static notrace int
|
|
|
|
|
|
+static int
|
|
mark_held_locks(struct task_struct *curr, int hardirq)
|
|
mark_held_locks(struct task_struct *curr, int hardirq)
|
|
{
|
|
{
|
|
enum lock_usage_bit usage_bit;
|
|
enum lock_usage_bit usage_bit;
|
|
@@ -2014,7 +2014,7 @@ void early_boot_irqs_on(void)
|
|
/*
|
|
/*
|
|
* Hardirqs will be enabled:
|
|
* Hardirqs will be enabled:
|
|
*/
|
|
*/
|
|
-void notrace trace_hardirqs_on_caller(unsigned long a0)
|
|
|
|
|
|
+void trace_hardirqs_on_caller(unsigned long a0)
|
|
{
|
|
{
|
|
struct task_struct *curr = current;
|
|
struct task_struct *curr = current;
|
|
unsigned long ip;
|
|
unsigned long ip;
|
|
@@ -2060,7 +2060,7 @@ void notrace trace_hardirqs_on_caller(unsigned long a0)
|
|
}
|
|
}
|
|
EXPORT_SYMBOL(trace_hardirqs_on_caller);
|
|
EXPORT_SYMBOL(trace_hardirqs_on_caller);
|
|
|
|
|
|
-void notrace trace_hardirqs_on(void)
|
|
|
|
|
|
+void trace_hardirqs_on(void)
|
|
{
|
|
{
|
|
trace_hardirqs_on_caller(CALLER_ADDR0);
|
|
trace_hardirqs_on_caller(CALLER_ADDR0);
|
|
}
|
|
}
|
|
@@ -2069,7 +2069,7 @@ EXPORT_SYMBOL(trace_hardirqs_on);
|
|
/*
|
|
/*
|
|
* Hardirqs were disabled:
|
|
* Hardirqs were disabled:
|
|
*/
|
|
*/
|
|
-void notrace trace_hardirqs_off_caller(unsigned long a0)
|
|
|
|
|
|
+void trace_hardirqs_off_caller(unsigned long a0)
|
|
{
|
|
{
|
|
struct task_struct *curr = current;
|
|
struct task_struct *curr = current;
|
|
|
|
|
|
@@ -2094,7 +2094,7 @@ void notrace trace_hardirqs_off_caller(unsigned long a0)
|
|
}
|
|
}
|
|
EXPORT_SYMBOL(trace_hardirqs_off_caller);
|
|
EXPORT_SYMBOL(trace_hardirqs_off_caller);
|
|
|
|
|
|
-void notrace trace_hardirqs_off(void)
|
|
|
|
|
|
+void trace_hardirqs_off(void)
|
|
{
|
|
{
|
|
trace_hardirqs_off_caller(CALLER_ADDR0);
|
|
trace_hardirqs_off_caller(CALLER_ADDR0);
|
|
}
|
|
}
|
|
@@ -2260,7 +2260,7 @@ static inline int separate_irq_context(struct task_struct *curr,
|
|
/*
|
|
/*
|
|
* Mark a lock with a usage bit, and validate the state transition:
|
|
* Mark a lock with a usage bit, and validate the state transition:
|
|
*/
|
|
*/
|
|
-static notrace int mark_lock(struct task_struct *curr, struct held_lock *this,
|
|
|
|
|
|
+static int mark_lock(struct task_struct *curr, struct held_lock *this,
|
|
enum lock_usage_bit new_bit)
|
|
enum lock_usage_bit new_bit)
|
|
{
|
|
{
|
|
unsigned int new_mask = 1 << new_bit, ret = 1;
|
|
unsigned int new_mask = 1 << new_bit, ret = 1;
|
|
@@ -2663,7 +2663,7 @@ __lock_release(struct lockdep_map *lock, int nested, unsigned long ip)
|
|
/*
|
|
/*
|
|
* Check whether we follow the irq-flags state precisely:
|
|
* Check whether we follow the irq-flags state precisely:
|
|
*/
|
|
*/
|
|
-static notrace void check_flags(unsigned long flags)
|
|
|
|
|
|
+static void check_flags(unsigned long flags)
|
|
{
|
|
{
|
|
#if defined(CONFIG_DEBUG_LOCKDEP) && defined(CONFIG_TRACE_IRQFLAGS)
|
|
#if defined(CONFIG_DEBUG_LOCKDEP) && defined(CONFIG_TRACE_IRQFLAGS)
|
|
if (!debug_locks)
|
|
if (!debug_locks)
|
|
@@ -2700,7 +2700,7 @@ static notrace void check_flags(unsigned long flags)
|
|
* We are not always called with irqs disabled - do that here,
|
|
* We are not always called with irqs disabled - do that here,
|
|
* and also avoid lockdep recursion:
|
|
* and also avoid lockdep recursion:
|
|
*/
|
|
*/
|
|
-notrace void lock_acquire(struct lockdep_map *lock, unsigned int subclass,
|
|
|
|
|
|
+void lock_acquire(struct lockdep_map *lock, unsigned int subclass,
|
|
int trylock, int read, int check, unsigned long ip)
|
|
int trylock, int read, int check, unsigned long ip)
|
|
{
|
|
{
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
@@ -2723,7 +2723,7 @@ notrace void lock_acquire(struct lockdep_map *lock, unsigned int subclass,
|
|
|
|
|
|
EXPORT_SYMBOL_GPL(lock_acquire);
|
|
EXPORT_SYMBOL_GPL(lock_acquire);
|
|
|
|
|
|
-notrace void lock_release(struct lockdep_map *lock, int nested,
|
|
|
|
|
|
+void lock_release(struct lockdep_map *lock, int nested,
|
|
unsigned long ip)
|
|
unsigned long ip)
|
|
{
|
|
{
|
|
unsigned long flags;
|
|
unsigned long flags;
|