Messages in this thread | ![/](/images/icornerl.gif) | | Date | Mon, 4 Mar 2024 20:42:39 -0500 | Subject | Re: [PATCH] tracing: Have trace_marker writes be just half of TRACE_SEQ_SIZE | From | Mathieu Desnoyers <> |
| |
On 2024-03-04 20:41, Steven Rostedt wrote: > On Mon, 4 Mar 2024 20:35:16 -0500 > Steven Rostedt <rostedt@goodmis.org> wrote: > >>> BUILD_BUG_ON(TRACING_MARK_MAX_SIZE + sizeof(meta data stuff...) > TRACE_SEQ_SIZE); >> >> That's not the meta size I'm worried about. The sizeof(meta data) is the >> raw event binary data, which is not related to the size of the event output. >> >> # cd /sys/kernel/tracing >> # echo hello > trace_marker >> # cat trace >> [..] >> <...>-999 [001] ..... 2296.140373: tracing_mark_write: hello >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> This is the meta data that is added to trace_seq > > That said, the meta data is most likely not going to be more than 128 bytes > (it shouldn't be more than 80). > > I could do as you suggest and create a separate TRACE_MARKER_SIZE and just > make sure that it's less than TRACE_SEQ_BUFFER_SIZE (as that's the size of > the content) by 128 bytes. > > /* Added meta data should not be more than 128 bytes */ > BUILD_BUG_ON((TRACE_MARKER_MAX_SIZE + 128) > TRACE_SEQ_BUFFER_SIZE);
Bonus points if you add
#define TRACE_OUTPUT_META_DATA_MAX_LEN 80
and a runtime check in the code generating this header.
This would avoid adding an unchecked upper limit.
Thanks,
Mathieu
> > -- Steve
-- Mathieu Desnoyers EfficiOS Inc. https://www.efficios.com
| ![\](/images/icornerr.gif) |