• P
    [INET]: Uninline the __inet_hash function. · 152da81d
    Pavel Emelyanov 提交于
    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: NPavel Emelyanov <xemul@openvz.org>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    152da81d
tcp_ipv4.c 61.2 KB