bnx2x: enlarge minimal alignemnt of data offset
authorDmitry Kravkov <Dmitry.Kravkov@qlogic.com>
Thu, 26 Jun 2014 11:31:05 +0000 (14:31 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 1 Jul 2014 22:52:29 +0000 (15:52 -0700)
This improves the performance of driver on machine with L1_CACHE_SHIFT of at
most 32 bytes [HW was planned for 64-byte aligned fastpath data].

Signed-off-by: Dmitry Kravkov <Dmitry.Kravkov@qlogic.com>
Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com>
Signed-off-by: Ariel Elior <Ariel.Elior@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnx2x/bnx2x.h

index faf262a0d6c46391071454b88ee97a4e0e63db12..ce8f86966c11eaecc80bca97ecb0eb6a664cd73c 100644 (file)
@@ -1508,8 +1508,10 @@ struct bnx2x {
 /* TCP with Timestamp Option (32) + IPv6 (40) */
 #define ETH_MAX_TPA_HEADER_SIZE                72
 
-       /* Max supported alignment is 256 (8 shift) */
-#define BNX2X_RX_ALIGN_SHIFT           min(8, L1_CACHE_SHIFT)
+       /* Max supported alignment is 256 (8 shift)
+        * minimal alignment shift 6 is optimal for 57xxx HW performance
+        */
+#define BNX2X_RX_ALIGN_SHIFT           max(6, min(8, L1_CACHE_SHIFT))
 
        /* FW uses 2 Cache lines Alignment for start packet and size
         *