From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751447AbZH0K5J (ORCPT ); Thu, 27 Aug 2009 06:57:09 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751170AbZH0K5I (ORCPT ); Thu, 27 Aug 2009 06:57:08 -0400 Received: from cn.fujitsu.com ([222.73.24.84]:50423 "EHLO song.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1750985AbZH0K5G (ORCPT ); Thu, 27 Aug 2009 06:57:06 -0400 Message-ID: <4A96664D.8010700@cn.fujitsu.com> Date: Thu, 27 Aug 2009 18:56:13 +0800 From: Xiao Guangrong User-Agent: Thunderbird 2.0.0.6 (Windows/20070728) MIME-Version: 1.0 To: Ingo Molnar CC: Steven Rostedt , Frederic Weisbecker , Neil Horman , David Miller , Wei Yongjun , LKML , Netdev Subject: [PATCH 3/3] tracing/events: convert NAPI's tracepoint and fix DEFINE_TRACE_FN References: <4A966288.8020402@cn.fujitsu.com> In-Reply-To: <4A966288.8020402@cn.fujitsu.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-TM-AS-Product-Ver: : ISVW-6.0.0.2339-3.52.0.1010-13974000 X-TM-AS-Result: : No X-TM-AS-Category-Info: : 31:0.000000 X-TM-AS-MatchedID: : 1-150644-110581-188019-139504-121162-121709 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org - Convert NAPI's tracepoint via TRACE_EVENT macro, the output information like below: sshd-2503 [000] 71.920846: napi_poll: ifname=eth0 state=0 weigth=16 poll=pcnet32_poll sshd-2503 [000] 72.020291: napi_poll: ifname=eth0 state=0 weigth=16 poll=pcnet32_poll sshd-2503 [000] 72.020418: napi_poll: ifname=eth0 state=NAPI_STATE_SCHED weigth=16 poll=pcnet32_poll - Remove the "DECLARE_TRACE" definiens in include/trace/define_trace.h, because TRACE_EVENT not use it - Undef DEFINE_TRACE_FN after TRACE_EVENT/TRACE_EVENT_FN expanded, then we can include more TRACE_EVENT .h file in one .c file (the .c file has defined CREATE_TRACE_POINTS) Signed-off-by: Xiao Guangrong --- include/trace/define_trace.h | 5 +--- include/trace/events/napi.h | 43 +++++++++++++++++++++++++++++++++++++---- 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/include/trace/define_trace.h b/include/trace/define_trace.h index a89ed59..6158741 100644 --- a/include/trace/define_trace.h +++ b/include/trace/define_trace.h @@ -31,10 +31,6 @@ assign, print, reg, unreg) \ DEFINE_TRACE_FN(name, reg, unreg) -#undef DECLARE_TRACE -#define DECLARE_TRACE(name, proto, args) \ - DEFINE_TRACE(name) - #undef TRACE_INCLUDE #undef __TRACE_INCLUDE @@ -62,6 +58,7 @@ #endif #undef TRACE_EVENT +#undef TRACE_EVENT_FN #undef TRACE_HEADER_MULTI_READ /* Only undef what we defined in this file */ diff --git a/include/trace/events/napi.h b/include/trace/events/napi.h index a8989c4..22802d1 100644 --- a/include/trace/events/napi.h +++ b/include/trace/events/napi.h @@ -1,11 +1,44 @@ -#ifndef _TRACE_NAPI_H_ -#define _TRACE_NAPI_H_ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM napi + +#if !defined(_TRACE_NAPI_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_NAPI_H #include #include -DECLARE_TRACE(napi_poll, +#define show_napi_state(state) state ? __print_flags(state, "|", \ + { (1UL << NAPI_STATE_SCHED), "NAPI_STATE_SCHED" }, \ + { (1UL << NAPI_STATE_DISABLE), "NAPI_STATE_DISABLE" }, \ + { (1UL << NAPI_STATE_NPSVC), "NAPI_STATE_NPSVC" }) : "0" + +TRACE_EVENT(napi_poll, + TP_PROTO(struct napi_struct *napi), - TP_ARGS(napi)); -#endif + TP_ARGS(napi), + + TP_STRUCT__entry( + __field( unsigned long, state ) + __field( int, weight ) + __field( void *, poll ) + __string( ifname, (napi->dev ? + napi->dev->name : "backlog") ) + ), + + TP_fast_assign( + __entry->state = napi->state; + __entry->weight = napi->weight; + __entry->poll = napi->poll; + __assign_str(ifname, napi->dev ? napi->dev->name : "backlog") + ), + + TP_printk("ifname=%s state=%s weigth=%d poll=%pf", + __get_str(ifname), show_napi_state(__entry->state), + __entry->weight, __entry->poll) +); + +#endif /* _TRACE_NAPI_H */ + +/* This part must be outside protection */ +#include -- 1.6.1.2