This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [ltt-dev] [LTTng][RFC][Patch 2/2] add irq-id parameter to irq_exit tracepoint and marker


Masami Hiramatsu wrote:

> Index: linux-2.6-lttng/kernel/kernel-trace.c
> ===================================================================
> --- linux-2.6-lttng.orig/kernel/kernel-trace.c	2008-08-19 21:45:16.000000000 -0400
> +++ linux-2.6-lttng/kernel/kernel-trace.c	2008-08-21 15:58:39.000000000 -0400
> @@ -18,9 +18,10 @@
>  		(regs)?instruction_pointer(regs):0UL);
>  }
> 
> -static void probe_irq_exit(irqreturn_t retval)
> +static void probe_irq_exit(unsigned int id, irqreturn_t retval)
>  {
> -	trace_mark(kernel_irq_exit, "handled #1u%u", IRQ_RETVAL(retval));
> +	trace_mark(kernel_irq_exit, "irq_id %u handled #1u%u",
> +		id, IRQ_RETVAL(retval));

This is redundant information. The IRQ id is already specified in
kernel_irq_entry events. The IRQ id of a kernel_irq_exit event can be
known by keeping a stack of nested IRQs, as is done in LTTV in the file
state.c.

Here we need to compromise between the trace size and the amount of work
needed to analyze the trace. kernel_irq_exit is a very high rate event
and the work needed to keep track of the state is small. Therefore I
doubt including the redundant information is the best choice.

pmf


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]