Thread (7 messages) 7 messages, 2 authors, 12d ago
COOLING12d

[PATCH iwl-next 0/4] ixgbe: adaptive ITR tuning to prevent RX starvation and ACK overdrive

From: Aleksandr Loktionov <hidden>
Date: 2026-09-15 12:55:44
Also in: intel-wired-lan

This series was split out of a larger internal "ixgbe: nits and
improvements" cleanup batch. It tunes the adaptive-ITR algorithm and is
kept as four small, independently reviewable/revertible patches rather
than one monolithic rewrite:

1. Lower IXGBE_ITR_ADAPTIVE_MAX_USECS from 126 to 84 so the minimum
   bulk-mode interrupt rate cannot drop low enough to starve the Rx
   descriptor ring under sustained full-line-rate traffic.
2. Add an ixgbe_container_is_rx() helper and give Rx containers their
   own latency thresholds, replacing the shared Tx/Rx heuristic that
   the lowered maximum would otherwise interact with poorly.
3. Limit how far a single ITR update can decrease while in latency
   mode, so a low-rate ACK-only stream cannot overdrive the interrupt
   rate in one step.
4. Name the usecs mask used by ixgbe_set_itr() instead of relying on
   an open-coded complement of the mode-flag bit.

A fifth patch from the same original batch, removing a redundant
ixgbe_ping_all_vfs() call from the link watchdog handlers, addresses an
unrelated VF mailbox race rather than ITR/RX-starvation behavior and is
sent separately so this series stays focused on one topic.

Alexander Duyck (4):
  ixgbe: lower IXGBE_ITR_ADAPTIVE_MAX_USECS to prevent RX starvation
  ixgbe: add ixgbe_container_is_rx() helper and refine RX adaptive ITR
  ixgbe: limit ITR decrease in latency mode to prevent ACK overdrive
  ixgbe: add IXGBE_ITR_ADAPTIVE_MASK_USECS constant

 drivers/net/ethernet/intel/ixgbe/ixgbe.h      |  3 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 80 +++++++++++--------
 2 files changed, 49 insertions(+), 34 deletions(-)

-- 
2.52.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help