lkml.org 
[lkml]   [2022]   [Jul]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: PATCH] tracing: ALSA: hda: Remove string manipulation out of the fast path
On Sun, 03 Jul 2022 17:06:05 +0200,
Steven Rostedt wrote:
>
> From: "Steven Rostedt (Google)" <rostedt@goodmis.org>
>
> 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@perex.cz>
> Cc: Takashi Iwai <tiwai@suse.com>
> Cc: alsa-devel@alsa-project.org
> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>

Thanks, applied now to for-next branch.


Takashi

\
 
 \ /
  Last update: 2022-07-04 14:33    [W:0.034 / U:2.368 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site