ixgbe: Add support for build_skb
authorAlexander Duyck <alexander.h.duyck@intel.com>
Tue, 17 Jan 2017 16:37:13 +0000 (08:37 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 16 Feb 2017 12:02:44 +0000 (04:02 -0800)
commit6f429223b31c550b835b4f066ac034d0cf0cc71e
tree949481a2e46e54ca8fa507df96ce41259dcf12a2
parent2ccdf26ff614dd49b14e76c0c076f5f4e9562e79
ixgbe: Add support for build_skb

This patch adds build_skb support to the Rx path.  There are several
advantages to this change.

1.  It avoids the memcpy and skb->head allocation for small packets which
    improves performance by about 5% in my tests.
2.  It avoids the memcpy, skb->head allocation, and eth_get_headlen
    for larger packets improving performance by about 10% in my tests.
3.  For VXLAN packets it allows the full header to be in skb->data which
    improves the performance by as much as 30% in some of my tests.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c