diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2007-02-20 14:13:30 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-02-20 14:13:30 -0500 |
commit | 5a84d159061d914c8dd4aa372ac6e9529c2be453 (patch) | |
tree | 9b08af78085334af44414adafe0096276f8fe0ff /kernel/lockdep_proc.c | |
parent | e80a0e6e7ccdf64575d4384cb4172860422f5b81 (diff) | |
parent | 7d477a04a619e90ee08724e8f2d8803c6bdfcef8 (diff) |
Merge ARM fixes
Diffstat (limited to 'kernel/lockdep_proc.c')
-rw-r--r-- | kernel/lockdep_proc.c | 44 |
1 files changed, 30 insertions, 14 deletions
diff --git a/kernel/lockdep_proc.c b/kernel/lockdep_proc.c index b554b40a4aa6..58f35e586ee3 100644 --- a/kernel/lockdep_proc.c +++ b/kernel/lockdep_proc.c | |||
@@ -10,7 +10,6 @@ | |||
10 | * Code for /proc/lockdep and /proc/lockdep_stats: | 10 | * Code for /proc/lockdep and /proc/lockdep_stats: |
11 | * | 11 | * |
12 | */ | 12 | */ |
13 | #include <linux/sched.h> | ||
14 | #include <linux/module.h> | 13 | #include <linux/module.h> |
15 | #include <linux/proc_fs.h> | 14 | #include <linux/proc_fs.h> |
16 | #include <linux/seq_file.h> | 15 | #include <linux/seq_file.h> |
@@ -77,12 +76,29 @@ static unsigned long count_backward_deps(struct lock_class *class) | |||
77 | return ret; | 76 | return ret; |
78 | } | 77 | } |
79 | 78 | ||
79 | static void print_name(struct seq_file *m, struct lock_class *class) | ||
80 | { | ||
81 | char str[128]; | ||
82 | const char *name = class->name; | ||
83 | |||
84 | if (!name) { | ||
85 | name = __get_key_name(class->key, str); | ||
86 | seq_printf(m, "%s", name); | ||
87 | } else{ | ||
88 | seq_printf(m, "%s", name); | ||
89 | if (class->name_version > 1) | ||
90 | seq_printf(m, "#%d", class->name_version); | ||
91 | if (class->subclass) | ||
92 | seq_printf(m, "/%d", class->subclass); | ||
93 | } | ||
94 | } | ||
95 | |||
80 | static int l_show(struct seq_file *m, void *v) | 96 | static int l_show(struct seq_file *m, void *v) |
81 | { | 97 | { |
82 | unsigned long nr_forward_deps, nr_backward_deps; | 98 | unsigned long nr_forward_deps, nr_backward_deps; |
83 | struct lock_class *class = m->private; | 99 | struct lock_class *class = m->private; |
84 | char str[128], c1, c2, c3, c4; | 100 | struct lock_list *entry; |
85 | const char *name; | 101 | char c1, c2, c3, c4; |
86 | 102 | ||
87 | seq_printf(m, "%p", class->key); | 103 | seq_printf(m, "%p", class->key); |
88 | #ifdef CONFIG_DEBUG_LOCKDEP | 104 | #ifdef CONFIG_DEBUG_LOCKDEP |
@@ -97,16 +113,16 @@ static int l_show(struct seq_file *m, void *v) | |||
97 | get_usage_chars(class, &c1, &c2, &c3, &c4); | 113 | get_usage_chars(class, &c1, &c2, &c3, &c4); |
98 | seq_printf(m, " %c%c%c%c", c1, c2, c3, c4); | 114 | seq_printf(m, " %c%c%c%c", c1, c2, c3, c4); |
99 | 115 | ||
100 | name = class->name; | 116 | seq_printf(m, ": "); |
101 | if (!name) { | 117 | print_name(m, class); |
102 | name = __get_key_name(class->key, str); | 118 | seq_puts(m, "\n"); |
103 | seq_printf(m, ": %s", name); | 119 | |
104 | } else{ | 120 | list_for_each_entry(entry, &class->locks_after, entry) { |
105 | seq_printf(m, ": %s", name); | 121 | if (entry->distance == 1) { |
106 | if (class->name_version > 1) | 122 | seq_printf(m, " -> [%p] ", entry->class); |
107 | seq_printf(m, "#%d", class->name_version); | 123 | print_name(m, entry->class); |
108 | if (class->subclass) | 124 | seq_puts(m, "\n"); |
109 | seq_printf(m, "/%d", class->subclass); | 125 | } |
110 | } | 126 | } |
111 | seq_puts(m, "\n"); | 127 | seq_puts(m, "\n"); |
112 | 128 | ||
@@ -227,7 +243,7 @@ static int lockdep_stats_show(struct seq_file *m, void *v) | |||
227 | 243 | ||
228 | sum_forward_deps += count_forward_deps(class); | 244 | sum_forward_deps += count_forward_deps(class); |
229 | } | 245 | } |
230 | #ifdef CONFIG_LOCKDEP_DEBUG | 246 | #ifdef CONFIG_DEBUG_LOCKDEP |
231 | DEBUG_LOCKS_WARN_ON(debug_atomic_read(&nr_unused_locks) != nr_unused); | 247 | DEBUG_LOCKS_WARN_ON(debug_atomic_read(&nr_unused_locks) != nr_unused); |
232 | #endif | 248 | #endif |
233 | seq_printf(m, " lock-classes: %11lu [max: %lu]\n", | 249 | seq_printf(m, " lock-classes: %11lu [max: %lu]\n", |