From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH v5 net-next] net/tcp: trace all TCP/IP state transition with tcp_set_state tracepoint Date: Fri, 08 Dec 2017 10:42:56 -0500 (EST) Message-ID: <20171208.104256.1026704308758536035.davem@davemloft.net> References: <20171207200245.GQ13341@localhost.localdomain> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: marcelo.leitner@gmail.com, songliubraving@fb.com, kuznet@ms2.inr.ac.ru, yoshfuji@linux-ipv6.org, rostedt@goodmis.org, bgregg@netflix.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org To: laoar.shao@gmail.com Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org From: Yafang Shao Date: Fri, 8 Dec 2017 11:40:23 +0800 > It will looks like these, > > if (sk->sk_protocol == IPPROTO_TCP) > __tcp_set_state(newsk, TCP_SYN_RECV); > else > newsk->sk_state = TCP_SYN_RECV; > > > if (sk->sk_protocol == IPPROTO_TCP) > __tcp_set_state(sk, TCP_CLOSE); > else > sk->sk_state = TCP_CLOSE; > > if (sk->sk_protocol == IPPROTO_TCP) > tcp_state_store(sk, state); > else > sk_state_store(sk, state); > > > Some redundant code. > > IMO, put these similar code into a wrapper is more nice. I think this discussion and how ugly this is getting shows that tracing the state transitions of a socket is perhaps not best as a TCP specific feature.