HomeFreeBSD

e1000: Remove old itr sysctl handler

Description

e1000: Remove old itr sysctl handler

This implementation had various bugs. bde@ reported that the unit
conversion/scaling is wrong, and it also does not handle 82574L or
igb(4) devices correctly.

With the new AIM code, it is expected most users will not need to
manually tune this.

If you do need static control:
hw.em.enable_aim=0 for all interfaces at boot or dev.em.X.enable_aim=0
for individual interfaces at runtime and they will track the
hw.em.max_interrupt_rate tunable. That codepath has been bugfixed for
all supported chipsets.

You may view the current rate with dev.em.X.queue_rx_0.interrupt_rate
which has been bugfixed for all supported chipsets.

If you need to set different rates per interface for some reason let me
know and I will rethink how to add this back. Otherwise you can leave
AIM on for general purpose interfaces and disable it at runtime on
special purpose low or high latency interfaces that would track
hw.em.max_interrupt_rate if you have a mix of concerns.

PR: 235031
Reported by: Bruce Evans <bde@FreeBSD.org>
Relnotes: yes
Sponsored by: BBOX.io

(cherry picked from commit 4020351325c02cc27aa4992c199ff18a9542a52c)

Details

Provenance
Kevin Bowling <kbowling@FreeBSD.org>Authored on Fri, Nov 29, 6:23 AM
Parents
rG99b2ab71c5b6: llvm19: permit incremental builds from llvm18
Branches
Unknown
Tags
Unknown
References
stable/13

Event Timeline

Kevin Bowling <kbowling@FreeBSD.org> committed rGa42c3e61504b: e1000: Remove old itr sysctl handler (authored by Kevin Bowling <kbowling@FreeBSD.org>).Tue, Dec 3, 4:01 AM