ring-buffer: Do not die if rb_iter_peek() fails more than thrice
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Tue, 17 Mar 2020 21:32:28 +0000 (17:32 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 19 Mar 2020 23:11:19 +0000 (19:11 -0400)
commitff84c50cfb4b8dc68c982fb6c05a524e1539ee2f
tree63fff4f557b19618a9d4bcc8e224f111c2300226
parent785888c544e0433f601df18ff98a3215b380b9c3
ring-buffer: Do not die if rb_iter_peek() fails more than thrice

As the iterator will be reading a live buffer, and if the event being read
is on a page that a writer crosses, it will fail and try again, the
condition in rb_iter_peek() that only allows a retry to happen three times
is no longer valid. Allow rb_iter_peek() to retry more than three times
without killing the ring buffer, but only if rb_iter_head_event() had failed
at least once.

Link: http://lkml.kernel.org/r/20200317213416.452888193@goodmis.org
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/ring_buffer.c