All of lore.kernel.org
 help / color / mirror / Atom feed
* [net 0/3][pull request] Intel Wired LAN Driver Updates
@ 2012-10-09 10:13 Jeff Kirsher
  2012-10-09 10:13 ` [net 1/3] ixgbevf: Set the netdev number of Tx queues Jeff Kirsher
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Jeff Kirsher @ 2012-10-09 10:13 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to ixgbe, ixgbevf and e1000e.

The following are changes since commit 66eef59f22275002f621ff9d951886b513d011b3:
  net: fix typo in freescale/ucc_geth.c
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net master

Alexander Duyck (1):
  ixgbe/ixgbevf: Limit maximum jumbo frame size to 9.5K to avoid Tx
    hangs

Bruce Allan (1):
  e1000e: add device IDs for i218

Greg Rose (1):
  ixgbevf: Set the netdev number of Tx queues

 drivers/net/ethernet/intel/e1000e/hw.h            | 2 ++
 drivers/net/ethernet/intel/e1000e/netdev.c        | 2 ++
 drivers/net/ethernet/intel/ixgbe/ixgbe.h          | 2 +-
 drivers/net/ethernet/intel/ixgbevf/ixgbevf.h      | 2 +-
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 7 +++++++
 5 files changed, 13 insertions(+), 2 deletions(-)

-- 
1.7.11.4

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

* [net 1/3] ixgbevf: Set the netdev number of Tx queues
  2012-10-09 10:13 [net 0/3][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
@ 2012-10-09 10:13 ` Jeff Kirsher
  2012-10-09 10:13 ` [net 2/3] ixgbe/ixgbevf: Limit maximum jumbo frame size to 9.5K to avoid Tx hangs Jeff Kirsher
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Jeff Kirsher @ 2012-10-09 10:13 UTC (permalink / raw)
  To: davem; +Cc: Greg Rose, netdev, gospo, sassmann, Jeff Kirsher

From: Greg Rose <gregory.v.rose@intel.com>

The driver was not setting the number of real Tx queues in the net_device
structure.  This caused some serious issues such as Tx hangs and extremely
poor performance with some usages of the driver.

The issue is best observed by running:

iperf -c <host> -P <n>

Where n is greater than one.  The greater the value of n the more likely
the problem is to show up.

Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index 0ee9bd4..de1ad50 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
@@ -1747,6 +1747,7 @@ err_tx_ring_allocation:
  **/
 static int ixgbevf_set_interrupt_capability(struct ixgbevf_adapter *adapter)
 {
+	struct net_device *netdev = adapter->netdev;
 	int err = 0;
 	int vector, v_budget;
 
@@ -1775,6 +1776,12 @@ static int ixgbevf_set_interrupt_capability(struct ixgbevf_adapter *adapter)
 
 	ixgbevf_acquire_msix_vectors(adapter, v_budget);
 
+	err = netif_set_real_num_tx_queues(netdev, adapter->num_tx_queues);
+	if (err)
+		goto out;
+
+	err = netif_set_real_num_rx_queues(netdev, adapter->num_rx_queues);
+
 out:
 	return err;
 }
-- 
1.7.11.4

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

* [net 2/3] ixgbe/ixgbevf: Limit maximum jumbo frame size to 9.5K to avoid Tx hangs
  2012-10-09 10:13 [net 0/3][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
  2012-10-09 10:13 ` [net 1/3] ixgbevf: Set the netdev number of Tx queues Jeff Kirsher
