• Eric Dumazet's avatar
    net: make GRO aware of skb->head_frag · d7e8883c
    Eric Dumazet authored
    GRO can check if skb to be merged has its skb->head mapped to a page
    fragment, instead of a kmalloc() area.
    
    We 'upgrade' skb->head as a fragment in itself
    
    This avoids the frag_list fallback, and permits to build true GRO skb
    (one sk_buff and up to 16 fragments), using less memory.
    
    This reduces number of cache misses when user makes its copy, since a
    single sk_buff is fetched.
    
    This is a followup of patch "net: allow skb->head to be a page fragment"
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Cc: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
    Cc: Herbert Xu <herbert@gondor.apana.org.au>
    Cc: Maciej Żenczykowski <maze@google.com>
    Cc: Neal Cardwell <ncardwell@google.com>
    Cc: Tom Herbert <therbert@google.com>
    Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Cc: Ben Hutchings <bhutchings@solarflare.com>
    Cc: Matt Carlson <mcarlson@broadcom.com>
    Cc: Michael Chan <mchan@broadcom.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    d7e8883c
dev.c 161 KB