Message ID | 20101206091010.036cd78b@nehalam |
---|---|
State | RFC, archived |
Delegated to: | David Miller |
Headers | show |
On Mon, Dec 06, 2010 at 09:10:10AM -0800, Stephen Hemminger wrote: > The kernel uses dev_disable_lro to disable Large Receive Offload > for cases where it is inappropriate. But several drivers do not implement > the required hook. This is a "penalty box" patch to encourage those > drivers to add support for the necessary ethtool set_flags. > > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> pasemi_mac: Acked-by: Olof Johansson <olof@lixom.net> > I only found three drivers that are broken. Normally, I would just fix > them; but since changing state in the device is hardware specific, and > I don't have the hardware or specs to do anything useful to fix it. Thanks. All my hardware is currently in storage due to my relocation, but I'll take a look at it when I have something to run on back. :-) -Olof -- 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
From: Olof Johansson <olof@lixom.net> Date: Mon, 6 Dec 2010 11:18:16 -0600 > On Mon, Dec 06, 2010 at 09:10:10AM -0800, Stephen Hemminger wrote: >> The kernel uses dev_disable_lro to disable Large Receive Offload >> for cases where it is inappropriate. But several drivers do not implement >> the required hook. This is a "penalty box" patch to encourage those >> drivers to add support for the necessary ethtool set_flags. >> >> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> > > pasemi_mac: > > Acked-by: Olof Johansson <olof@lixom.net> > >> I only found three drivers that are broken. Normally, I would just fix >> them; but since changing state in the device is hardware specific, and >> I don't have the hardware or specs to do anything useful to fix it. > > Thanks. All my hardware is currently in storage due to my relocation, but > I'll take a look at it when I have something to run on back. :-) I don't think we can do what this patch does. It serves no purpose, as it just means the user is going to have an extra headache to turn their driver on. And %99 of them won't see it, the distribution folks will. So this is all for nothing. Better to just work on fixing the problem in the few drivers for which the issue exists. And I'm always happy to receive patches that just plain rip LRO support out of such drivers. That's a real legitimate patch unlike this one because it keeps the user able to get their driver enabled with no fuss and it removes only the improperly functioning feature. -- 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
--- a/drivers/net/Kconfig 2010-12-06 08:52:30.376926696 -0800 +++ b/drivers/net/Kconfig 2010-12-06 09:02:02.013224592 -0800 @@ -28,6 +28,13 @@ menuconfig NETDEVICES # that for each of the symbols. if NETDEVICES +config BROKEN_LRO + bool + ---help--- + Allow drivers with partial Large Receive Offload support. These drivers + do not implement the necessary feature of disabling LRO support via + the ethtool set_flags operation. + config IFB tristate "Intermediate Functional Block support" depends on NET_CLS_ACT @@ -2675,7 +2682,7 @@ config CHELSIO_T4VF config EHEA tristate "eHEA Ethernet support" - depends on IBMEBUS && INET && SPARSEMEM + depends on IBMEBUS && INET && SPARSEMEM && BROKEN_LRO select INET_LRO ---help--- This driver supports the IBM pSeries eHEA ethernet adapter. @@ -2848,7 +2855,7 @@ config NIU config PASEMI_MAC tristate "PA Semi 1/10Gbit MAC" - depends on PPC_PASEMI && PCI && INET + depends on PPC_PASEMI && PCI && INET && BROKEN_LRO select PHYLIB select INET_LRO help @@ -2857,7 +2864,7 @@ config PASEMI_MAC config MLX4_EN tristate "Mellanox Technologies 10Gbit Ethernet support" - depends on PCI && INET + depends on PCI && INET && BROKEN_LRO select MLX4_CORE select INET_LRO help
The kernel uses dev_disable_lro to disable Large Receive Offload for cases where it is inappropriate. But several drivers do not implement the required hook. This is a "penalty box" patch to encourage those drivers to add support for the necessary ethtool set_flags. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> --- I only found three drivers that are broken. Normally, I would just fix them; but since changing state in the device is hardware specific, and I don't have the hardware or specs to do anything useful to fix it. -- 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