[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <871qv1ys6o.wl-tiwai@suse.de>
Date: Mon, 04 Jul 2022 14:32:15 +0200
From: Takashi Iwai <tiwai@...e.de>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: LKML <linux-kernel@...r.kernel.org>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>, alsa-devel@...a-project.org
Subject: Re: 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@...dmis.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@...ex.cz>
> Cc: Takashi Iwai <tiwai@...e.com>
> Cc: alsa-devel@...a-project.org
> Signed-off-by: Steven Rostedt (Google) <rostedt@...dmis.org>
Thanks, applied now to for-next branch.
Takashi
Powered by blists - more mailing lists