• Eric Dumazet's avatar
    ipv4: Introduce IN_DEV_NET_ROUTE_LOCALNET · 9eb43e76
    Eric Dumazet authored
    performance profiles show a high cost in the IN_DEV_ROUTE_LOCALNET()
    call done in ip_route_input_slow(), because of multiple dereferences,
    even if cache lines are clean and available in cpu caches.
    
    Since we already have the 'net' pointer, introduce
    IN_DEV_NET_ROUTE_LOCALNET() macro avoiding two dereferences
    (dev_net(in_dev->dev))
    
    Also change the tests to use IN_DEV_NET_ROUTE_LOCALNET() only if saddr
    or/and daddr are loopback addresse.
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    9eb43e76
route.c 63.1 KB