git: 4020351325c0 - main - e1000: Remove old itr sysctl handler

From: Kevin Bowling <kbowling_at_FreeBSD.org>
Date: Fri, 29 Nov 2024 07:16:02 UTC
The branch main has been updated by kbowling:

URL: https://cgit.FreeBSD.org/src/commit/?id=4020351325c02cc27aa4992c199ff18a9542a52c

commit 4020351325c02cc27aa4992c199ff18a9542a52c
Author:     Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2024-11-29 06:23:23 +0000
Commit:     Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2024-11-29 07:15:54 +0000

    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>
    MFC after:      3 days
    Relnotes:       yes
    Sponsored by:   BBOX.io
---
 sys/dev/e1000/if_em.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c
index aed97d076a5e..449cb9e07f3a 100644
--- a/sys/dev/e1000/if_em.c
+++ b/sys/dev/e1000/if_em.c
@@ -1234,10 +1234,6 @@ em_if_attach_pre(if_ctx_t ctx)
 		    "transmit interrupt delay limit in usecs",
 		    &sc->tx_abs_int_delay,
 		    E1000_REGISTER(hw, E1000_TADV), em_tx_abs_int_delay_dflt);
-		em_add_int_delay_sysctl(sc, "itr",
-		    "interrupt delay limit in usecs/4", &sc->tx_itr,
-		    E1000_REGISTER(hw, E1000_ITR),
-		    EM_INTS_TO_ITR(em_max_interrupt_rate));
 	}
 
 	hw->mac.autoneg = DO_AUTO_NEG;
@@ -5403,8 +5399,6 @@ em_sysctl_int_delay(SYSCTL_HANDLER_ARGS)
 		return (EINVAL);
 	info->value = usecs;
 	ticks = EM_USECS_TO_TICKS(usecs);
-	if (info->offset == E1000_ITR)	/* units are 256ns here */
-		ticks *= 4;
 
 	sc = info->sc;