All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 0/3] Remove inet_lro remnants
@ 2012-11-16 22:40 Ben Hutchings
  2012-11-16 22:44 ` [PATCH net-next 1/3] mlx4_en: Remove remnants of LRO support Ben Hutchings
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Ben Hutchings @ 2012-11-16 22:40 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Eric Dumazet

Eric's comments on LRO/GRO conversion prompted me to check what was
still using inet_lro.  Not very many drivers, but there are a few
unnecessary references outside the code.

Ben.

Ben Hutchings (3):
  mlx4_en: Remove remnants of LRO support
  ehea: Remove remnants of LRO support
  net: Remove bogus dependencies on INET

 drivers/net/ethernet/chelsio/Kconfig         |    4 ++--
 drivers/net/ethernet/cisco/Kconfig           |    2 +-
 drivers/net/ethernet/cisco/enic/Kconfig      |    2 +-
 drivers/net/ethernet/emulex/Kconfig          |    2 +-
 drivers/net/ethernet/emulex/benet/Kconfig    |    2 +-
 drivers/net/ethernet/ibm/Kconfig             |    5 ++---
 drivers/net/ethernet/ibm/ehea/ehea_main.c    |    2 +-
 drivers/net/ethernet/intel/Kconfig           |    2 +-
 drivers/net/ethernet/mellanox/Kconfig        |    2 +-
 drivers/net/ethernet/mellanox/mlx4/Kconfig   |    3 +--
 drivers/net/ethernet/mellanox/mlx4/en_rx.c   |    9 +++------
 drivers/net/ethernet/mellanox/mlx4/mlx4_en.h |   17 -----------------
 drivers/net/ethernet/neterion/Kconfig        |    2 +-
 drivers/net/ethernet/sfc/Kconfig             |    2 +-
 14 files changed, 17 insertions(+), 39 deletions(-)

-- 
1.7.7.6


-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH net-next 1/3] mlx4_en: Remove remnants of LRO support
  2012-11-16 22:40 [PATCH net-next 0/3] Remove inet_lro remnants Ben Hutchings
@ 2012-11-16 22:44 ` Ben Hutchings
  2012-11-18  9:03   ` Amir Vadai
  2012-11-16 22:46 ` [PATCH net-next 2/3] ehea: " Ben Hutchings
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Ben Hutchings @ 2012-11-16 22:44 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Eric Dumazet, Or Gerlitz, Roland Dreier

Commit fa37a9586f92051de03a13e55e5ec3880bb6783e ('mlx4_en: Moving to
work with GRO') left behind the Kconfig depends/select, some dead
code and comments referring to LRO.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---
The check for GRO eligibility in mlx4_en_process_rx_cq() should also be
redundant, but I didn't touch it.

Ben.

 drivers/net/ethernet/mellanox/mlx4/Kconfig   |    3 +--
 drivers/net/ethernet/mellanox/mlx4/en_rx.c   |    9 +++------
 drivers/net/ethernet/mellanox/mlx4/mlx4_en.h |   17 -----------------
 3 files changed, 4 insertions(+), 25 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx4/Kconfig b/drivers/net/ethernet/mellanox/mlx4/Kconfig
index 5f027f9..eb520ab 100644
--- a/drivers/net/ethernet/mellanox/mlx4/Kconfig
+++ b/drivers/net/ethernet/mellanox/mlx4/Kconfig
@@ -4,9 +4,8 @@
 
 config MLX4_EN
 	tristate "Mellanox Technologies 10Gbit Ethernet support"
-	depends on PCI && INET
+	depends on PCI
 	select MLX4_CORE
-	select INET_LRO
 	---help---
 	  This driver supports Mellanox Technologies ConnectX Ethernet
 	  devices.
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
index 5aba5ec..f76c967 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
@@ -630,7 +630,7 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
 			if ((cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPOK)) &&
 			    (cqe->checksum == cpu_to_be16(0xffff))) {
 				ring->csum_ok++;
-				/* This packet is eligible for LRO if it is:
+				/* This packet is eligible for GRO if it is:
 				 * - DIX Ethernet (type interpretation)
 				 * - TCP/IP (v4)
 				 * - without IP options
@@ -667,7 +667,7 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
 					goto next;
 				}
 
-				/* LRO not possible, complete processing here */
+				/* GRO not possible, complete processing here */
 				ip_summed = CHECKSUM_UNNECESSARY;
 			} else {
 				ip_summed = CHECKSUM_NONE;
@@ -710,11 +710,8 @@ next:
 		++cq->mcq.cons_index;
 		index = (cq->mcq.cons_index) & ring->size_mask;
 		cqe = &cq->buf[index];
-		if (++polled == budget) {
-			/* We are here because we reached the NAPI budget -
-			 * flush only pending LRO sessions */
+		if (++polled == budget)
 			goto out;
-		}
 	}
 
 out:
diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
index 9d27e42..1809a8b 100644
--- a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
+++ b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
@@ -95,8 +95,6 @@
 #define MLX4_EN_ALLOC_SIZE	PAGE_ALIGN(16384)
 #define MLX4_EN_ALLOC_ORDER	get_order(MLX4_EN_ALLOC_SIZE)
 
-#define MLX4_EN_MAX_LRO_DESCRIPTORS	32
-
 /* Receive fragment sizes; we use at most 4 fragments (for 9600 byte MTU
  * and 4K allocations) */
 enum {
@@ -290,21 +288,6 @@ struct mlx4_en_rx_ring {
 	unsigned long csum_none;
 };
 
-
-static inline int mlx4_en_can_lro(__be16 status)
-{
-	return (status & cpu_to_be16(MLX4_CQE_STATUS_IPV4	|
-				     MLX4_CQE_STATUS_IPV4F	|
-				     MLX4_CQE_STATUS_IPV6	|
-				     MLX4_CQE_STATUS_IPV4OPT	|
-				     MLX4_CQE_STATUS_TCP	|
-				     MLX4_CQE_STATUS_UDP	|
-				     MLX4_CQE_STATUS_IPOK)) ==
-		cpu_to_be16(MLX4_CQE_STATUS_IPV4 |
-			    MLX4_CQE_STATUS_IPOK |
-			    MLX4_CQE_STATUS_TCP);
-}
-
 struct mlx4_en_cq {
 	struct mlx4_cq          mcq;
 	struct mlx4_hwq_resources wqres;
-- 
1.7.7.6



-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net-next 2/3] ehea: Remove remnants of LRO support
  2012-11-16 22:40 [PATCH net-next 0/3] Remove inet_lro remnants Ben Hutchings
  2012-11-16 22:44 ` [PATCH net-next 1/3] mlx4_en: Remove remnants of LRO support Ben Hutchings
@ 2012-11-16 22:46 ` Ben Hutchings
  2012-11-16 22:47 ` [PATCH net-next 3/3] net: Remove bogus dependencies on INET Ben Hutchings
  2012-11-20  0:14 ` [PATCH net-next 0/3] Remove inet_lro remnants David Miller
  3 siblings, 0 replies; 7+ messages in thread
From: Ben Hutchings @ 2012-11-16 22:46 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Eric Dumazet, Thadeu Lima de Souza Cascardo

Commit 2cb1deb56f5bf413da83491e0cb5a0474393c8ef ('ehea: Remove LRO
support') left behind the Kconfig depends/select and feature flag.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---
This is not even compile-tested, as I don't have a suitable
cross-compiler to hand.

Ben.

 drivers/net/ethernet/ibm/Kconfig          |    5 ++---
 drivers/net/ethernet/ibm/ehea/ehea_main.c |    2 +-
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/ibm/Kconfig b/drivers/net/ethernet/ibm/Kconfig
index b9773d2..6529d31 100644
--- a/drivers/net/ethernet/ibm/Kconfig
+++ b/drivers/net/ethernet/ibm/Kconfig
@@ -6,7 +6,7 @@ config NET_VENDOR_IBM
 	bool "IBM devices"
 	default y
 	depends on MCA || PPC_PSERIES || PPC_PSERIES || PPC_DCR || \
-		   (IBMEBUS && INET && SPARSEMEM)
+		   (IBMEBUS && SPARSEMEM)
 	---help---
 	  If you have a network (Ethernet) card belonging to this class, say Y
 	  and read the Ethernet-HOWTO, available from
@@ -33,8 +33,7 @@ source "drivers/net/ethernet/ibm/emac/Kconfig"
 
 config EHEA
 	tristate "eHEA Ethernet support"
-	depends on IBMEBUS && INET && SPARSEMEM
-	select INET_LRO
+	depends on IBMEBUS && SPARSEMEM
 	---help---
 	  This driver supports the IBM pSeries eHEA ethernet adapter.
 
diff --git a/drivers/net/ethernet/ibm/ehea/ehea_main.c b/drivers/net/ethernet/ibm/ehea/ehea_main.c
index f4d2da0..09faf33 100644
--- a/drivers/net/ethernet/ibm/ehea/ehea_main.c
+++ b/drivers/net/ethernet/ibm/ehea/ehea_main.c
@@ -3028,7 +3028,7 @@ static struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter,
 	ehea_set_ethtool_ops(dev);
 
 	dev->hw_features = NETIF_F_SG | NETIF_F_TSO
-		      | NETIF_F_IP_CSUM | NETIF_F_HW_VLAN_TX | NETIF_F_LRO;
+		      | NETIF_F_IP_CSUM | NETIF_F_HW_VLAN_TX;
 	dev->features = NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_TSO
 		      | NETIF_F_HIGHDMA | NETIF_F_IP_CSUM | NETIF_F_HW_VLAN_TX
 		      | NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_FILTER
-- 
1.7.7.6



-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net-next 3/3] net: Remove bogus dependencies on INET
  2012-11-16 22:40 [PATCH net-next 0/3] Remove inet_lro remnants Ben Hutchings
  2012-11-16 22:44 ` [PATCH net-next 1/3] mlx4_en: Remove remnants of LRO support Ben Hutchings
  2012-11-16 22:46 ` [PATCH net-next 2/3] ehea: " Ben Hutchings
@ 2012-11-16 22:47 ` Ben Hutchings
  2012-11-20  0:14 ` [PATCH net-next 0/3] Remove inet_lro remnants David Miller
  3 siblings, 0 replies; 7+ messages in thread
From: Ben Hutchings @ 2012-11-16 22:47 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Eric Dumazet

Various drivers depend on INET because they used to select INET_LRO,
but they have all been converted to use GRO which has no such
dependency.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---
Compile-tested with INET disabled.

Ben.

 drivers/net/ethernet/chelsio/Kconfig      |    4 ++--
 drivers/net/ethernet/cisco/Kconfig        |    2 +-
 drivers/net/ethernet/cisco/enic/Kconfig   |    2 +-
 drivers/net/ethernet/emulex/Kconfig       |    2 +-
 drivers/net/ethernet/emulex/benet/Kconfig |    2 +-
 drivers/net/ethernet/intel/Kconfig        |    2 +-
 drivers/net/ethernet/mellanox/Kconfig     |    2 +-
 drivers/net/ethernet/neterion/Kconfig     |    2 +-
 drivers/net/ethernet/sfc/Kconfig          |    2 +-
 9 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/net/ethernet/chelsio/Kconfig b/drivers/net/ethernet/chelsio/Kconfig
index 2de50f9..a71c0f3 100644
--- a/drivers/net/ethernet/chelsio/Kconfig
+++ b/drivers/net/ethernet/chelsio/Kconfig
@@ -5,7 +5,7 @@
 config NET_VENDOR_CHELSIO
 	bool "Chelsio devices"
 	default y
-	depends on PCI || INET
+	depends on PCI
 	---help---
 	  If you have a network (Ethernet) card belonging to this class, say Y
 	  and read the Ethernet-HOWTO, available from
@@ -48,7 +48,7 @@ config CHELSIO_T1_1G
 
 config CHELSIO_T3
 	tristate "Chelsio Communications T3 10Gb Ethernet support"
-	depends on PCI && INET
+	depends on PCI
 	select FW_LOADER
 	select MDIO
 	---help---
diff --git a/drivers/net/ethernet/cisco/Kconfig b/drivers/net/ethernet/cisco/Kconfig
index 94606f7..1c7b884 100644
--- a/drivers/net/ethernet/cisco/Kconfig
+++ b/drivers/net/ethernet/cisco/Kconfig
@@ -5,7 +5,7 @@
 config NET_VENDOR_CISCO
 	bool "Cisco devices"
 	default y
-	depends on PCI && INET
+	depends on PCI
 	---help---
 	  If you have a network (Ethernet) card belonging to this class, say Y
 	  and read the Ethernet-HOWTO, available from
diff --git a/drivers/net/ethernet/cisco/enic/Kconfig b/drivers/net/ethernet/cisco/enic/Kconfig
index 9cc706a..b63f8d8 100644
--- a/drivers/net/ethernet/cisco/enic/Kconfig
+++ b/drivers/net/ethernet/cisco/enic/Kconfig
@@ -4,6 +4,6 @@
 
 config ENIC
 	tristate "Cisco VIC Ethernet NIC Support"
-	depends on PCI && INET
+	depends on PCI
 	---help---
 	  This enables the support for the Cisco VIC Ethernet card.
diff --git a/drivers/net/ethernet/emulex/Kconfig b/drivers/net/ethernet/emulex/Kconfig
index 7a28a64..1b8d638 100644
--- a/drivers/net/ethernet/emulex/Kconfig
+++ b/drivers/net/ethernet/emulex/Kconfig
@@ -5,7 +5,7 @@
 config NET_VENDOR_EMULEX
 	bool "Emulex devices"
 	default y
-	depends on PCI && INET
+	depends on PCI
 	---help---
 	  If you have a network (Ethernet) card belonging to this class, say Y
 	  and read the Ethernet-HOWTO, available from
diff --git a/drivers/net/ethernet/emulex/benet/Kconfig b/drivers/net/ethernet/emulex/benet/Kconfig
index 804db04..231129d 100644
--- a/drivers/net/ethernet/emulex/benet/Kconfig
+++ b/drivers/net/ethernet/emulex/benet/Kconfig
@@ -1,6 +1,6 @@
 config BE2NET
 	tristate "ServerEngines' 10Gbps NIC - BladeEngine"
-	depends on PCI && INET
+	depends on PCI
 	---help---
 	  This driver implements the NIC functionality for ServerEngines'
 	  10Gbps network adapter - BladeEngine.
diff --git a/drivers/net/ethernet/intel/Kconfig b/drivers/net/ethernet/intel/Kconfig
index 73d28d5..ddee406 100644
--- a/drivers/net/ethernet/intel/Kconfig
+++ b/drivers/net/ethernet/intel/Kconfig
@@ -166,7 +166,7 @@ config IXGB
 
 config IXGBE
 	tristate "Intel(R) 10GbE PCI Express adapters support"
-	depends on PCI && INET
+	depends on PCI
 	select MDIO
 	select PTP_1588_CLOCK
 	---help---
diff --git a/drivers/net/ethernet/mellanox/Kconfig b/drivers/net/ethernet/mellanox/Kconfig
index d8099a7..bcdbc14 100644
--- a/drivers/net/ethernet/mellanox/Kconfig
+++ b/drivers/net/ethernet/mellanox/Kconfig
@@ -5,7 +5,7 @@
 config NET_VENDOR_MELLANOX
 	bool "Mellanox devices"
 	default y
-	depends on PCI && INET
+	depends on PCI
 	---help---
 	  If you have a network (Ethernet) card belonging to this class, say Y
 	  and read the Ethernet-HOWTO, available from
diff --git a/drivers/net/ethernet/neterion/Kconfig b/drivers/net/ethernet/neterion/Kconfig
index ff26b54..87abb4f 100644
--- a/drivers/net/ethernet/neterion/Kconfig
+++ b/drivers/net/ethernet/neterion/Kconfig
@@ -32,7 +32,7 @@ config S2IO
 
 config VXGE
 	tristate "Exar X3100 Series 10GbE PCIe Server Adapter"
-	depends on PCI && INET
+	depends on PCI
 	---help---
 	  This driver supports Exar Corp's X3100 Series 10 GbE PCIe
 	  I/O Virtualized Server Adapter.
diff --git a/drivers/net/ethernet/sfc/Kconfig b/drivers/net/ethernet/sfc/Kconfig
index fb3cbc2..059e5e9 100644
--- a/drivers/net/ethernet/sfc/Kconfig
+++ b/drivers/net/ethernet/sfc/Kconfig
@@ -1,6 +1,6 @@
 config SFC
 	tristate "Solarflare SFC4000/SFC9000-family support"
-	depends on PCI && INET
+	depends on PCI
 	select MDIO
 	select CRC32
 	select I2C
-- 
1.7.7.6


-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH net-next 1/3] mlx4_en: Remove remnants of LRO support
  2012-11-16 22:44 ` [PATCH net-next 1/3] mlx4_en: Remove remnants of LRO support Ben Hutchings
@ 2012-11-18  9:03   ` Amir Vadai
  2012-11-18  9:09     ` Amir Vadai
  0 siblings, 1 reply; 7+ messages in thread
From: Amir Vadai @ 2012-11-18  9:03 UTC (permalink / raw)
  To: Ben Hutchings
  Cc: David Miller, netdev, Eric Dumazet, Or Gerlitz, Roland Dreier

Acked-by: Amir Vadai <amirv@mellanox.com>

On Sat, Nov 17, 2012 at 12:44 AM, Ben Hutchings
<bhutchings@solarflare.com> wrote:
> Commit fa37a9586f92051de03a13e55e5ec3880bb6783e ('mlx4_en: Moving to
> work with GRO') left behind the Kconfig depends/select, some dead
> code and comments referring to LRO.
>
> Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
> ---
> The check for GRO eligibility in mlx4_en_process_rx_cq() should also be
> redundant, but I didn't touch it.
>
> Ben.
>
>  drivers/net/ethernet/mellanox/mlx4/Kconfig   |    3 +--
>  drivers/net/ethernet/mellanox/mlx4/en_rx.c   |    9 +++------
>  drivers/net/ethernet/mellanox/mlx4/mlx4_en.h |   17 -----------------
>  3 files changed, 4 insertions(+), 25 deletions(-)
>
> diff --git a/drivers/net/ethernet/mellanox/mlx4/Kconfig b/drivers/net/ethernet/mellanox/mlx4/Kconfig
> index 5f027f9..eb520ab 100644
> --- a/drivers/net/ethernet/mellanox/mlx4/Kconfig
> +++ b/drivers/net/ethernet/mellanox/mlx4/Kconfig
> @@ -4,9 +4,8 @@
>
>  config MLX4_EN
>         tristate "Mellanox Technologies 10Gbit Ethernet support"
> -       depends on PCI && INET
> +       depends on PCI
>         select MLX4_CORE
> -       select INET_LRO
>         ---help---
>           This driver supports Mellanox Technologies ConnectX Ethernet
>           devices.
> diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
> index 5aba5ec..f76c967 100644
> --- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c
> +++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
> @@ -630,7 +630,7 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
>                         if ((cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPOK)) &&
>                             (cqe->checksum == cpu_to_be16(0xffff))) {
>                                 ring->csum_ok++;
> -                               /* This packet is eligible for LRO if it is:
> +                               /* This packet is eligible for GRO if it is:
>                                  * - DIX Ethernet (type interpretation)
>                                  * - TCP/IP (v4)
>                                  * - without IP options
> @@ -667,7 +667,7 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
>                                         goto next;
>                                 }
>
> -                               /* LRO not possible, complete processing here */
> +                               /* GRO not possible, complete processing here */
>                                 ip_summed = CHECKSUM_UNNECESSARY;
>                         } else {
>                                 ip_summed = CHECKSUM_NONE;
> @@ -710,11 +710,8 @@ next:
>                 ++cq->mcq.cons_index;
>                 index = (cq->mcq.cons_index) & ring->size_mask;
>                 cqe = &cq->buf[index];
> -               if (++polled == budget) {
> -                       /* We are here because we reached the NAPI budget -
> -                        * flush only pending LRO sessions */
> +               if (++polled == budget)
>                         goto out;
> -               }
>         }
>
>  out:
> diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
> index 9d27e42..1809a8b 100644
> --- a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
> +++ b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
> @@ -95,8 +95,6 @@
>  #define MLX4_EN_ALLOC_SIZE     PAGE_ALIGN(16384)
>  #define MLX4_EN_ALLOC_ORDER    get_order(MLX4_EN_ALLOC_SIZE)
>
> -#define MLX4_EN_MAX_LRO_DESCRIPTORS    32
> -
>  /* Receive fragment sizes; we use at most 4 fragments (for 9600 byte MTU
>   * and 4K allocations) */
>  enum {
> @@ -290,21 +288,6 @@ struct mlx4_en_rx_ring {
>         unsigned long csum_none;
>  };
>
> -
> -static inline int mlx4_en_can_lro(__be16 status)
> -{
> -       return (status & cpu_to_be16(MLX4_CQE_STATUS_IPV4       |
> -                                    MLX4_CQE_STATUS_IPV4F      |
> -                                    MLX4_CQE_STATUS_IPV6       |
> -                                    MLX4_CQE_STATUS_IPV4OPT    |
> -                                    MLX4_CQE_STATUS_TCP        |
> -                                    MLX4_CQE_STATUS_UDP        |
> -                                    MLX4_CQE_STATUS_IPOK)) ==
> -               cpu_to_be16(MLX4_CQE_STATUS_IPV4 |
> -                           MLX4_CQE_STATUS_IPOK |
> -                           MLX4_CQE_STATUS_TCP);
> -}
> -
>  struct mlx4_en_cq {
>         struct mlx4_cq          mcq;
>         struct mlx4_hwq_resources wqres;
> --
> 1.7.7.6
>
>
>
> --
> Ben Hutchings, Staff Engineer, Solarflare
> Not speaking for my employer; that's the marketing department's job.
> They asked us to note that Solarflare product names are trademarked.
>
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH net-next 1/3] mlx4_en: Remove remnants of LRO support
  2012-11-18  9:03   ` Amir Vadai
