diff options
| -rw-r--r-- | kernel/trace/ring_buffer.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index f452de2ce490..a9e645a5bc10 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c | |||
| @@ -454,13 +454,18 @@ struct ring_buffer_iter { | |||
| 454 | /* Up this if you want to test the TIME_EXTENTS and normalization */ | 454 | /* Up this if you want to test the TIME_EXTENTS and normalization */ |
| 455 | #define DEBUG_SHIFT 0 | 455 | #define DEBUG_SHIFT 0 |
| 456 | 456 | ||
| 457 | static inline u64 rb_time_stamp(struct ring_buffer *buffer, int cpu) | ||
| 458 | { | ||
| 459 | /* shift to debug/test normalization and TIME_EXTENTS */ | ||
| 460 | return buffer->clock() << DEBUG_SHIFT; | ||
| 461 | } | ||
| 462 | |||
| 457 | u64 ring_buffer_time_stamp(struct ring_buffer *buffer, int cpu) | 463 | u64 ring_buffer_time_stamp(struct ring_buffer *buffer, int cpu) |
| 458 | { | 464 | { |
| 459 | u64 time; | 465 | u64 time; |
| 460 | 466 | ||
| 461 | preempt_disable_notrace(); | 467 | preempt_disable_notrace(); |
| 462 | /* shift to debug/test normalization and TIME_EXTENTS */ | 468 | time = rb_time_stamp(buffer, cpu); |
| 463 | time = buffer->clock() << DEBUG_SHIFT; | ||
| 464 | preempt_enable_no_resched_notrace(); | 469 | preempt_enable_no_resched_notrace(); |
| 465 | 470 | ||
| 466 | return time; | 471 | return time; |
| @@ -1247,7 +1252,7 @@ rb_move_tail(struct ring_buffer_per_cpu *cpu_buffer, | |||
| 1247 | cpu_buffer->tail_page = next_page; | 1252 | cpu_buffer->tail_page = next_page; |
| 1248 | 1253 | ||
| 1249 | /* reread the time stamp */ | 1254 | /* reread the time stamp */ |
| 1250 | *ts = ring_buffer_time_stamp(buffer, cpu_buffer->cpu); | 1255 | *ts = rb_time_stamp(buffer, cpu_buffer->cpu); |
| 1251 | cpu_buffer->tail_page->page->time_stamp = *ts; | 1256 | cpu_buffer->tail_page->page->time_stamp = *ts; |
| 1252 | } | 1257 | } |
| 1253 | 1258 | ||
| @@ -1413,7 +1418,7 @@ rb_reserve_next_event(struct ring_buffer_per_cpu *cpu_buffer, | |||
| 1413 | if (RB_WARN_ON(cpu_buffer, ++nr_loops > 1000)) | 1418 | if (RB_WARN_ON(cpu_buffer, ++nr_loops > 1000)) |
| 1414 | return NULL; | 1419 | return NULL; |
| 1415 | 1420 | ||
| 1416 | ts = ring_buffer_time_stamp(cpu_buffer->buffer, cpu_buffer->cpu); | 1421 | ts = rb_time_stamp(cpu_buffer->buffer, cpu_buffer->cpu); |
| 1417 | 1422 | ||
| 1418 | /* | 1423 | /* |
| 1419 | * Only the first commit can update the timestamp. | 1424 | * Only the first commit can update the timestamp. |
