mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 20:22:09 +00:00
Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: lockdep: fix build if CONFIG_PROVE_LOCKING not defined lockdep: use WARN() in kernel/lockdep.c lockdep: spin_lock_nest_lock(), checkpatch fixes lockdep: build fix
This commit is contained in:
commit
406703f8de
@ -1759,11 +1759,10 @@ static void check_chain_key(struct task_struct *curr)
|
||||
hlock = curr->held_locks + i;
|
||||
if (chain_key != hlock->prev_chain_key) {
|
||||
debug_locks_off();
|
||||
printk("hm#1, depth: %u [%u], %016Lx != %016Lx\n",
|
||||
WARN(1, "hm#1, depth: %u [%u], %016Lx != %016Lx\n",
|
||||
curr->lockdep_depth, i,
|
||||
(unsigned long long)chain_key,
|
||||
(unsigned long long)hlock->prev_chain_key);
|
||||
WARN_ON(1);
|
||||
return;
|
||||
}
|
||||
id = hlock->class_idx - 1;
|
||||
@ -1778,11 +1777,10 @@ static void check_chain_key(struct task_struct *curr)
|
||||
}
|
||||
if (chain_key != curr->curr_chain_key) {
|
||||
debug_locks_off();
|
||||
printk("hm#2, depth: %u [%u], %016Lx != %016Lx\n",
|
||||
WARN(1, "hm#2, depth: %u [%u], %016Lx != %016Lx\n",
|
||||
curr->lockdep_depth, i,
|
||||
(unsigned long long)chain_key,
|
||||
(unsigned long long)curr->curr_chain_key);
|
||||
WARN_ON(1);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
@ -50,8 +50,21 @@ extern unsigned int nr_process_chains;
|
||||
extern unsigned int max_lockdep_depth;
|
||||
extern unsigned int max_recursion_depth;
|
||||
|
||||
#ifdef CONFIG_PROVE_LOCKING
|
||||
extern unsigned long lockdep_count_forward_deps(struct lock_class *);
|
||||
extern unsigned long lockdep_count_backward_deps(struct lock_class *);
|
||||
#else
|
||||
static inline unsigned long
|
||||
lockdep_count_forward_deps(struct lock_class *class)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
static inline unsigned long
|
||||
lockdep_count_backward_deps(struct lock_class *class)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_DEBUG_LOCKDEP
|
||||
/*
|
||||
|
@ -82,7 +82,6 @@ static void print_name(struct seq_file *m, struct lock_class *class)
|
||||
|
||||
static int l_show(struct seq_file *m, void *v)
|
||||
{
|
||||
unsigned long nr_forward_deps, nr_backward_deps;
|
||||
struct lock_class *class = v;
|
||||
struct lock_list *entry;
|
||||
char c1, c2, c3, c4;
|
||||
@ -96,11 +95,10 @@ static int l_show(struct seq_file *m, void *v)
|
||||
#ifdef CONFIG_DEBUG_LOCKDEP
|
||||
seq_printf(m, " OPS:%8ld", class->ops);
|
||||
#endif
|
||||
nr_forward_deps = lockdep_count_forward_deps(class);
|
||||
seq_printf(m, " FD:%5ld", nr_forward_deps);
|
||||
|
||||
nr_backward_deps = lockdep_count_backward_deps(class);
|
||||
seq_printf(m, " BD:%5ld", nr_backward_deps);
|
||||
#ifdef CONFIG_PROVE_LOCKING
|
||||
seq_printf(m, " FD:%5ld", lockdep_count_forward_deps(class));
|
||||
seq_printf(m, " BD:%5ld", lockdep_count_backward_deps(class));
|
||||
#endif
|
||||
|
||||
get_usage_chars(class, &c1, &c2, &c3, &c4);
|
||||
seq_printf(m, " %c%c%c%c", c1, c2, c3, c4);
|
||||
@ -325,7 +323,9 @@ static int lockdep_stats_show(struct seq_file *m, void *v)
|
||||
if (class->usage_mask & LOCKF_ENABLED_HARDIRQS_READ)
|
||||
nr_hardirq_read_unsafe++;
|
||||
|
||||
#ifdef CONFIG_PROVE_LOCKING
|
||||
sum_forward_deps += lockdep_count_forward_deps(class);
|
||||
#endif
|
||||
}
|
||||
#ifdef CONFIG_DEBUG_LOCKDEP
|
||||
DEBUG_LOCKS_WARN_ON(debug_atomic_read(&nr_unused_locks) != nr_unused);
|
||||
|
@ -290,7 +290,6 @@ void __lockfunc _spin_lock_nested(spinlock_t *lock, int subclass)
|
||||
spin_acquire(&lock->dep_map, subclass, 0, _RET_IP_);
|
||||
LOCK_CONTENDED(lock, _raw_spin_trylock, _raw_spin_lock);
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(_spin_lock_nested);
|
||||
|
||||
unsigned long __lockfunc _spin_lock_irqsave_nested(spinlock_t *lock, int subclass)
|
||||
@ -312,7 +311,6 @@ unsigned long __lockfunc _spin_lock_irqsave_nested(spinlock_t *lock, int subclas
|
||||
#endif
|
||||
return flags;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(_spin_lock_irqsave_nested);
|
||||
|
||||
void __lockfunc _spin_lock_nest_lock(spinlock_t *lock,
|
||||
@ -322,7 +320,6 @@ void __lockfunc _spin_lock_nest_lock(spinlock_t *lock,
|
||||
spin_acquire_nest(&lock->dep_map, 0, 0, nest_lock, _RET_IP_);
|
||||
LOCK_CONTENDED(lock, _raw_spin_trylock, _raw_spin_lock);
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(_spin_lock_nest_lock);
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user