diff options
author | Pavel Emelyanov <xemul@openvz.org> | 2008-01-31 05:04:45 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-31 19:28:17 -0800 |
commit | 5ee31fc1ecdcbc234c8c56dcacef87c8e09909d8 (patch) | |
tree | 5fe73acbcf784f9ee326d7d10ae217c7b4eb13ee /include/net/inet_hashtables.h | |
parent | 535174efbe0f0454f0595c31b823498c197eeb4f (diff) | |
download | op-kernel-dev-5ee31fc1ecdcbc234c8c56dcacef87c8e09909d8.zip op-kernel-dev-5ee31fc1ecdcbc234c8c56dcacef87c8e09909d8.tar.gz |
[INET]: Consolidate inet(6)_hash_connect.
These two functions are the same except for what they call
to "check_established" and "hash" for a socket.
This saves half-a-kilo for ipv4 and ipv6.
add/remove: 1/0 grow/shrink: 1/4 up/down: 582/-1128 (-546)
function old new delta
__inet_hash_connect - 577 +577
arp_ignore 108 113 +5
static.hint 8 4 -4
rt_worker_func 376 372 -4
inet6_hash_connect 584 25 -559
inet_hash_connect 586 25 -561
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/inet_hashtables.h')
-rw-r--r-- | include/net/inet_hashtables.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/net/inet_hashtables.h b/include/net/inet_hashtables.h index 761bdc0..a34a8f2 100644 --- a/include/net/inet_hashtables.h +++ b/include/net/inet_hashtables.h @@ -413,6 +413,11 @@ static inline struct sock *inet_lookup(struct inet_hashinfo *hashinfo, return sk; } +extern int __inet_hash_connect(struct inet_timewait_death_row *death_row, + struct sock *sk, + int (*check_established)(struct inet_timewait_death_row *, + struct sock *, __u16, struct inet_timewait_sock **), + void (*hash)(struct inet_hashinfo *, struct sock *)); extern int inet_hash_connect(struct inet_timewait_death_row *death_row, struct sock *sk); #endif /* _INET_HASHTABLES_H */ |