linux-stable/sound
Steven Rostedt (Google) c71531007e tracing: ALSA: hda: Remove string manipulation out of the fast path
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.

Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Link: https://lore.kernel.org/r/20220703110605.07a86fb2@rorschach.local.home
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2022-07-04 14:31:19 +02:00
..
ac97
aoa
arm ASoC: pxa: ac97: use normal MMIO accessors 2022-05-07 22:55:49 +02:00
atmel
core Merge branch 'for-linus' into for-next 2022-07-04 14:15:13 +02:00
drivers ALSA: Add generic serial MIDI driver using serial bus API 2022-05-12 11:54:13 +02:00
firewire ALSA: fireworks: fix wrong return count shorter than expected by 4 bytes 2022-04-25 08:03:49 +02:00
hda tracing: ALSA: hda: Remove string manipulation out of the fast path 2022-07-04 14:31:19 +02:00
i2c
isa ALSA: wavefront: remove redundant assignment to pointer end 2022-07-04 14:29:27 +02:00
mips ALSA: mips: Use platform_get_irq() to get the interrupt 2022-02-28 16:59:01 +01:00
oss sound/oss/dmasound: fix 'dmasound_setup' defined but not used 2022-04-15 09:17:37 +02:00
parisc
pci ALSA: hda/realtek: Add quirk for Clevo L140PU 2022-07-04 14:08:48 +02:00
pcmcia
ppc
sh
soc Merge branch 'for-linus' into for-next 2022-07-04 14:15:13 +02:00
sparc
spi sound updates for 5.18 2022-03-23 15:11:12 -07:00
synth
usb ALSA: usb-audio: Turn off 'manual mode' on Dell dock 2022-07-04 14:27:16 +02:00
virtio
x86 ALSA: x86: intel_hdmi_audio: use pm_runtime_resume_and_get() 2022-06-17 10:46:38 +02:00
xen xen/sndfront: use xenbus_setup_ring() and xenbus_teardown_ring() 2022-05-19 14:22:08 +02:00
ac97_bus.c
Kconfig
last.c
Makefile
sound_core.c sound: core: Remove redundant variable and return the last statement 2022-02-28 17:57:14 +01:00