]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
[INET]: Uninline the __inet_hash function.
authorPavel Emelyanov <xemul@openvz.org>
Thu, 20 Dec 2007 23:31:33 +0000 (15:31 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 22:59:26 +0000 (14:59 -0800)
commit152da81deb9a4870aeac352336184b2b14d4b2ba
tree63db8e49be92e7f23667d8c3356177840287118f
parentd6701191329b51793bc56724548f0863d2149c29
[INET]: Uninline the __inet_hash function.

This one is used in quite many places in the networking code and
seems to big to be inline.

After the patch net/ipv4/build-in.o loses ~650 bytes:
add/remove: 2/0 grow/shrink: 0/5 up/down: 461/-1114 (-653)
function                                     old     new   delta
__inet_hash_nolisten                           -     282    +282
__inet_hash                                    -     179    +179
tcp_sacktag_write_queue                     2255    2254      -1
__inet_lookup_listener                       284     274     -10
tcp_v4_syn_recv_sock                         755     493    -262
tcp_v4_hash                                  389      35    -354
inet_hash_connect                           1086     599    -487

This version addresses the issue pointed by Eric, that
while being inline this function was optimized by gcc
in respect to the 'listen_possible' argument.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/inet_hashtables.h
net/dccp/ipv4.c
net/ipv4/inet_hashtables.c
net/ipv4/tcp_ipv4.c