netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Yafang Shao <laoar.shao@gmail.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: David Miller <davem@davemloft.net>,
	Song Liu <songliubraving@fb.com>,
	Alexei Starovoitov <alexei.starovoitov@gmail.com>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] tcp: Export to userspace the TCP state names for the trace events
Date: Sat, 11 Nov 2017 02:06:00 +0000	[thread overview]
Message-ID: <CALOAHbD16KNZ4JWTLudQLDgB72Ke7Twdb-bLYznH7voAUQvQog@mail.gmail.com> (raw)
In-Reply-To: <20171110100700.5870c21f@gandalf.local.home>

2017-11-10 15:07 GMT+00:00 Steven Rostedt <rostedt@goodmis.org>:
> On Fri, 10 Nov 2017 12:56:06 +0800
> Yafang Shao <laoar.shao@gmail.com> wrote:
>
>> Could the macro tcp_state_name() be renamed ?
>> If <trace/events/tcp.h> is included in include/net/tcp.h, it will
>
> Ideally, you don't want to include trace/events/*.h headers in other
> headers, as they can have side effects if those headers are included in
> other trace/events/*.h headers.
>

Actually I find trace/events/*.h is included in lots of other headers,
for example,

net/rxrpc/ar-internal.h
include/linux/bpf_trace.h
fs/f2fs/trace.h
fs/afs/internal.h
arch/x86/include/asm/mmu_context.h
...

Are these files doing properly ?
Should we fix them ?

But per my understanding, it is ok to include  trace/events/*.h in
other headers because we defined TRACE_SYSTEM as well, as a
consequence those headers should not included in trace/events/*.h. If
that happens, it may means that one of the these two TRACE_SYSTEM is
not defined properly. Maybe these two TRACE_SYSTEM should be merged to
one TRACE_SYSTEM.


>> cause compile error, because there's another function tcp_state_name()
>> defined in net/netfilter/ipvs/ip_vs_proto_tcp.c.
>>     static const char * tcp_state_name(int state)
>>     {
>>
>>         if (state >= IP_VS_TCP_S_LAST)
>>
>>             return "ERR!";
>>
>>         return tcp_state_name_table[state] ? tcp_state_name_table[state] : "?";
>>
>>     }
>
> But that said, I didn't make up the trace_state_name(), it was already
> there in net-next before this patch.
>

I know that is not your fault.
But as you are modifying this file, it is better to modify it in your
patch as well.
So we need not submit another new patch to fix it.

> But yeah, in actuality, I would have just done:
>
> #define EM(a)   { a, #a },
> #define EMe(a)  { a, #a }
>
> directly. Which we can still do.
>
> -- Steve
>

The suggestion from Song is good to fix it.

Thanks
Yafang

  parent reply	other threads:[~2017-11-11  2:06 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-09  6:01 [PATCH] net/tcp: introduce TRACE_EVENT for TCP/IPv4 state transition Yafang Shao
2017-11-09  6:43 ` Alexei Starovoitov
2017-11-09  6:50   ` Yafang Shao
2017-11-09 18:18   ` Steven Rostedt
2017-11-09 18:34     ` Song Liu
2017-11-09 23:40       ` Song Liu
2017-11-10  0:42         ` Steven Rostedt
2017-11-10  0:57         ` [PATCH] tcp: Export to userspace the TCP state names for the trace events Steven Rostedt
2017-11-10  1:42           ` Song Liu
2017-11-10  4:56           ` Yafang Shao
2017-11-10 15:07             ` Steven Rostedt
2017-11-10 17:37               ` Song Liu
2017-11-11  2:06               ` Yafang Shao [this message]
2017-11-11  3:32                 ` Steven Rostedt
2017-11-11 13:26                   ` Yafang Shao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CALOAHbD16KNZ4JWTLudQLDgB72Ke7Twdb-bLYznH7voAUQvQog@mail.gmail.com \
    --to=laoar.shao@gmail.com \
    --cc=alexei.starovoitov@gmail.com \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=songliubraving@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).