Message ID | 20231210040452.274868572@goodmis.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | ring-buffer/tracing: Allow ring buffer to have bigger sub buffers | expand |
On 2023-12-09 22:54, Steven Rostedt wrote: [...] > +get_buffer_data_size() { > + sed -ne 's/^.*data.*size:\([0-9][0-9]*\).*/\1/p' events/header_page > +} > + > +a="1234567890" > + > +make_str() { > + cnt=$1 > + s="" > + while [ $cnt -gt 10 ]; do > + s="${s}${a}" > + cnt=$((cnt-10)) > + done > + while [ $cnt -gt 0 ]; do > + s="${s}X" > + cnt=$((cnt-1)) > + done > + echo -n $s > +} > + > +test_buffer() { > + > + size=`get_buffer_data_size` > + > + str=`make_str $size` > + > + echo $str > trace_marker > + > + grep -q $a trace This test has no clue if the record was truncated or not. It basically repeats the string "1234567890" until it fills the subbuffer size and pads with XXXX as needed as trace marker payload, but the grep looks for the "1234567890" pattern only. The test should be extended to validate whether the trace marker payload was truncated or not, otherwise it is of limited value. Thanks, Mathieu
On Sun, 10 Dec 2023 09:26:13 -0500 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> wrote: > This test has no clue if the record was truncated or not. > > It basically repeats the string > > "1234567890" until it fills the subbuffer size and pads with > XXXX as needed as trace marker payload, but the grep looks for the > "1234567890" pattern only. > > The test should be extended to validate whether the trace marker > payload was truncated or not, otherwise it is of limited value. It can be, but for now it's just testing to make sure it doesn't crash. I ran out of time, and if someone else wants to extend this, go ahead. Currently, my testing has been just manual observations. I threw this in just to have some kind of smoke test applied. I agree with the API changes, and will update that. But given that this has been two years and never applied, is because nobody has the time to work on this. The reason I'm pushing for this now, is because Kent hit the limit in his work. Knowing that he would not have hit this limit if these patches were applied, I feel more urgency on getting them in. But this is all on my own time, not part of my Employer (hence why I'm working on the weekend). -- Steve
diff --git a/tools/testing/selftests/ftrace/test.d/00basic/ringbuffer_order.tc b/tools/testing/selftests/ftrace/test.d/00basic/ringbuffer_order.tc new file mode 100644 index 000000000000..c0d76dc724d3 --- /dev/null +++ b/tools/testing/selftests/ftrace/test.d/00basic/ringbuffer_order.tc @@ -0,0 +1,46 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# description: Change the ringbuffer size +# requires: buffer_subbuf_order +# flags: instance + +get_buffer_data_size() { + sed -ne 's/^.*data.*size:\([0-9][0-9]*\).*/\1/p' events/header_page +} + +a="1234567890" + +make_str() { + cnt=$1 + s="" + while [ $cnt -gt 10 ]; do + s="${s}${a}" + cnt=$((cnt-10)) + done + while [ $cnt -gt 0 ]; do + s="${s}X" + cnt=$((cnt-1)) + done + echo -n $s +} + +test_buffer() { + + size=`get_buffer_data_size` + + str=`make_str $size` + + echo $str > trace_marker + + grep -q $a trace +} + +ORIG=`cat buffer_subbuf_order` + +for a in `seq 0 4`; do + echo 0 > buffer_subbuf_order + test_buffer +done + +echo $ORIG > buffer_subbuf_order +