|
@@ -3211,8 +3211,6 @@ void lock_acquire(struct lockdep_map *lock, unsigned int subclass,
|
|
{
|
|
{
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
|
|
|
|
- trace_lock_acquire(lock, subclass, trylock, read, check, nest_lock, ip);
|
|
|
|
-
|
|
|
|
if (unlikely(current->lockdep_recursion))
|
|
if (unlikely(current->lockdep_recursion))
|
|
return;
|
|
return;
|
|
|
|
|
|
@@ -3220,6 +3218,7 @@ void lock_acquire(struct lockdep_map *lock, unsigned int subclass,
|
|
check_flags(flags);
|
|
check_flags(flags);
|
|
|
|
|
|
current->lockdep_recursion = 1;
|
|
current->lockdep_recursion = 1;
|
|
|
|
+ trace_lock_acquire(lock, subclass, trylock, read, check, nest_lock, ip);
|
|
__lock_acquire(lock, subclass, trylock, read, check,
|
|
__lock_acquire(lock, subclass, trylock, read, check,
|
|
irqs_disabled_flags(flags), nest_lock, ip, 0);
|
|
irqs_disabled_flags(flags), nest_lock, ip, 0);
|
|
current->lockdep_recursion = 0;
|
|
current->lockdep_recursion = 0;
|
|
@@ -3232,14 +3231,13 @@ void lock_release(struct lockdep_map *lock, int nested,
|
|
{
|
|
{
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
|
|
|
|
- trace_lock_release(lock, nested, ip);
|
|
|
|
-
|
|
|
|
if (unlikely(current->lockdep_recursion))
|
|
if (unlikely(current->lockdep_recursion))
|
|
return;
|
|
return;
|
|
|
|
|
|
raw_local_irq_save(flags);
|
|
raw_local_irq_save(flags);
|
|
check_flags(flags);
|
|
check_flags(flags);
|
|
current->lockdep_recursion = 1;
|
|
current->lockdep_recursion = 1;
|
|
|
|
+ trace_lock_release(lock, nested, ip);
|
|
__lock_release(lock, nested, ip);
|
|
__lock_release(lock, nested, ip);
|
|
current->lockdep_recursion = 0;
|
|
current->lockdep_recursion = 0;
|
|
raw_local_irq_restore(flags);
|
|
raw_local_irq_restore(flags);
|
|
@@ -3413,8 +3411,6 @@ void lock_contended(struct lockdep_map *lock, unsigned long ip)
|
|
{
|
|
{
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
|
|
|
|
- trace_lock_contended(lock, ip);
|
|
|
|
-
|
|
|
|
if (unlikely(!lock_stat))
|
|
if (unlikely(!lock_stat))
|
|
return;
|
|
return;
|
|
|
|
|
|
@@ -3424,6 +3420,7 @@ void lock_contended(struct lockdep_map *lock, unsigned long ip)
|
|
raw_local_irq_save(flags);
|
|
raw_local_irq_save(flags);
|
|
check_flags(flags);
|
|
check_flags(flags);
|
|
current->lockdep_recursion = 1;
|
|
current->lockdep_recursion = 1;
|
|
|
|
+ trace_lock_contended(lock, ip);
|
|
__lock_contended(lock, ip);
|
|
__lock_contended(lock, ip);
|
|
current->lockdep_recursion = 0;
|
|
current->lockdep_recursion = 0;
|
|
raw_local_irq_restore(flags);
|
|
raw_local_irq_restore(flags);
|