Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755174AbZD0GVS (ORCPT ); Mon, 27 Apr 2009 02:21:18 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752134AbZD0GVG (ORCPT ); Mon, 27 Apr 2009 02:21:06 -0400 Received: from cn.fujitsu.com ([222.73.24.84]:56777 "EHLO song.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1750997AbZD0GVE (ORCPT ); Mon, 27 Apr 2009 02:21:04 -0400 Message-ID: <49F54F05.4030108@cn.fujitsu.com> Date: Mon, 27 Apr 2009 14:21:57 +0800 From: Xiao Guangrong User-Agent: Thunderbird 2.0.0.6 (Windows/20070728) MIME-Version: 1.0 To: Mathieu Desnoyers CC: mingo@elte.hu, fweisbec@gmail.com, rostedt@goodmis.org, zhaolei@cn.fujitsu.com, laijs@cn.fujitsu.com, Li Zefan , tzanussi@gmail.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] ftrace: add a tracepoint for __raise_softirq_irqoff() References: <49F548D0.9030500@cn.fujitsu.com> <20090427060137.GA13182@Krystal> In-Reply-To: <20090427060137.GA13182@Krystal> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3318 Lines: 108 Mathieu Desnoyers 写道: > * Xiao Guangrong (xiaoguangrong@cn.fujitsu.com) wrote: >> From: Mathieu Desnoyers >> >> This patch is modified from Mathieu Desnoyers' patch. The original patch >> can be found here: >> http://marc.info/?l=linux-kernel&m=123791201816245&w=2 >> This tracepoint can trace the time stamp when softirq action is raised. >> >> Change log for v1 -> v2: >> 1: Use TRACE_EVENT instead of DEFINE_TRACE >> 2: Move the tracepoint from raise_softirq_irqoff() to __raise_softirq_irqoff() >> > > Hi Xiao, > >> Signed-off-by: Mathieu Desnoyers >> Signed-off-by: Xiao Guangrong >> >> --- >> include/linux/interrupt.h | 9 ++++++++- >> include/trace/events/irq.h | 18 ++++++++++++++++++ >> 2 files changed, 26 insertions(+), 1 deletions(-) >> >> diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h >> index 912c52c..86bae89 100644 >> --- a/include/linux/interrupt.h >> +++ b/include/linux/interrupt.h >> @@ -361,7 +361,14 @@ asmlinkage void do_softirq(void); >> asmlinkage void __do_softirq(void); >> extern void open_softirq(int nr, void (*action)(struct softirq_action *)); >> extern void softirq_init(void); >> -#define __raise_softirq_irqoff(nr) do { or_softirq_pending(1UL << (nr)); } while (0) >> + >> +#include > > Includes are usually at the beginning of the files. > > Besides that, the patch looks good. > Hi Mathieu: I attempted to include as your suggestion, but this results in a cross references: struct softirq_action have been used in tarce/event/irq.h. so I move “include ” in the front of __raise_softirq_irqoff. > Which tree is it for ? mainline 2.6.30-rc or Ingo's tip tree ? > > Working with Ingo on -tip is probably better so the work can be > synchronized with Steven's work more easily. > This patch is work with Ingo on -tip tree Thank you! Xiao Guangrong > Thanks a lot ! > > Mathieu > >> +static inline void __raise_softirq_irqoff(unsigned int nr) >> +{ >> + trace_irq_softirq_raise(nr); >> + or_softirq_pending(1UL << nr); >> +} >> + >> extern void raise_softirq_irqoff(unsigned int nr); >> extern void raise_softirq(unsigned int nr); >> extern void wakeup_softirqd(void); >> diff --git a/include/trace/events/irq.h b/include/trace/events/irq.h >> index 7686864..2628e08 100644 >> --- a/include/trace/events/irq.h >> +++ b/include/trace/events/irq.h >> @@ -90,6 +90,24 @@ TRACE_EVENT(softirq_exit, >> TP_printk("softirq=%d action=%s", __entry->vec, __get_str(name)) >> ); >> >> +TRACE_EVENT(irq_softirq_raise, >> + >> + TP_PROTO(unsigned int nr), >> + >> + TP_ARGS(nr), >> + >> + TP_STRUCT__entry( >> + __field( unsigned int, nr ) >> + ), >> + >> + TP_fast_assign( >> + __entry->nr = nr; >> + ), >> + >> + TP_printk("softirq=%d action=%s is raised", >> + __entry->nr, softirq_to_name[__entry->nr]) >> +); >> + >> #endif /* _TRACE_IRQ_H */ >> >> /* This part must be outside protection */ >> -- >> 1.6.1.2 >> > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/