]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
amd-xgbe: add adaptive link status polling
authorRaju Rangoju <Raju.Rangoju@amd.com>
Thu, 19 Mar 2026 16:32:49 +0000 (22:02 +0530)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 24 Mar 2026 09:48:07 +0000 (10:48 +0100)
commit31b2d4e00260ae3fca50779ac416dd9acaacbfb9
treebfdaeec939c2bef58459b69716b5bb5b395ff1ad
parent9d463f7863f2cc3722da9c670c88158409cb7c42
amd-xgbe: add adaptive link status polling

Implement adaptive link status polling to enable fast link-down detection
while conserving CPU resources during link-down periods.

Currently, the driver polls link status at a fixed 1-second interval
regardless of link state. This creates a trade-off:
  - Slow polling (1s): Misses rapid link state changes, causing delays
  - Fast polling: Wastes CPU when link is stable or down

This enhancement introduces state-aware polling:

When carrier is UP:
  Poll every 100ms to enable rapid link-down detection. This provides
  ~100-200ms response time to link failures, minimizing packet loss and
  enabling fast failover in link aggregation configurations.

When carrier is DOWN:
  Poll every 1s to conserve CPU resources. Link-up detection is less
  time-critical since no traffic is flowing.

Performance impact:
  - Link-down detection: 1000ms → 100-200ms (10x improvement)
  - CPU overhead when link up: 0.1% → 1% (acceptable for active links)
  - CPU overhead when link down: unchanged at 0.1%

This is particularly valuable for:
  - Link aggregation deployments requiring sub-second failover
  - Environments with flaky links or cable issues
  - Applications sensitive to connection recovery time

Signed-off-by: Raju Rangoju <Raju.Rangoju@amd.com>
Link: https://patch.msgid.link/20260319163251.1808611-2-Raju.Rangoju@amd.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/amd/xgbe/xgbe-drv.c