Messages in this thread |  | | Date | Mon, 04 Jul 2022 14:32:15 +0200 | From | Takashi Iwai <> | 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@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
|  |