Re: [PATCH v2] tracing: Adds handler name to irq_handler_entry

From: Badhri Jagan Sridharan
Date: Thu May 07 2015 - 17:44:59 EST


Yes Steven.. It shouldn't be too difficult to find out the
handler for a specific device. But, I am looking
at some user space scripts that looks across different devices,
to data-mine interrupt stats. Although, the interrupt
numbers from the device tree change from one device to
another, if its the same device driver, the handlers
remain the same. So it gives me a good sense of
similar interrupts that fire.

If you think that its not to much of an overhead,I will send
a follow up patch to correct the spacing error that you
mentioned.

And did you really add Thomas to CC ?

Thanks,
Badhri

On 05/05/2015 08:19 PM, Steven Rostedt wrote:
[ Added Thomas to the Cc, as he maintains interrupts ]

On Tue, 5 May 2015 20:06:27 -0700
Badhri Jagan Sridharan <badhri@xxxxxxxxxx> wrote:

This patch includes the ISR function name to
irq_handler_entry trace point.

It states what this patch does, but not why it does it.

How much more difficult to map the handler to the interrupt?

Just asking, I'm not sure I needed this, and I use this tracepoint all
the time. But then again, I'm a bit of an tracing expert, and can add
function graph tracing to see what is happening too. I shouldn't always
be the judge on usefulness of added info here ;-)


Signed-off-by: Badhri Jagan Sridharan <Badhri@xxxxxxxxxx>
---
Changelog since v1:
- fixed indentation

include/trace/events/irq.h | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/include/trace/events/irq.h b/include/trace/events/irq.h
index ff8f6c0..dd8918c 100644
--- a/include/trace/events/irq.h
+++ b/include/trace/events/irq.h
@@ -58,14 +58,17 @@ TRACE_EVENT(irq_handler_entry,
TP_STRUCT__entry(
__field( int, irq )
__string( name, action->name )
+ __field( void*, handler )

Nit, you need a space between 'void' and '*'.

-- Steve

),

TP_fast_assign(
__entry->irq = irq;
__assign_str(name, action->name);
+ __entry->handler = action->handler;
),

- TP_printk("irq=%d name=%s", __entry->irq, __get_str(name))
+ TP_printk("irq=%d name=%s handler=%pf",
+ __entry->irq, __get_str(name), __entry->handler)
);

/**

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/