]> git.baikalelectronics.ru Git - kernel.git/commit
tracing: Save off entry when peeking at next entry
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Tue, 17 Mar 2020 21:32:23 +0000 (17:32 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 19 Mar 2020 21:48:36 +0000 (17:48 -0400)
commit7c2a3035d9a2eda27542435940c950f049a234ba
treec486cf29f043122a633a22c5a77fa8660c872f6b
parente6cdc21f4b458acb52bdaad2917c32235fd232eb
tracing: Save off entry when peeking at next entry

In order to have the iterator read the buffer even when it's still updating,
it requires that the ring buffer iterator saves each event in a separate
location outside the ring buffer such that its use is immutable.

There's one use case that saves off the event returned from the ring buffer
interator and calls it again to look at the next event, before going back to
use the first event. As the ring buffer iterator will only have a single
copy, this use case will no longer be supported.

Instead, have the one use case create its own buffer to store the first
event when looking at the next event. This way, when looking at the first
event again, it wont be corrupted by the second read.

Link: http://lkml.kernel.org/r/20200317213415.722539921@goodmis.org
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
include/linux/trace_events.h
kernel/trace/trace.c
kernel/trace/trace_output.c