ring-buffer: Update read stamp with first real commit on page
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>
Mon, 23 Nov 2015 15:35:36 +0000 (10:35 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Mar 2016 23:06:21 +0000 (15:06 -0800)
commit6039f028a9bbf7cb34ecfac31d5a9df68453221d
treeb8ec77a884507942d271fb983c9130670675b545
parentb63a96fada140801597b62a2a6a6818a96ae39e9
ring-buffer: Update read stamp with first real commit on page

commit b81f472a208d3e2b4392faa6d17037a89442f4ce upstream.

Do not update the read stamp after swapping out the reader page from the
write buffer. If the reader page is swapped out of the buffer before an
event is written to it, then the read_stamp may get an out of date
timestamp, as the page timestamp is updated on the first commit to that
page.

rb_get_reader_page() only returns a page if it has an event on it, otherwise
it will return NULL. At that point, check if the page being returned has
events and has not been read yet. Then at that point update the read_stamp
to match the time stamp of the reader page.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
kernel/trace/ring_buffer.c