All of lore.kernel.org
 help / color / mirror / Atom feed
* FAILED: patch "[PATCH] r8169: don't advertise pause in jumbo mode" failed to apply to 5.10-stable tree
@ 2021-04-18 10:36 gregkh
  2021-04-18 15:54 ` Heiner Kallweit
  0 siblings, 1 reply; 3+ messages in thread
From: gregkh @ 2021-04-18 10:36 UTC (permalink / raw)
  To: hkallweit1, davem, rm+bko; +Cc: stable


The patch below does not apply to the 5.10-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable@vger.kernel.org>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 453a77894efa4d9b6ef9644d74b9419c47ac427c Mon Sep 17 00:00:00 2001
From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Wed, 14 Apr 2021 10:47:10 +0200
Subject: [PATCH] r8169: don't advertise pause in jumbo mode

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>
Cc: stable@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>

diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
index 581a92fc3292..1df2c002c9f6 100644
--- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c
@@ -2350,6 +2350,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)
@@ -4630,8 +4637,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;


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

* Re: FAILED: patch "[PATCH] r8169: don't advertise pause in jumbo mode" failed to apply to 5.10-stable tree
  2021-04-18 10:36 FAILED: patch "[PATCH] r8169: don't advertise pause in jumbo mode" failed to apply to 5.10-stable tree gregkh
@ 2021-04-18 15:54 ` Heiner Kallweit
  2021-04-18 16:02   ` Holger Hoffstätte
  0 siblings, 1 reply; 3+ messages in thread
From: Heiner Kallweit @ 2021-04-18 15:54 UTC (permalink / raw)
  To: stable

On 18.04.2021 12:36, gregkh@linuxfoundation.org wrote:
> 
> The patch below does not apply to the 5.10-stable tree.
> If someone wants it applied there, or to any other stable or longterm
> tree, then please email the backport, including the original git commit
> id to <stable@vger.kernel.org>.
> 
> thanks,
> 
> greg k-h
> 
> ------------------ original commit in Linus's tree ------------------
> 
>>From 453a77894efa4d9b6ef9644d74b9419c47ac427c Mon Sep 17 00:00:00 2001
> From: Heiner Kallweit <hkallweit1@gmail.com>
> Date: Wed, 14 Apr 2021 10:47:10 +0200
> Subject: [PATCH] r8169: don't advertise pause in jumbo mode
> 
> 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>
> Cc: stable@vger.kernel.org
> Signed-off-by: David S. Miller <davem@davemloft.net>
> 
> diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
> index 581a92fc3292..1df2c002c9f6 100644
> --- a/drivers/net/ethernet/realtek/r8169_main.c
> +++ b/drivers/net/ethernet/realtek/r8169_main.c
> @@ -2350,6 +2350,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)
> @@ -4630,8 +4637,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;
> 

>From ed6aaf67921a7ed44a3e07785c2125835ca5a969 Mon Sep 17 00:00:00 2001
From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Sun, 18 Apr 2021 17:50:06 +0200
Subject: [PATCH] r8169: don't advertise pause in jumbo mode

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>
---
 drivers/net/ethernet/realtek/r8169_main.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
index d634da20b4f9..feca75eb75e4 100644
--- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c
@@ -2419,6 +2419,13 @@ static void rtl_jumbo_config(struct rtl8169_private *tp)
 
 	if (!jumbo && pci_is_pcie(tp->pci_dev) && tp->supports_gmii)
 		pcie_set_readrq(tp->pci_dev, 4096);
+
+	/* 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)
@@ -4710,8 +4717,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;
-- 
2.31.1


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

* Re: FAILED: patch "[PATCH] r8169: don't advertise pause in jumbo mode" failed to apply to 5.10-stable tree
  2021-04-18 15:54 ` Heiner Kallweit
@ 2021-04-18 16:02   ` Holger Hoffstätte
  0 siblings, 0 replies; 3+ messages in thread
From: Holger Hoffstätte @ 2021-04-18 16:02 UTC (permalink / raw)
  To: Heiner Kallweit, stable

On 2021-04-18 17:54, Heiner Kallweit wrote:
> On 18.04.2021 12:36, gregkh@linuxfoundation.org wrote:
>>
>> The patch below does not apply to the 5.10-stable tree.
>> If someone wants it applied there, or to any other stable or longterm
>> tree, then please email the backport, including the original git commit
>> id to <stable@vger.kernel.org>.
>>
>> thanks,
>>
>> greg k-h
>>
>> ------------------ original commit in Linus's tree ------------------
>>
>> >From 453a77894efa4d9b6ef9644d74b9419c47ac427c Mon Sep 17 00:00:00 2001
>> From: Heiner Kallweit <hkallweit1@gmail.com>
>> Date: Wed, 14 Apr 2021 10:47:10 +0200
>> Subject: [PATCH] r8169: don't advertise pause in jumbo mode
>>
>> 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>
>> Cc: stable@vger.kernel.org
>> Signed-off-by: David S. Miller <davem@davemloft.net>
>>
>> diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
>> index 581a92fc3292..1df2c002c9f6 100644
>> --- a/drivers/net/ethernet/realtek/r8169_main.c
>> +++ b/drivers/net/ethernet/realtek/r8169_main.c
>> @@ -2350,6 +2350,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)
>> @@ -4630,8 +4637,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;
>>
> 
>>From ed6aaf67921a7ed44a3e07785c2125835ca5a969 Mon Sep 17 00:00:00 2001
> From: Heiner Kallweit <hkallweit1@gmail.com>
> Date: Sun, 18 Apr 2021 17:50:06 +0200
> Subject: [PATCH] r8169: don't advertise pause in jumbo mode
> 
> 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>
> ---
>   drivers/net/ethernet/realtek/r8169_main.c | 9 +++++++--
>   1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
> index d634da20b4f9..feca75eb75e4 100644
> --- a/drivers/net/ethernet/realtek/r8169_main.c
> +++ b/drivers/net/ethernet/realtek/r8169_main.c
> @@ -2419,6 +2419,13 @@ static void rtl_jumbo_config(struct rtl8169_private *tp)
>   
>   	if (!jumbo && pci_is_pcie(tp->pci_dev) && tp->supports_gmii)
>   		pcie_set_readrq(tp->pci_dev, 4096);
> +
> +	/* 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)
> @@ -4710,8 +4717,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;
> 

I've *just* been looking into this as well (new machine with an r8169 onboard..sigh)
and found that simply applying 5e00e16cb989 ("r8169: tweak max read request size for
newer chips also in jumbo mtu mode") makes it apply cleanly. Said patch also seems
(to me) make sense by itself, so maybe just pick that instead?

thanks,
Holger

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

end of thread, other threads:[~2021-04-18 16:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-18 10:36 FAILED: patch "[PATCH] r8169: don't advertise pause in jumbo mode" failed to apply to 5.10-stable tree gregkh
2021-04-18 15:54 ` Heiner Kallweit
2021-04-18 16:02   ` Holger Hoffstätte

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.