From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Gospodarek Subject: Re: [net-next 00/10] net: create dynamic software irq moderation library Date: Fri, 5 Jan 2018 08:48:54 -0500 Message-ID: <20180105134854.GB78313@C02RW35GFVH8> References: <1515097290-17470-1-git-send-email-andy@greyhouse.net> <5f8e0097-1f7a-c6b6-49ea-40bb08d3968d@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: netdev@vger.kernel.org, mchan@broadcom.com, ogerlitz@mellanox.com, Andy Gospodarek To: Tal Gilboa Return-path: Received: from mail-qk0-f193.google.com ([209.85.220.193]:38133 "EHLO mail-qk0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751254AbeAENs6 (ORCPT ); Fri, 5 Jan 2018 08:48:58 -0500 Received: by mail-qk0-f193.google.com with SMTP id w13so5957782qkb.5 for ; Fri, 05 Jan 2018 05:48:57 -0800 (PST) Content-Disposition: inline In-Reply-To: <5f8e0097-1f7a-c6b6-49ea-40bb08d3968d@mellanox.com> Sender: netdev-owner@vger.kernel.org List-ID: 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 > > > > 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 > >