net: some optimizations in af_inet
Subsystems (2)
PATCH 1/1 net: some optimizations in af_inet
1) Use eq_net() in inet_netns_ok() to speedup socket creation if !CONFIG_NET_NS
2) Reorder the tests about inet_ehash_secret generation (once only) Use the unlikely() macro when testing if inet_ehash_secret already generated.
Signed-off-by Eric Dumazet <[email protected]>
net/ipv4/af_inet.c +4 -5
@@ -245,7 +245,7 @@ static inline int inet_netns_ok(struct net *net, int protocol)int hash;struct net_protocol *ipprot; -if (net == &init_net) +if (net_eq (net, &init_net))return 1 ; hash = protocol & (MAX_INET_PROTOS -1 );
@@ -272,10 +272,9 @@ static int inet_create(struct net *net, struct socket *sock, int protocol)int try_loading_module =0 ;int err; -if (sock->type !=SOCK_RAW && - sock->type !=SOCK_DGRAM && - !inet_ehash_secret) -build_ehash_secret (); +if (unlikely (!inet_ehash_secret)) +if (sock->type !=SOCK_RAW && sock->type !=SOCK_DGRAM ) +build_ehash_secret (); sock->state =SS_UNCONNECTED ;
From: Eric Dumazet <[email protected]>
Date: Sat, 22 Nov 2008 08:06:09 +0100
Quoted 6 lines
1) Use
eq_net()ininet_netns_ok()to speedup socket creation if !CONFIG_NET_NS2) Reorder the tests about
inet_ehash_secretgeneration (once only) Use theunlikely()macro when testing ifinet_ehash_secretalready generated.Signed-off-by Eric Dumazet <[email protected]>
Applied, thanks Eric.