ice: add build_skb() support
authorMaciej Fijalkowski <maciej.fijalkowski@intel.com>
Thu, 24 Oct 2019 08:11:24 +0000 (01:11 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Mon, 4 Nov 2019 21:09:59 +0000 (13:09 -0800)
commitaaf27254fdf9054c00cf2a9c479a52a16204d768
tree563ee5a13519e8d63903f26796c3dfd5c8cbe325
parent59bb08080557589aaf577a99d329ccea38b55c95
ice: add build_skb() support

Driver is now prepared for building the skb around the existing Rx
buffer, so introduce the ice_build_skb responsible for it. Make use of
XDP's data_meta as well.

I've observed around 30% less CPU consumption with build_skb Rx path, in
comparison to legacy Rx. What stands behind such result is the avoidance
of flow_dissector (which we were diving into via eth_get_headlen) and no
memcpy calls.

Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice_txrx.c