Re: [PATCH resend] tracing/events: convert NAPI's tracepoint viaTRACE_EVENT

From: Steven Rostedt
Date: Mon Aug 31 2009 - 21:41:17 EST


On Tue, 2009-09-01 at 09:06 +0800, Xiao Guangrong wrote:
>
> Steven Rostedt wrote:
> > On Mon, 31 Aug 2009, Xiao Guangrong wrote:
> >
> >> - 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
> >
> > The above really needs to be in a separate patch, since it is a tracing
> > infrastructure change.
> >
>
> Hi Steven,
>
> We can't break this patch into two patches, because it's has redefined 'DECLARE_TRACE'
> in include/trace/define_trace.h, like below:
>
> 1: if we remove 'DECLARE_TRACE' first, then NAPI's tracepoint can't define tracepoint
> (it's a NAPI tracepoint's bug,
> see my previous patch: http://marc.info/?l=linux-kernel&m=125118032931716&w=2)
>
> 2: if we convert NAPI's tracepoint first, it can't include more TRACE_EVENT .h files in
> one .c file, the compiler will complain with variables redefined:
>
> include/trace/events/napi.h:15: error: redefinition of â__tpstrtab_napi_pollâ
> include/trace/events/napi.h:15: error: previous definition of â__tpstrtab_napi_pollâ was here
> include/trace/events/napi.h:15: error: redefinition of â__tracepoint_napi_pollâ
> include/trace/events/napi.h:15: error: previous definition of â__tracepoint_napi_pollâ was here
> In file included from include/trace/ftrace.h:644,
>
> So, I think we do better fix this bug early, then other people can go on his work on ftrace.

Ah, I missed the dependency there. That needs to be commented in the
change log. That is, to comment that a dependency exists.

Luckily, none of the DECLARE_TRACE users used the CREATE_TRACEPOINT way
of creating the trace points. Of course using DECLARE_TRACE directly is
now deprecated, but this change would have broken it if it was used,
because the define_trace.h was also written for that in mind. But since
we never converted any of the old users to do so, this wont break
anything.

OK, you have have Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>

-- Steve


--
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/