net: tracepoint: replace tcp_set_state tracepoint with inet_sock_set_state tracepoint
As sk_state is a common field for struct sock, so the state transition tracepoint should not be a TCP specific feature. Currently it traces all AF_INET state transition, so I rename this tracepoint to inet_sock_set_state tracepoint with some minor changes and move it into trace/events/sock.h. We dont need to create a file named trace/events/inet_sock.h for this one single tracepoint. Two helpers are introduced to trace sk_state transition - void inet_sk_state_store(struct sock *sk, int newstate); - void inet_sk_set_state(struct sock *sk, int state); As trace header should not be included in other header files, so they are defined in sock.c. The protocol such as SCTP maybe compiled as a ko, hence export inet_sk_set_state(). Signed-off-by: Yafang Shao <laoar.shao@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
d7b850a7de
commit
563e0bb0dc
@@ -283,8 +283,6 @@
|
||||
#include <asm/ioctls.h>
|
||||
#include <net/busy_poll.h>
|
||||
|
||||
#include <trace/events/tcp.h>
|
||||
|
||||
struct percpu_counter tcp_orphan_count;
|
||||
EXPORT_SYMBOL_GPL(tcp_orphan_count);
|
||||
|
||||
@@ -2040,8 +2038,6 @@ void tcp_set_state(struct sock *sk, int state)
|
||||
{
|
||||
int oldstate = sk->sk_state;
|
||||
|
||||
trace_tcp_set_state(sk, oldstate, state);
|
||||
|
||||
switch (state) {
|
||||
case TCP_ESTABLISHED:
|
||||
if (oldstate != TCP_ESTABLISHED)
|
||||
@@ -2065,7 +2061,7 @@ void tcp_set_state(struct sock *sk, int state)
|
||||
/* Change state AFTER socket is unhashed to avoid closed
|
||||
* socket sitting in hash tables.
|
||||
*/
|
||||
sk_state_store(sk, state);
|
||||
inet_sk_state_store(sk, state);
|
||||
|
||||
#ifdef STATE_TRACE
|
||||
SOCK_DEBUG(sk, "TCP sk=%p, State %s -> %s\n", sk, statename[oldstate], statename[state]);
|
||||
|
Reference in New Issue
Block a user