aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-04-04 15:12:19 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-04-04 15:12:19 -0400
commita8941b0ed0f1e39a4d41560c3a2e7ee37d5b6e10 (patch)
treecf1a15d5dfc7e1552c12b4a3ec04fa9ee92581ef /kernel
parentd82ef020cf31504c816803b1def94eb5ff173363 (diff)
parent292f60c0c4ab44aa2d589ba03c12e64a3b3c5e38 (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.c8
-rw-r--r--kernel/trace/trace_clock.c4
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
1224out:
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
1250out:
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}