: Uninline the __inet_inherit_port call.
Subsystems (3)
PATCH 2/2 : Uninline the __inet_inherit_port call.
This deblats ~200 bytes when ipv6 and dccp are 'y'.
Besides, this will ease compilation issues for patches I'm working on to make inet hash tables more scalable wrt net namespaces.
Signed-off-by Pavel Emelyanov <[email protected]>
--- include/net/inet_hashtables.h | 14 +------------- net/ipv4/inet_hashtables.c | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 13 deletions(-)
include/net/inet_hashtables.h +1 -13
@@ -221,19 +221,7 @@ static inline int inet_sk_listen_hashfn(const struct sock *sk) }/* Caller must disable local BH processing. */ -static inline void __inet_inherit_port (struct sock *sk,struct sock *child) -{ -struct inet_hashinfo *table = sk->sk_prot->h.hashinfo; -const int bhash =inet_bhashfn (inet_sk (child)->num, table->bhash_size); -struct inet_bind_hashbucket *head = &table->bhash[bhash]; -struct inet_bind_bucket *tb; - -spin_lock (&head->lock); - tb =inet_csk (sk)->icsk_bind_hash; -sk_add_bind_node (child, &tb->owners); -inet_csk (child)->icsk_bind_hash = tb; -spin_unlock (&head->lock); -} +extern void __inet_inherit_port (struct sock *sk,struct sock *child);extern void inet_put_port (struct sock *sk);
net/ipv4/inet_hashtables.c +16 -0
@@ -92,6 +92,22 @@ void inet_put_port(struct sock *sk)EXPORT_SYMBOL (inet_put_port); +void __inet_inherit_port (struct sock *sk,struct sock *child) +{ +struct inet_hashinfo *table = sk->sk_prot->h.hashinfo; +const int bhash =inet_bhashfn (inet_sk (child)->num, table->bhash_size); +struct inet_bind_hashbucket *head = &table->bhash[bhash]; +struct inet_bind_bucket *tb; + +spin_lock (&head->lock); + tb =inet_csk (sk)->icsk_bind_hash; +sk_add_bind_node (child, &tb->owners); +inet_csk (child)->icsk_bind_hash = tb; +spin_unlock (&head->lock); +} + +EXPORT_SYMBOL_GPL (__inet_inherit_port); +/* * This lock without WQ_FLAG_EXCLUSIVE is good on UP and it can be very bad on SMP. * Look, when several writers sleep and reader wakes them up, all but one
Signature · 1 line
1.5.3.4
David Miller
maintainerFrom: Pavel Emelyanov <[email protected]>
Date: Thu, 17 Apr 2008 20:02:06 +0400
Quoted 7 lines
This deblats ~200 bytes when ipv6 and dccp are 'y'.
Besides, this will ease compilation issues for patches I'm working on to make inet hash tables more scalable wrt net namespaces.
Signed-off-by Pavel Emelyanov <[email protected]>
Also applied, thanks Pavel.