@ 2012-11-18  9:09     ` Amir Vadai
  0 siblings, 0 replies; 7+ messages in thread
From: Amir Vadai @ 2012-11-18  9:09 UTC (permalink / raw)
  To: Amir Vadai
  Cc: Ben Hutchings, David Miller, netdev, Eric Dumazet, Or Gerlitz,
	Roland Dreier

I will also look at the checks in mlx4_en_process_rx_cq() as you suggested.

Amir.

On Sun, Nov 18, 2012 at 11:03 AM, Amir Vadai <amirv@mellanox.com> wrote:
> Acked-by: Amir Vadai <amirv@mellanox.com>
>
> On Sat, Nov 17, 2012 at 12:44 AM, Ben Hutchings
> <bhutchings@solarflare.com> wrote:
>> Commit fa37a9586f92051de03a13e55e5ec3880bb6783e ('mlx4_en: Moving to
>> work with GRO') left behind the Kconfig depends/select, some dead
>> code and comments referring to LRO.
>>
>> Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
>> ---
>> The check for GRO eligibility in mlx4_en_process_rx_cq() should also be
>> redundant, but I didn't touch it.
>>
>> Ben.
>>
>>  drivers/net/ethernet/mellanox/mlx4/Kconfig   |    3 +--
>>  drivers/net/ethernet/mellanox/mlx4/en_rx.c   |    9 +++------
>>  drivers/net/ethernet/mellanox/mlx4/mlx4_en.h |   17 -----------------
>>  3 files changed, 4 insertions(+), 25 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/mellanox/mlx4/Kconfig b/drivers/net/ethernet/mellanox/mlx4/Kconfig
>> index 5f027f9..eb520ab 100644
>> --- a/drivers/net/ethernet/mellanox/mlx4/Kconfig
>> +++ b/drivers/net/ethernet/mellanox/mlx4/Kconfig
>> @@ -4,9 +4,8 @@
>>
>>  config MLX4_EN
>>         tristate "Mellanox Technologies 10Gbit Ethernet support"
>> -       depends on PCI && INET
>> +       depends on PCI
>>         select MLX4_CORE
>> -       select INET_LRO
>>         ---help---
>>           This driver supports Mellanox Technologies ConnectX Ethernet
>>           devices.
>> diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
>> index 5aba5ec..f76c967 100644
>> --- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c
>> +++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
>> @@ -630,7 +630,7 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
>>                         if ((cqe->status & cpu_to_be16(MLX4_CQE_STATUS_IPOK)) &&
>>                             (cqe->checksum == cpu_to_be16(0xffff))) {
>>                                 ring->csum_ok++;
>> -                               /* This packet is eligible for LRO if it is:
>> +                               /* This packet is eligible for GRO if it is:
>>                                  * - DIX Ethernet (type interpretation)
>>                                  * - TCP/IP (v4)
>>                                  * - without IP options
>> @@ -667,7 +667,7 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud
>>                                         goto next;
>>                                 }
>>
>> -                               /* LRO not possible, complete processing here */
>> +                               /* GRO not possible, complete processing here */
>>                                 ip_summed = CHECKSUM_UNNECESSARY;
>>                         } else {
>>                                 ip_summed = CHECKSUM_NONE;
>> @@ -710,11 +710,8 @@ next:
>>                 ++cq->mcq.cons_index;
>>                 index = (cq->mcq.cons_index) & ring->size_mask;
>>                 cqe = &cq->buf[index];
>> -               if (++polled == budget) {
>> -                       /* We are here because we reached the NAPI budget -
>> -                        * flush only pending LRO sessions */
>> +               if (++polled == budget)
>>                         goto out;
>> -               }
>>         }
>>
>>  out:
>> diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
>> index 9d27e42..1809a8b 100644
>> --- a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
>> +++ b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
>> @@ -95,8 +95,6 @@
>>  #define MLX4_EN_ALLOC_SIZE     PAGE_ALIGN(16384)
>>  #define MLX4_EN_ALLOC_ORDER    get_order(MLX4_EN_ALLOC_SIZE)
>>
>> -#define MLX4_EN_MAX_LRO_DESCRIPTORS    32
>> -
>>  /* Receive fragment sizes; we use at most 4 fragments (for 9600 byte MTU
>>   * and 4K allocations) */
>>  enum {
>> @@ -290,21 +288,6 @@ struct mlx4_en_rx_ring {
>>         unsigned long csum_none;
>>  };
>>
>> -
>> -static inline int mlx4_en_can_lro(__be16 status)
>> -{
>> -       return (status & cpu_to_be16(MLX4_CQE_STATUS_IPV4       |
>> -                                    MLX4_CQE_STATUS_IPV4F      |
>> -                                    MLX4_CQE_STATUS_IPV6       |
>> -                                    MLX4_CQE_STATUS_IPV4OPT    |
>> -                                    MLX4_CQE_STATUS_TCP        |
>> -                                    MLX4_CQE_STATUS_UDP        |
>> -                                    MLX4_CQE_STATUS_IPOK)) ==
>> -               cpu_to_be16(MLX4_CQE_STATUS_IPV4 |
>> -                           MLX4_CQE_STATUS_IPOK |
>> -                           MLX4_CQE_STATUS_TCP);
>> -}
>> -
>>  struct mlx4_en_cq {
>>         struct mlx4_cq          mcq;
>>         struct mlx4_hwq_resources wqres;
>> --
>> 1.7.7.6
>>
>>
>>
>> --
>> Ben Hutchings, Staff Engineer, Solarflare
>> Not speaking for my employer; that's the marketing department's job.
>> They asked us to note that Solarflare product names are trademarked.
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe netdev" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH net-next 0/3] Remove inet_lro remnants
  2012-11-16 22:40 [PATCH net-next 0/3] Remove inet_lro remnants Ben Hutchings
                   ` (2 preceding siblings ...)
  2012-11-16 22:47 ` [PATCH net-next 3/3] net: Remove bogus dependencies on INET Ben Hutchings
@ 2012-11-20  0:14 ` David Miller
  3 siblings, 0 replies; 7+ messages in thread
From: David Miller @ 2012-11-20  0:14 UTC (permalink / raw)
  To: bhutchings; +Cc: netdev, eric.dumazet

From: Ben Hutchings <bhutchings@solarflare.com>
Date: Fri, 16 Nov 2012 22:40:35 +0000

> Eric's comments on LRO/GRO conversion prompted me to check what was
> still using inet_lro.  Not very many drivers, but there are a few
> unnecessary references outside the code.

Series applied, thanks Ben.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-11-20  0:14 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-16 22:40 [PATCH net-next 0/3] Remove inet_lro remnants Ben Hutchings
2012-11-16 22:44 ` [PATCH net-next 1/3] mlx4_en: Remove remnants of LRO support Ben Hutchings
2012-11-18  9:03   ` Amir Vadai
2012-11-18  9:09     ` Amir Vadai
2012-11-16 22:46 ` [PATCH net-next 2/3] ehea: " Ben Hutchings
2012-11-16 22:47 ` [PATCH net-next 3/3] net: Remove bogus dependencies on INET Ben Hutchings
2012-11-20  0:14 ` [PATCH net-next 0/3] Remove inet_lro remnants David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.