From patchwork Fri Mar 30 06:37:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tal Gilboa X-Patchwork-Id: 893110 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=mellanox.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40CBl159l4z9s15 for ; Fri, 30 Mar 2018 17:38:05 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750794AbeC3GiB (ORCPT ); Fri, 30 Mar 2018 02:38:01 -0400 Received: from mail-il-dmz.mellanox.com ([193.47.165.129]:57988 "EHLO mellanox.co.il" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750725AbeC3GiA (ORCPT ); Fri, 30 Mar 2018 02:38:00 -0400 Received: from Internal Mail-Server by MTLPINE1 (envelope-from talgi@mellanox.com) with ESMTPS (AES256-SHA encrypted); 30 Mar 2018 09:38:50 +0300 Received: from gen-l-vrt-691.mtl.labs.mlnx (gen-l-vrt-691.mtl.labs.mlnx [10.141.69.1]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id w2U6bsTO025222; Fri, 30 Mar 2018 09:37:54 +0300 Received: from gen-l-vrt-691.mtl.labs.mlnx (localhost [127.0.0.1]) by gen-l-vrt-691.mtl.labs.mlnx (8.14.7/8.14.7) with ESMTP id w2U6bqKT037364; Fri, 30 Mar 2018 09:37:52 +0300 Received: (from talgi@localhost) by gen-l-vrt-691.mtl.labs.mlnx (8.14.7/8.14.7/Submit) id w2U6bh40037352; Fri, 30 Mar 2018 09:37:43 +0300 From: Tal Gilboa To: "David S. Miller" Cc: netdev@vger.kernel.org, Tariq Toukan , Tal Gilboa , Andy Gospodarek , Saeed Mahameed Subject: [PATCH net-next 0/4] Introduce adaptive TX interrupt moderation to net DIM Date: Fri, 30 Mar 2018 09:37:29 +0300 Message-Id: <1522391853-37298-1-git-send-email-talgi@mellanox.com> X-Mailer: git-send-email 1.8.3.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Net DIM is a library designed for dynamic interrupt moderation. It was implemented and optimized with receive side interrupts in mind, since these are usually the CPU expensive ones. This patch-set introduces adaptive transmit interrupt moderation to net DIM, complete with a usage in the mlx5e driver. Using adaptive TX behavior would reduce interrupt rate for multiple scenarios. Furthermore, it is essential for increasing bandwidth on cases where payload aggregation is required. Tal Gilboa (4): net/dim: Rename *_get_profile() functions to *_get_rx_moderation() net/dim: Add "enabled" field to net_dim struct net/dim: Support adaptive TX moderation net/mlx5e: Enable adaptive-TX moderation drivers/net/ethernet/broadcom/bcmsysport.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_dim.c | 8 +-- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 2 +- drivers/net/ethernet/mellanox/mlx5/core/en.h | 5 +- drivers/net/ethernet/mellanox/mlx5/core/en_dim.c | 28 ++++++--- .../net/ethernet/mellanox/mlx5/core/en_ethtool.c | 35 +++++++---- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 34 ++++++++-- drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 2 +- drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c | 37 ++++++++--- include/linux/net_dim.h | 72 +++++++++++++++++----- 10 files changed, 169 insertions(+), 56 deletions(-)