diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-03-05 10:21:49 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-03-05 10:21:49 +0100 |
commit | 53664738c122bfe8b0e489fddaf2ab265c9133c8 (patch) | |
tree | 8121a9fc4021e86499c404e0b1012a36e8d0b00e /kernel/trace/ring_buffer.c | |
parent | c4ef144a9d0803eb0a2d4110ae87e7f34e667ded (diff) | |
parent | e9d25fe6eaa2c720bb3ea661b660e58d54fa38bf (diff) | |
download | kernel-crypto-53664738c122bfe8b0e489fddaf2ab265c9133c8.tar.gz kernel-crypto-53664738c122bfe8b0e489fddaf2ab265c9133c8.tar.xz kernel-crypto-53664738c122bfe8b0e489fddaf2ab265c9133c8.zip |
Merge branch 'tip/tracing/ftrace' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace
Diffstat (limited to 'kernel/trace/ring_buffer.c')
-rw-r--r-- | kernel/trace/ring_buffer.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index f2a163db52f..f7473645b9c 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -2461,6 +2461,7 @@ int ring_buffer_read_page(struct ring_buffer *buffer, unsigned long flags; unsigned int commit; unsigned int read; + u64 save_timestamp; int ret = -1; /* @@ -2515,6 +2516,9 @@ int ring_buffer_read_page(struct ring_buffer *buffer, if (len < size) goto out; + /* save the current timestamp, since the user will need it */ + save_timestamp = cpu_buffer->read_stamp; + /* Need to copy one event at a time */ do { memcpy(bpage->data + pos, rpage->data + rpos, size); @@ -2531,7 +2535,7 @@ int ring_buffer_read_page(struct ring_buffer *buffer, /* update bpage */ local_set(&bpage->commit, pos); - bpage->time_stamp = rpage->time_stamp; + bpage->time_stamp = save_timestamp; /* we copied everything to the beginning */ read = 0; |