staging: fsl-dpaa2/eth: Don't set netdev->needed_headroom
authorIoana Radulescu <ruxandra.radulescu@nxp.com>
Fri, 8 Dec 2017 12:47:54 +0000 (06:47 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Dec 2017 15:33:29 +0000 (16:33 +0100)
commit441851b49a34e13966b316e54cdd9f54d71990ae
tree3560dd1851a5f779a9f799ee0e6452015f8898ff
parent54ce891779888e85a2db04942dbaadd3f40fe223
staging: fsl-dpaa2/eth: Don't set netdev->needed_headroom

Commit 4b2d9fe87950 ("staging: fsl-dpaa2/eth: Extra headroom in RX
buffers") tried to avoid the performance penalty of doing skb
reallocations in the network stack for IP forwarded frames between
two DPAA2 Ethernet interfaces. This led to a (too) complicated
formula that relies on the stack's internal implementation.

Instead, it's safer and easier to just not request any guarantee
from the stack. We already double check in the driver the required
headroom size of egress frames and realloc the skb if needed, so
we don't need to add any extra code.

On forwarding between two of our own interfaces, there is no
functional change; for traffic forwarded from a different device or
generated on the core, skb realloc operations are moved from the stack
to our driver, with no visible impact on performance.

Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c
drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.h