]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mlx4_vnic: set mod param "lro_num" default value to 0 to disable LRO feature
authorQing Huang <qing.huang@oracle.com>
Wed, 18 Feb 2015 19:39:05 +0000 (11:39 -0800)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 7 Jul 2015 21:58:50 +0000 (14:58 -0700)
Three reasons for us to disable Large Receive Offload in
uek4/vnic driver

1. Some of vnic required LRO related kernel code has been removed
   from upstream by commit# 24245a1b055df246dc94517c1a8b1fdfe7668da0

2. uek4/vnic has better performance on bare metal than uek3/vnic
   (with LRO support) when running iperf/tcp

3. LRO has potential performance impact on TCP in virtualized
   environment

Signed-off-by: Qing Huang <qing.huang@oracle.com>
drivers/net/ethernet/mellanox/mlx4_vnic/vnic_data_ib.c
drivers/net/ethernet/mellanox/mlx4_vnic/vnic_param.c

index ba6e93bb85ce9b88a7cac3b42e48d8952d733002..0c3e6184210cfb0d2dee8cb70d6397b16d280871 100644 (file)
@@ -516,6 +516,9 @@ static void vnic_ib_handle_rx_wc(struct vnic_login *login,
 
                /* processed for LRO */
 #if defined(CONFIG_COMPAT_LRO_ENABLED)
+               /* need complete LRO support code from either mlxn ofed or
+                * stock linux kernel
+                */
                lro_receive_frags(&rx_res->lro, frags, packet_length,
                                  packet_length, NULL, 0);
 #endif
index 56751aa7527400e96fa81d2c79dacc302d703aae..6cbf3a1575f16b20c764c471016d8320ecb21790 100644 (file)
@@ -33,7 +33,7 @@
 #include "vnic.h"
 #include "vnic_fip.h"
 
-u32 vnic_lro_num = VNIC_MAX_LRO_DESCS;
+u32 vnic_lro_num;
 u32 vnic_net_admin = 1;
 u32 vnic_child_max = VNIC_CHILD_MAX;
 u32 vnic_tx_rings_num = 0;
@@ -119,7 +119,7 @@ MODULE_PARM_DESC(sa_query, "Query SA for each IB address and ignore gateway assi
 
 #if !(defined(NETIF_F_GRO) && !defined(_BP_NO_GRO))
 module_param_named(lro_num, vnic_lro_num, int, 0444);
-MODULE_PARM_DESC(lro_num, "Number of LRO sessions per ring, use 0 to disable [default 32, max 32]");
+MODULE_PARM_DESC(lro_num, "Number of LRO sessions per ring, use 0 to disable [default 0, max 32]");
 #endif
 
 #ifdef CONFIG_MLX4_VNIC_DEBUG