• Eric Dumazet's avatar
    inetpeer: reduce stack usage · 66944e1c
    Eric Dumazet authored
    On 64bit arches, we use 752 bytes of stack when cleanup_once() is called
    from inet_getpeer().
    
    Lets share the avl stack to save ~376 bytes.
    
    Before patch :
    
    # objdump -d net/ipv4/inetpeer.o | scripts/checkstack.pl
    
    0x000006c3 unlink_from_pool [inetpeer.o]:		376
    0x00000721 unlink_from_pool [inetpeer.o]:		376
    0x00000cb1 inet_getpeer [inetpeer.o]:			376
    0x00000e6d inet_getpeer [inetpeer.o]:			376
    0x0004 inet_initpeers [inetpeer.o]:			112
    # size net/ipv4/inetpeer.o
       text	   data	    bss	    dec	    hex	filename
       5320	    432	     21	   5773	   168d	net/ipv4/inetpeer.o
    
    After patch :
    
    objdump -d net/ipv4/inetpeer.o | scripts/checkstack.pl
    0x00000c11 inet_getpeer [inetpeer.o]:			376
    0x00000dcd inet_getpeer [inetpeer.o]:			376
    0x00000ab9 peer_check_expire [inetpeer.o]:		328
    0x00000b7f peer_check_expire [inetpeer.o]:		328
    0x0004 inet_initpeers [inetpeer.o]:			112
    # size net/ipv4/inetpeer.o
       text	   data	    bss	    dec	    hex	filename
       5163	    432	     21	   5616	   15f0	net/ipv4/inetpeer.o
    Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
    Cc: Scot Doyle <lkml@scotdoyle.com>
    Cc: Stephen Hemminger <shemminger@vyatta.com>
    Cc: Hiroaki SHIMODA <shimoda.hiroaki@gmail.com>
    Reviewed-by: default avatarHiroaki SHIMODA <shimoda.hiroaki@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    66944e1c
inetpeer.c 19.2 KB