----- On Apr 25, 2022, at 10:04 AM, Steven Rostedt rostedt@xxxxxxxxxxx wrote: > On Fri, 8 Apr 2022 14:06:53 -0400 (EDT) > Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> wrote: >> >> Indeed, the fact that the TP_fast_assign snippets are embedded in the >> trace_event_raw_event_* symbols is an issue for LTTng. This ties those >> to ftrace. > > Not just ftrace, perf does it too. > > Now another solution is to make the fast assigns available to anyone, and > to allow you to simply pass in a pointer and size to have the data written > into it. That is, you get the results of the TRACE_EVENT and not have to > depend on internal data from the tracepoint. If the fast assign can then be used on a field-per-field basis, maybe this could work, but AFAIK the fast-assign macro is open-coded C, which makes this not straightforward. If it's a all-or-nothing approach where the fast-assign needs to serialize all fields, this would require that lttng copies the data into a temporary area, which is something I want to avoid for filtering and event notification per-field payload capture purposes. Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com