On Sun, 03 Jul 2022 17:06:05 +0200, Steven Rostedt wrote: > > From: "Steven Rostedt (Google)" <rostedt@xxxxxxxxxxx> > > The TRACE_EVENT() macro is broken up into various parts to be efficient. > The TP_fast_assign() is just to record the event into the ring buffer, and > is to be done as fast as possible as this occurs during the actual running > of the code. The slower this is, the slower the code that is being traced > becomes. > > The TP_printk() is processed when reading the tracing buffer. This is > considered the slow path. Any processing that can be moved from the > TP_fast_assign() to the TP_printk() should do so. > > For some reason, the entire string processing of the trace events > hda_send_cmd, hda_get_response, and hda_unsol_event was moved from the > TP_printk() into the TP_fast_assign(). On top of that, the > __dynamic_array() was used with a fixed size of HDAC_MSG_MAX, which is > useless as a dynamic_array as it will always allocate HDAC_MSG_MAX bytes > on the ring buffer and even save that amount into the event (as it expects > the size to be dynamic, which using a fixed size defeats that purpose). > > Instead, just save the necessary elements in the TP_fast_assign() and do > the string manipulation in the slow path. > > The output should be the same. > > Cc: Jaroslav Kysela <perex@xxxxxxxx> > Cc: Takashi Iwai <tiwai@xxxxxxxx> > Cc: alsa-devel@xxxxxxxxxxxxxxxx > Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx> Thanks, applied now to for-next branch. Takashi