Thread (5 messages) 5 messages, 3 authors, 2015-07-11

[PATCH V3] trace/events: add chip name and hwirq to irq entry tracepoint

From: Thomas Gleixner <hidden>
Date: 2015-07-11 08:03:32
Also in: linux-arm-msm, lkml

On Wed, 8 Jul 2015, Ankit Gupta wrote:
quoted
On Wed, 24 Jun 2015, Steven Rostedt wrote:
quoted
quoted
+
+#define show_chip_name(irq)					\
+	(irq_get_irq_data(irq)					\
+			 ? irq_get_irq_data(irq)->chip->name	\
+			 : "NULL")
+
+#define show_hwirq(irq)						\
+	(irq_get_irq_data(irq)					\
+			 ? irq_get_irq_data(irq)->hwirq		\
+			 : -ENODEV)
Note these magic functions will only be useful for the tracefs reads of
the trace files. Userspace tools that extract the data (like perf and
trace-cmd), will have no idea of how to parse it.

I'm not against doing this, but I'm just letting you know what the
effect of this change will be.
What's worse is, that they are racy against a concurrent teardown of
the interrupt. Not a good idea ...
Agree, I'll save the chip-name and hwirq in the struct. This technique
using the same macros to save the chip-name and hwirq in the struct also
works well with trace-cmd.
Though I really doubt that this is the proper way to go. Why do you want
to store redundant information on every tracepoint?

That does not make any sense.

What we really want is an interface to query the interrupt association
(linux interrupt number, chip, domain, hwirq, ...) in one go when the
tracer starts and have tracepoints which keep track of irq setup and
teardown.

That way we keep the hotpath tracepoints tiny and the analysis tools
can create rich tracepoints for postprocessing. That's how perf is
working as well.

Thanks,

	tglx
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help