[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