• Shawn Bohrer's avatar
    net: ipv4 only populate IP_PKTINFO when needed · fbf8866d
    Shawn Bohrer authored
    The since the removal of the routing cache computing
    fib_compute_spec_dst() does a fib_table lookup for each UDP multicast
    packet received.  This has introduced a performance regression for some
    UDP workloads.
    
    This change skips populating the packet info for sockets that do not have
    IP_PKTINFO set.
    
    Benchmark results from a netperf UDP_RR test:
    Before 89789.68 transactions/s
    After  90587.62 transactions/s
    
    Benchmark results from a fio 1 byte UDP multicast pingpong test
    (Multicast one way unicast response):
    Before 12.63us RTT
    After  12.48us RTT
    Signed-off-by: default avatarShawn Bohrer <sbohrer@rgmadvisors.com>
    Acked-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    fbf8866d
ip.h 13.7 KB