[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALzJLG8RaeaYNBxv_O6u5cNZEZLOmUY5y_DCBKNKHAu6sbF=Gw@mail.gmail.com>
Date: Mon, 6 Nov 2017 17:05:54 -0800
From: Saeed Mahameed <saeedm@....mellanox.co.il>
To: Andy Gospodarek <andy@...yhouse.net>,
Achiad Shochat <achiad@...lanox.com>, talg@...lanox.com
Cc: Linux Netdev List <netdev@...r.kernel.org>,
Michael Chan <mchan@...adcom.com>,
Saeed Mahameed <saeedm@...lanox.com>,
Andy Gospodarek <gospo@...adcom.com>
Subject: Re: [RFC 0/9] net: create adaptive software irq moderation library
On Sun, Nov 5, 2017 at 9:44 PM, Andy Gospodarek <andy@...yhouse.net> wrote:
> From: Andy Gospodarek <gospo@...adcom.com>
>
> This RFC converts the adaptive interrupt moderation library from the
> mlx5_en driver into a library so it can be used by any driver. The last
> patch in this set adds support for interrupt moderation in the bnxt_en
> driver.
>
> 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
>
> My main reason for making this an RFC is that I would like verification
> from Mellanox that the performance of their driver does not change in a
> unintended way. I did some basic testing (netperf) and did not note a
> statistically significant change in throughput or CPU utilization before
> and after this set.
>
Hi Andy, Are you at netdev conf this week ?
Achiad and Tal (the inventors of mlx5 adaptive moderation) and I, will
be in Seoul this week.
So if you are joining the conference then it will be a good
opportunity to sit and talk F2F.
> Credit to Rob Rice and Lee Reed for doing some of the initial proof of
> concept and testing for this patch.
>
> Andy Gospodarek (9):
> mlx5_en: move interrupt moderation structs to new file
> mlx5_en: move interrupt moderation forward delcarations
> mlx5_en: remove rq references in mlx5e_rx_am
> mlx5_en: move AM logic enums
> mlx5_en: move generic functions to new file
> mlx5_en: rename en_rx_am.h to net_rx_am.h
> mlx5_en: remove Mellanox references in AM code
> net: move adaptive interrpt coalescing code to lib/
> bnxt_en: add support for software adaptive interrupt moderation
>
> drivers/net/ethernet/broadcom/bnxt/Makefile | 2 +-
> drivers/net/ethernet/broadcom/bnxt/bnxt.c | 51 ++++
> drivers/net/ethernet/broadcom/bnxt/bnxt.h | 34 ++-
> drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 7 +
> drivers/net/ethernet/broadcom/bnxt/bnxt_rx_am.c | 32 +++
> drivers/net/ethernet/mellanox/mlx5/core/en.h | 43 +--
> .../net/ethernet/mellanox/mlx5/core/en_ethtool.c | 6 +-
> drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 18 +-
> drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 4 +-
> drivers/net/ethernet/mellanox/mlx5/core/en_rx_am.c | 298 +-------------------
> drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c | 5 +-
> include/linux/mlx5/mlx5_ifc.h | 6 -
> include/linux/net_rx_am.h | 109 ++++++++
> lib/Makefile | 2 +-
> lib/net_rx_am.c | 306 +++++++++++++++++++++
> 15 files changed, 558 insertions(+), 365 deletions(-)
> create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt_rx_am.c
> create mode 100644 include/linux/net_rx_am.h
> create mode 100644 lib/net_rx_am.c
>
> --
> 2.7.4
>
Powered by blists - more mailing lists