[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250130140746.29cfa7d1@gandalf.local.home>
Date: Thu, 30 Jan 2025 14:07:46 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Wander Lairson Costa <wander@...hat.com>
Cc: Masami Hiramatsu <mhiramat@...nel.org>, Mathieu Desnoyers
<mathieu.desnoyers@...icios.com>, "Darrick J. Wong" <djwong@...nel.org>,
Thomas Hellström <thomas.hellstrom@...ux.intel.com>,
"Rafael J. Wysocki" <rafael@...nel.org>, Takashi Iwai <tiwai@...e.de>,
linux-kernel@...r.kernel.org (open list:TRACING),
linux-trace-kernel@...r.kernel.org (open list:TRACING)
Subject: Re: [PATCH] irq/tracing: Add IRQ name to irq_handler_exit
tracepoint
On Thu, 30 Jan 2025 15:14:38 -0300
Wander Lairson Costa <wander@...hat.com> wrote:
> The irq_handler_entry tracepoint includes a "name" field, which allows
> for easy identification and filtering of specific IRQs. However, the
> irq_handler_exit tracepoint lacks this field, making it difficult to
> pair corresponding entry and exit events for analysis.
>
> Add the "name" field to irq_handler_exit to enable consistent tracking
> and correlation of IRQ entry and exit events.
I'm not sure what you mean by this.
# trace-cmd record -e irq_handl* sleep 5
# trace-cmd report
<idle>-0 [000] d.h1. 4690.628641: irq_handler_entry: irq=55 name=virtio5-output.0
<idle>-0 [000] d.h1. 4690.628650: irq_handler_exit: irq=55 ret=handled
<idle>-0 [007] d.H1. 4690.628895: irq_handler_entry: irq=54 name=virtio5-input.0
<idle>-0 [007] d.H1. 4690.628900: irq_handler_exit: irq=54 ret=handled
<idle>-0 [000] d.h1. 4690.802977: irq_handler_entry: irq=41 name=virtio2-req.0
<idle>-0 [000] dNh1. 4690.803046: irq_handler_exit: irq=41 ret=handled
<idle>-0 [000] d.h1. 4690.813958: irq_handler_entry: irq=41 name=virtio2-req.0
<idle>-0 [000] dNh1. 4690.814008: irq_handler_exit: irq=41 ret=handled
<idle>-0 [000] d.H1. 4690.814257: irq_handler_entry: irq=41 name=virtio2-req.0
<idle>-0 [000] dNH1. 4690.814301: irq_handler_exit: irq=41 ret=handled
<idle>-0 [000] d.H1. 4690.815374: irq_handler_entry: irq=41 name=virtio2-req.0
# cat /proc/interrupts |grep -e 55 -e 54 -e 41
41: 462 0 0 0 0 0 0 0 PCI-MSIX-0000:04:00.0 1-edge virtio2-req.0
54: 0 0 0 0 0 0 0 4539 PCI-MSIX-0000:07:00.0 1-edge virtio5-input.0
55: 4544 0 0 0 0 0 0 0 PCI-MSIX-0000:07:00.0 2-edge virtio5-output.0
RES: 1293 1411 1357 1307 1343 1345 1330 1315 Rescheduling interrupts
We have the names right there. Heck, I could probably write a plugin for
trace-cmd to record the interrupt names in the trace.dat file and print
them out with the events. Any analysis tool could also record that.
That's better than wasting ring buffer space for every event.
-- Steve
Powered by blists - more mailing lists