diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-04-04 15:12:19 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-04-04 15:12:19 -0400 |
commit | a8941b0ed0f1e39a4d41560c3a2e7ee37d5b6e10 (patch) | |
tree | cf1a15d5dfc7e1552c12b4a3ec04fa9ee92581ef /kernel | |
parent | d82ef020cf31504c816803b1def94eb5ff173363 (diff) | |
parent | 292f60c0c4ab44aa2d589ba03c12e64a3b3c5e38 (diff) |
Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
ring-buffer: Add missing unlock
tracing: Fix lockdep warning in global_clock()
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/trace/ring_buffer.c | 8 | ||||
-rw-r--r-- | kernel/trace/trace_clock.c | 4 |
2 files changed, 7 insertions, 5 deletions
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index d1187ef20caf..9a0f9bf6a37b 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c | |||
@@ -1209,18 +1209,19 @@ rb_remove_pages(struct ring_buffer_per_cpu *cpu_buffer, unsigned nr_pages) | |||
1209 | 1209 | ||
1210 | for (i = 0; i < nr_pages; i++) { | 1210 | for (i = 0; i < nr_pages; i++) { |
1211 | if (RB_WARN_ON(cpu_buffer, list_empty(cpu_buffer->pages))) | 1211 | if (RB_WARN_ON(cpu_buffer, list_empty(cpu_buffer->pages))) |
1212 | return; | 1212 | goto out; |
1213 | p = cpu_buffer->pages->next; | 1213 | p = cpu_buffer->pages->next; |
1214 | bpage = list_entry(p, struct buffer_page, list); | 1214 | bpage = list_entry(p, struct buffer_page, list); |
1215 | list_del_init(&bpage->list); | 1215 | list_del_init(&bpage->list); |
1216 | free_buffer_page(bpage); | 1216 | free_buffer_page(bpage); |
1217 | } | 1217 | } |
1218 | if (RB_WARN_ON(cpu_buffer, list_empty(cpu_buffer->pages))) | 1218 | if (RB_WARN_ON(cpu_buffer, list_empty(cpu_buffer->pages))) |
1219 | return; | 1219 | goto out; |
1220 | 1220 | ||
1221 | rb_reset_cpu(cpu_buffer); | 1221 | rb_reset_cpu(cpu_buffer); |
1222 | rb_check_pages(cpu_buffer); | 1222 | rb_check_pages(cpu_buffer); |
1223 | 1223 | ||
1224 | out: | ||
1224 | spin_unlock_irq(&cpu_buffer->reader_lock); | 1225 | spin_unlock_irq(&cpu_buffer->reader_lock); |
1225 | } | 1226 | } |
1226 | 1227 | ||
@@ -1237,7 +1238,7 @@ rb_insert_pages(struct ring_buffer_per_cpu *cpu_buffer, | |||
1237 | 1238 | ||
1238 | for (i = 0; i < nr_pages; i++) { | 1239 | for (i = 0; i < nr_pages; i++) { |
1239 | if (RB_WARN_ON(cpu_buffer, list_empty(pages))) | 1240 | if (RB_WARN_ON(cpu_buffer, list_empty(pages))) |
1240 | return; | 1241 | goto out; |
1241 | p = pages->next; | 1242 | p = pages->next; |
1242 | bpage = list_entry(p, struct buffer_page, list); | 1243 | bpage = list_entry(p, struct buffer_page, list); |
1243 | list_del_init(&bpage->list); | 1244 | list_del_init(&bpage->list); |
@@ -1246,6 +1247,7 @@ rb_insert_pages(struct ring_buffer_per_cpu *cpu_buffer, | |||
1246 | rb_reset_cpu(cpu_buffer); | 1247 | rb_reset_cpu(cpu_buffer); |
1247 | rb_check_pages(cpu_buffer); | 1248 | rb_check_pages(cpu_buffer); |
1248 | 1249 | ||
1250 | out: | ||
1249 | spin_unlock_irq(&cpu_buffer->reader_lock); | 1251 | spin_unlock_irq(&cpu_buffer->reader_lock); |
1250 | } | 1252 | } |
1251 | 1253 | ||
diff --git a/kernel/trace/trace_clock.c b/kernel/trace/trace_clock.c index 6fbfb8f417b9..9d589d8dcd1a 100644 --- a/kernel/trace/trace_clock.c +++ b/kernel/trace/trace_clock.c | |||
@@ -84,7 +84,7 @@ u64 notrace trace_clock_global(void) | |||
84 | int this_cpu; | 84 | int this_cpu; |
85 | u64 now; | 85 | u64 now; |
86 | 86 | ||
87 | raw_local_irq_save(flags); | 87 | local_irq_save(flags); |
88 | 88 | ||
89 | this_cpu = raw_smp_processor_id(); | 89 | this_cpu = raw_smp_processor_id(); |
90 | now = cpu_clock(this_cpu); | 90 | now = cpu_clock(this_cpu); |
@@ -110,7 +110,7 @@ u64 notrace trace_clock_global(void) | |||
110 | arch_spin_unlock(&trace_clock_struct.lock); | 110 | arch_spin_unlock(&trace_clock_struct.lock); |
111 | 111 | ||
112 | out: | 112 | out: |
113 | raw_local_irq_restore(flags); | 113 | local_irq_restore(flags); |
114 | 114 | ||
115 | return now; | 115 | return now; |
116 | } | 116 | } |