From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tal Gilboa Subject: Re: [net-next 00/10] net: create dynamic software irq moderation library Date: Fri, 5 Jan 2018 10:14:43 +0200 Message-ID: <5f8e0097-1f7a-c6b6-49ea-40bb08d3968d@mellanox.com> References: <1515097290-17470-1-git-send-email-andy@greyhouse.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: mchan@broadcom.com, ogerlitz@mellanox.com, Andy Gospodarek To: Andy Gospodarek , netdev@vger.kernel.org Return-path: Received: from mail-eopbgr00069.outbound.protection.outlook.com ([40.107.0.69]:22186 "EHLO EUR02-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751315AbeAEIOv (ORCPT ); Fri, 5 Jan 2018 03:14:51 -0500 In-Reply-To: <1515097290-17470-1-git-send-email-andy@greyhouse.net> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: 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. > 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. > create mode 100644 include/linux/net_dim.h >