lkml.org 
[lkml]   [2024]   [Mar]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] tracing: Have trace_marker writes be just half of TRACE_SEQ_SIZE
From
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


\
 
 \ /
  Last update: 2024-05-27 15:34    [W:0.049 / U:3.444 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site