@ 2012-10-09 10:13 ` Jeff Kirsher
  2012-10-09 10:13 ` [net 3/3] e1000e: add device IDs for i218 Jeff Kirsher
  2012-10-09 16:51 ` [net 0/3][pull request] Intel Wired LAN Driver Updates David Miller
  3 siblings, 0 replies; 5+ messages in thread
From: Jeff Kirsher @ 2012-10-09 10:13 UTC (permalink / raw)
  To: davem; +Cc: Alexander Duyck, netdev, gospo, sassmann, Jeff Kirsher

From: Alexander Duyck <alexander.h.duyck@intel.com>

This change limits the PF/VF driver to 9.5K max jumbo frame size in order
prevent a possible Tx hang in the adapter when sending frames between
pools.

All of the parts in ixgbe support a maximum frame of 15.5K for standard
traffic, however with SR-IOV or DCB enabled they should be limiting the
MTU size to 9.5K.  Instead of adding extra checks which would have to
change the MTU when we go into or out of these modes it is preferred to
just use a standard 9.5K MTU limit for all modes so that this extra
overhead can be avoided.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe.h     | 2 +-
 drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe.h b/drivers/net/ethernet/intel/ixgbe/ixgbe.h
index 5bd2676..30efc9f 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe.h
@@ -410,7 +410,7 @@ static inline u16 ixgbe_desc_unused(struct ixgbe_ring *ring)
 #define IXGBE_TX_CTXTDESC(R, i)	    \
 	(&(((struct ixgbe_adv_tx_context_desc *)((R)->desc))[i]))
 
-#define IXGBE_MAX_JUMBO_FRAME_SIZE        16128
+#define IXGBE_MAX_JUMBO_FRAME_SIZE	9728 /* Maximum Supported Size 9.5KB */
 #ifdef IXGBE_FCOE
 /* Use 3K as the baby jumbo frame size for FCoE */
 #define IXGBE_FCOE_JUMBO_FRAME_SIZE       3072
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h b/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
index 383b4e1..4a9c9c2 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
@@ -175,7 +175,7 @@ struct ixgbevf_q_vector {
 #define IXGBEVF_TX_CTXTDESC(R, i)	    \
 	(&(((struct ixgbe_adv_tx_context_desc *)((R)->desc))[i]))
 
-#define IXGBE_MAX_JUMBO_FRAME_SIZE        16128
+#define IXGBE_MAX_JUMBO_FRAME_SIZE	9728 /* Maximum Supported Size 9.5KB */
 
 #define OTHER_VECTOR 1
 #define NON_Q_VECTORS (OTHER_VECTOR)
-- 
1.7.11.4

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

* [net 3/3] e1000e: add device IDs for i218
  2012-10-09 10:13 [net 0/3][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
  2012-10-09 10:13 ` [net 1/3] ixgbevf: Set the netdev number of Tx queues Jeff Kirsher
  2012-10-09 10:13 ` [net 2/3] ixgbe/ixgbevf: Limit maximum jumbo frame size to 9.5K to avoid Tx hangs Jeff Kirsher
@ 2012-10-09 10:13 ` Jeff Kirsher
  2012-10-09 16:51 ` [net 0/3][pull request] Intel Wired LAN Driver Updates David Miller
  3 siblings, 0 replies; 5+ messages in thread
From: Jeff Kirsher @ 2012-10-09 10:13 UTC (permalink / raw)
  To: davem; +Cc: Bruce Allan, netdev, gospo, sassmann, Jeff Kirsher

From: Bruce Allan <bruce.w.allan@intel.com>

i218 is the next-generation LOM that will be available on systems with the
Lynx Point LP Platform Controller Hub (PCH) chipset from Intel.  This patch
provides the initial support of those devices.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/e1000e/hw.h     | 2 ++
 drivers/net/ethernet/intel/e1000e/netdev.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/drivers/net/ethernet/intel/e1000e/hw.h b/drivers/net/ethernet/intel/e1000e/hw.h
index ed5b409..d37bfd9 100644
--- a/drivers/net/ethernet/intel/e1000e/hw.h
+++ b/drivers/net/ethernet/intel/e1000e/hw.h
@@ -412,6 +412,8 @@ enum e1e_registers {
 #define E1000_DEV_ID_PCH2_LV_V			0x1503
 #define E1000_DEV_ID_PCH_LPT_I217_LM		0x153A
 #define E1000_DEV_ID_PCH_LPT_I217_V		0x153B
+#define E1000_DEV_ID_PCH_LPTLP_I218_LM		0x155A
+#define E1000_DEV_ID_PCH_LPTLP_I218_V		0x1559
 
 #define E1000_REVISION_4 4
 
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index fb659dd..de57a2b 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -6558,6 +6558,8 @@ static DEFINE_PCI_DEVICE_TABLE(e1000_pci_tbl) = {
 
 	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPT_I217_LM), board_pch_lpt },
 	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPT_I217_V), board_pch_lpt },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPTLP_I218_LM), board_pch_lpt },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPTLP_I218_V), board_pch_lpt },
 
 	{ 0, 0, 0, 0, 0, 0, 0 }	/* terminate list */
 };
-- 
1.7.11.4

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

* Re: [net 0/3][pull request] Intel Wired LAN Driver Updates
  2012-10-09 10:13 [net 0/3][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (2 preceding siblings ...)
  2012-10-09 10:13 ` [net 3/3] e1000e: add device IDs for i218 Jeff Kirsher
@ 2012-10-09 16:51 ` David Miller
  3 siblings, 0 replies; 5+ messages in thread
From: David Miller @ 2012-10-09 16:51 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue,  9 Oct 2012 03:13:29 -0700

> This series contains updates to ixgbe, ixgbevf and e1000e.
> 
> The following are changes since commit 66eef59f22275002f621ff9d951886b513d011b3:
>   net: fix typo in freescale/ucc_geth.c
> and are available in the git repository at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net master
> 
> Alexander Duyck (1):
>   ixgbe/ixgbevf: Limit maximum jumbo frame size to 9.5K to avoid Tx
>     hangs
> 
> Bruce Allan (1):
>   e1000e: add device IDs for i218
> 
> Greg Rose (1):
>   ixgbevf: Set the netdev number of Tx queues

Pulled but please let's get that multi-month-old e1000e BQL bug fixed.

Thanks.

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

end of thread, other threads:[~2012-10-09 16:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-09 10:13 [net 0/3][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2012-10-09 10:13 ` [net 1/3] ixgbevf: Set the netdev number of Tx queues Jeff Kirsher
2012-10-09 10:13 ` [net 2/3] ixgbe/ixgbevf: Limit maximum jumbo frame size to 9.5K to avoid Tx hangs Jeff Kirsher
2012-10-09 10:13 ` [net 3/3] e1000e: add device IDs for i218 Jeff Kirsher
2012-10-09 16:51 ` [net 0/3][pull request] Intel Wired LAN Driver Updates 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.