• Paolo Abeni's avatar
    udp: avoid a cache miss on dequeue · 0a463c78
    Paolo Abeni authored
    Since UDP no more uses sk->destructor, we can clear completely
    the skb head state before enqueuing. Amend and use
    skb_release_head_state() for that.
    
    All head states share a single cacheline, which is not
    normally used/accesses on dequeue. We can avoid entirely accessing
    such cacheline implementing and using in the UDP code a specialized
    skb free helper which ignores the skb head state.
    
    This saves a cacheline miss at skb deallocation time.
    
    v1 -> v2:
      replaced secpath_reset() with skb_release_head_state()
    Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    Acked-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0a463c78
skbuff.c 125 KB