On Fri, Jan 05, 2018 at 10:14:43AM +0200, Tal Gilboa wrote: > Thanks Andy for your hard work. Looks great overall! > > On 1/4/2018 10:21 PM, Andy Gospodarek wrote: > > From: Andy Gospodarek <go...@broadcom.com> > > > > This converts the dynamic interrupt moderation library from the mlx5_en > > driver > > into a library so it can be used by any driver. The penultimatepatch in > > this > Had to look up "penultimatepatch " :), but aren't these two words? > > > set adds support for interrupt moderation in the bnxt_en driver and the last > > patch creates an entry in the MAINTAINERS file. > > > > The main purpose of this code in the mlx5_en driver is to allow an > > administrator to make sure that default coalesce settings are optimized > > for low latency, but quickly adapt to handle high throughput traffic and > > optimize how many packets are received during each napi poll. > > > > For any new driver the following changes would be needed to use this > > library: > > > > - add elements in ring struct to track items needed by this library > > - create function that can be called to actually set coalesce settings > > for the driver > > > > Credit to Rob Rice and Lee Reed for doing some of the initial proof of > > concept and testing for this patch and Tal Gilboa and Or Gerlitz for their > > comments, etc on this set. > > > > Andy Gospodarek (10): > > net/mlx5e: move interrupt moderation structs to new file > > net/mlx5e: move interrupt moderation forward declarations > > net/mlx5e: remove rq references in mlx5e_rx_am > > net/mlx5e: move AM logic enums > > net/mlx5e: move generic functions to new file > > net/mlx5e: change Mellanox references in DIM code > > net: move dynamic interrpt coalescing code to include/linux > interrpt -> interrupt. The topic of the actual patch was fixed, only left in > the cover.
I'm just going to run ispell on everything again. :-) > > > net/dim: use struct net_dim_sample as arg to net_dim > > bnxt_en: add support for software dynamic interrupt moderation > > MAINTAINERS: add entry for Dynamic Interrupt Moderation > > > > MAINTAINERS | 5 + > > drivers/net/ethernet/broadcom/bnxt/Makefile | 2 +- > > drivers/net/ethernet/broadcom/bnxt/bnxt.c | 52 +++ > > drivers/net/ethernet/broadcom/bnxt/bnxt.h | 34 +- > > drivers/net/ethernet/broadcom/bnxt/bnxt_dim.c | 32 ++ > > drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 12 + > > drivers/net/ethernet/mellanox/mlx5/core/Makefile | 2 +- > > drivers/net/ethernet/mellanox/mlx5/core/en.h | 46 +-- > > drivers/net/ethernet/mellanox/mlx5/core/en_dim.c | 49 +++ > > .../net/ethernet/mellanox/mlx5/core/en_ethtool.c | 12 +- > > drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 32 +- > > drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 4 +- > > drivers/net/ethernet/mellanox/mlx5/core/en_rx_am.c | 341 > > ------------------- > > drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c | 10 +- > > drivers/net/ethernet/mellanox/mlx5/core/net_dim.h | 108 ++++++ > > include/linux/mlx5/mlx5_ifc.h | 6 - > > include/linux/net_dim.h | 372 > > +++++++++++++++++++++ > > 17 files changed, 693 insertions(+), 426 deletions(-) > > create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt_dim.c > > create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en_dim.c > > delete mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en_rx_am.c > > create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/net_dim.h > mlx5/core/net_dim.h was removed from code. Please fix the cover. Yes, it's odd that this is there. I'll see if I can figure out why as this file should have been deleted with patch "net: move dynamic interrpt coalescing code to include/linux" but it looks like maybe it was not. > > create mode 100644 include/linux/net_dim.h > >