Re: PATCH] tracing: ALSA: hda: Remove string manipulation out of the fast path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux