[Devel] [PATCH RHEL8 COMMIT] drivers/igb: increase link detection timeout up to 5 sec

Konstantin Khorenko khorenko at virtuozzo.com
Fri Jun 11 15:33:50 MSK 2021


The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.40
------>
commit 1b69f9c2f594c6e83f902ec383d80ac988b5fabe
Author: Konstantin Khorenko <khorenko at virtuozzo.com>
Date:   Fri Jun 11 15:33:49 2021 +0300

    drivers/igb: increase link detection timeout up to 5 sec
    
    We hit again and again the situation when Intel igb network cards
    detection takes 3 seconds while timeout is set to 2 seconds.
    
    Let's increase the timeout up to 5 seconds.
    
    https://pmc.acronis.com/browse/VSTOR-14627
    Signed-off-by: Konstantin Khorenko <khorenko at virtuozzo.com>
    
    ++++++++++++
    drivers/igb: increase link detection timeout up to 10 sec
    
    5 second timeout appeared not enough and Intel igb network cards
    sometomes require more time to detect the link.
    
    So, let's increase the timeout up to 10 seconds and
    produce a WARNING in case 10 seconds is not enough as well.
    
    mFixes: dc01dda30fd0 ("drivers/igb: increase link detection timeout up to
    5 sec")
    
    https://jira.sw.ru/browse/PSBM-95074
    https://pmc.acronis.com/browse/VSTOR-14627
    
    Signed-off-by: Konstantin Khorenko <khorenko at virtuozzo.com>
    
    Merged following commits during rebase to vz8:
    - 377e583f2a84 ("drivers/igb: increase link detection timeout up to 5 sec")
    - 5381f4f189e1 ("drivers/igb: increase link detection timeout up to 10 sec")
    
    Signed-off-by: Andrey Zhadchenko <andrey.zhadchenko at virtuozzo.com>
---
 drivers/net/ethernet/intel/igb/igb_main.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index b46bff8fe056..e6b90c47aeb0 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -5249,7 +5249,7 @@ static void igb_watchdog_task(struct work_struct *work)
 	u32 link;
 	int i;
 	u32 connsw;
-	u16 phy_data, retry_count = 20;
+	u16 phy_data, retry_count = 100;
 
 	link = igb_has_link(adapter);
 
@@ -5341,7 +5341,8 @@ static void igb_watchdog_task(struct work_struct *work)
 					retry_count--;
 					goto retry_read_status;
 				} else if (!retry_count) {
-					dev_err(&adapter->pdev->dev, "exceed max 2 second\n");
+					dev_err(&adapter->pdev->dev, "exceed max 10 second\n");
+					WARN_ONCE(1, "igb timeout exceed 10 seconds");
 				}
 			} else {
 				dev_err(&adapter->pdev->dev, "read 1000Base-T Status Reg\n");


More information about the Devel mailing list