Subject: Re: [PATCH 2/2] net: thunderbolt: enlarge RX/TX ring and set NAPI weight for sustained load

From: Mika Westerberg <[email-masked]>
Date: Tue, 28 Apr 2026 19:27:55 +0200

On Tue, Apr 28, 2026 at 04:39:25PM +0200, Andrew Lunn wrote:
> > > Is there interrupt coalesce going on, and the coalesce time set too
> > > high, so that by the time the interrupt fires the ring is full? Can
> > > you play with ethtool -C?
> > 
> > Thanks!
> > 
> > I'll leave these to Benjamin and Claude AI to answer.
> > 
> > One thing that could affect is the interrupt throttling that the hardware
> > is doing. We have quite big value there by default. Lowering that may have
> > affect as well. I just posted a patch series where one of the patches makes
> > this configurable in the tbnet driver so you could apply that and play with
> > the throttling value:
> > 
> > https://lore.kernel.org/linux-usb/[email-masked]/
> 
> So i guess this is interrupt coalesce by another name.
> 
> In netdev, the module parameter would get NACKed.

Okay.

> [Looks more closely at the code].
> 
> So, you are adding the module parameter in
> drivers/net/thunderbolt/main.c. That clearly is netdev code. So sorry,
> please don't do that.
> 
> But ethtool provides an API for configuring these things:
> 
>        ethtool -C|--coalesce devname [adaptive-rx on|off] [adaptive-tx on|off]
>               [rx-usecs N] [rx-frames N] [rx-usecs-irq N] [rx-frames-irq N]
>               [tx-usecs N] [tx-frames N] [tx-usecs-irq N] [tx-frames-irq N]
>               [stats-block-usecs N] [pkt-rate-low N] [rx-usecs-low N]
>               [rx-frames-low N] [tx-usecs-low N] [tx-frames-low N]
>               [pkt-rate-high N] [rx-usecs-high N] [rx-frames-high N]
>               [tx-usecs-high N] [tx-frames-high N] [sample-interval N]
> 
> So i hope you can map these parameters to your tb_ring_throttling()
> call.

Sure, that's not mandatory (as I explain in the other thread). I can just
drop that part.