diff mbox series

[net] r8169: don't advertise pause in jumbo mode

Message ID e249e2fb-ba51-a62e-f2e7-5011c3790830@gmail.com (mailing list archive)
State Superseded
Delegated to: Netdev Maintainers
Headers show
Series [net] r8169: don't advertise pause in jumbo mode | expand

Checks

Context Check Description
netdev/cover_letter success Link
netdev/fixes_present success Link
netdev/patch_count success Link
netdev/tree_selection success Clearly marked for net
netdev/subject_prefix success Link
netdev/cc_maintainers success CCed 5 of 5 maintainers
netdev/source_inline success Was 0 now: 0
netdev/verify_signedoff success Link
netdev/module_param success Was 0 now: 0
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/verify_fixes success Link
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 21 lines checked
netdev/build_allmodconfig_warn success Errors and warnings before: 0 this patch: 0
netdev/header_inline success Link

Commit Message

Heiner Kallweit April 14, 2021, 7:40 a.m. UTC
It has been reported [0] that using pause frames in jumbo mode impacts
performance. There's no available chip documentation, but vendor
drivers r8168 and r8125 don't advertise pause in jumbo mode. So let's
do the same, according to Roman it fixes the issue.

[0] https://bugzilla.kernel.org/show_bug.cgi?id=212617

Fixes: 9cf9b84cc701 ("r8169: make use of phy_set_asym_pause")
Reported-by: Roman Mamedov <rm+bko@romanrm.net>
Tested-by: Roman Mamedov <rm+bko@romanrm.net>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
This patch doesn't apply cleanly on some kernel versions, but the needed
changes are trivial.
---
 drivers/net/ethernet/realtek/r8169_main.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

Comments

Greg Kroah-Hartman April 14, 2021, 7:49 a.m. UTC | #1
On Wed, Apr 14, 2021 at 09:40:51AM +0200, Heiner Kallweit wrote:
> It has been reported [0] that using pause frames in jumbo mode impacts
> performance. There's no available chip documentation, but vendor
> drivers r8168 and r8125 don't advertise pause in jumbo mode. So let's
> do the same, according to Roman it fixes the issue.
> 
> [0] https://bugzilla.kernel.org/show_bug.cgi?id=212617
> 
> Fixes: 9cf9b84cc701 ("r8169: make use of phy_set_asym_pause")
> Reported-by: Roman Mamedov <rm+bko@romanrm.net>
> Tested-by: Roman Mamedov <rm+bko@romanrm.net>
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
> ---
> This patch doesn't apply cleanly on some kernel versions, but the needed
> changes are trivial.
> ---
>  drivers/net/ethernet/realtek/r8169_main.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)


<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree.  Please read:
    https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
for how to do this properly.

</formletter>
Heiner Kallweit April 14, 2021, 7:56 a.m. UTC | #2
On 14.04.2021 09:49, Greg KH wrote:
> On Wed, Apr 14, 2021 at 09:40:51AM +0200, Heiner Kallweit wrote:
>> It has been reported [0] that using pause frames in jumbo mode impacts
>> performance. There's no available chip documentation, but vendor
>> drivers r8168 and r8125 don't advertise pause in jumbo mode. So let's
>> do the same, according to Roman it fixes the issue.
>>
>> [0] https://bugzilla.kernel.org/show_bug.cgi?id=212617
>>
>> Fixes: 9cf9b84cc701 ("r8169: make use of phy_set_asym_pause")
>> Reported-by: Roman Mamedov <rm+bko@romanrm.net>
>> Tested-by: Roman Mamedov <rm+bko@romanrm.net>
>> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
>> ---
>> This patch doesn't apply cleanly on some kernel versions, but the needed
>> changes are trivial.
>> ---
>>  drivers/net/ethernet/realtek/r8169_main.c | 9 +++++++--
>>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> 
> <formletter>
> 
> This is not the correct way to submit patches for inclusion in the
> stable kernel tree.  Please read:
>     https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
> for how to do this properly.
> 
> </formletter>
> 
Until recently the procedure in netdev has been to annotate the patch as
"net" and not cc stable. IIRC there is an experiment to cc stable.
If this isn't applicable any longer and the old process still applies,
then please ignore the cc'ed stable.
Greg Kroah-Hartman April 14, 2021, 8:18 a.m. UTC | #3
On Wed, Apr 14, 2021 at 09:56:30AM +0200, Heiner Kallweit wrote:
> On 14.04.2021 09:49, Greg KH wrote:
> > On Wed, Apr 14, 2021 at 09:40:51AM +0200, Heiner Kallweit wrote:
> >> It has been reported [0] that using pause frames in jumbo mode impacts
> >> performance. There's no available chip documentation, but vendor
> >> drivers r8168 and r8125 don't advertise pause in jumbo mode. So let's
> >> do the same, according to Roman it fixes the issue.
> >>
> >> [0] https://bugzilla.kernel.org/show_bug.cgi?id=212617
> >>
> >> Fixes: 9cf9b84cc701 ("r8169: make use of phy_set_asym_pause")
> >> Reported-by: Roman Mamedov <rm+bko@romanrm.net>
> >> Tested-by: Roman Mamedov <rm+bko@romanrm.net>
> >> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
> >> ---
> >> This patch doesn't apply cleanly on some kernel versions, but the needed
> >> changes are trivial.
> >> ---
> >>  drivers/net/ethernet/realtek/r8169_main.c | 9 +++++++--
> >>  1 file changed, 7 insertions(+), 2 deletions(-)
> > 
> > 
> > <formletter>
> > 
> > This is not the correct way to submit patches for inclusion in the
> > stable kernel tree.  Please read:
> >     https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
> > for how to do this properly.
> > 
> > </formletter>
> > 
> Until recently the procedure in netdev has been to annotate the patch as
> "net" and not cc stable. IIRC there is an experiment to cc stable.
> If this isn't applicable any longer and the old process still applies,
> then please ignore the cc'ed stable.

You need to put the "Cc: stable..." in the signed-off-by area, as the
documentation link above states.

thanks,

greg k-h
diff mbox series

Patch

diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
index 1b48084f2..7d02bab1c 100644
--- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c
@@ -2386,6 +2386,13 @@  static void rtl_jumbo_config(struct rtl8169_private *tp)
 
 	if (pci_is_pcie(tp->pci_dev) && tp->supports_gmii)
 		pcie_set_readrq(tp->pci_dev, readrq);
+
+	/* Chip doesn't support pause in jumbo mode */
+	linkmode_mod_bit(ETHTOOL_LINK_MODE_Pause_BIT,
+			 tp->phydev->advertising, !jumbo);
+	linkmode_mod_bit(ETHTOOL_LINK_MODE_Asym_Pause_BIT,
+			 tp->phydev->advertising, !jumbo);
+	phy_start_aneg(tp->phydev);
 }
 
 DECLARE_RTL_COND(rtl_chipcmd_cond)
@@ -4647,8 +4654,6 @@  static int r8169_phy_connect(struct rtl8169_private *tp)
 	if (!tp->supports_gmii)
 		phy_set_max_speed(phydev, SPEED_100);
 
-	phy_support_asym_pause(phydev);
-
 	phy_attached_info(phydev);
 
 	return 0;