This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [ltt-dev] [LTTng][RFC][Patch 2/2] add irq-id parameter to irq_exit tracepoint and marker
- From: Pierre-Marc Fournier <pierre-marc dot fournier at polymtl dot ca>
- To: Masami Hiramatsu <mhiramat at redhat dot com>
- Cc: ltt-dev at lists dot casi dot polymtl dot ca, systemtap-ml <systemtap at sources dot redhat dot com>, Hideo AOKI <haoki at redhat dot com>, Takahiro Yasui <tyasui at redhat dot com>
- Date: Tue, 26 Aug 2008 12:34:55 -0400
- Subject: Re: [ltt-dev] [LTTng][RFC][Patch 2/2] add irq-id parameter to irq_exit tracepoint and marker
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding:sender; bh=6TRMZybHDeaThDYDcTxVrX6O/gd/xI8UHWylTPtypRQ=; b=OxpBqsnMJm3gOEUNrn4IU4trKLAt5vIHODlilYAQZBAcw/hDzjoZTcA9VtLgDK+740 84lrvqoR0xd9uwobJYHaGajjwCWoIV9eG76pwBbrYneY9qbKa6G4sBypKv0pjCV6dxvq KEBmYKQ+hBXQI1UIoLlPnQWM5sDSy8auefugk=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding:sender; b=ecFRDFgP+hhkZDeHDahOL09wHIHoxY/L/z9Bjx/mE4+mVnl8DEwKKCowxATrRonD4X zSVeN6s1Z+1WoM4vdQgpNHnTrOZ+9WZrxcp1G3UgYKw3qqPg46Ez+jiV5b92zetpOG/8 HXjPDwnAmPAAhTdp/MnxQwST742i7bb22bY1g=
- References: <48B4220A.4020505@redhat.com>
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