lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d763bf82-8645-49e9-910f-05e97eab8dbf@mellanox.com>
Date:   Thu, 4 Jan 2018 13:37:07 -0800
From:   Saeed Mahameed <saeedm@...lanox.com>
To:     Andy Gospodarek <andy@...yhouse.net>, netdev@...r.kernel.org
Cc:     mchan@...adcom.com, talgi@...lanox.com, ogerlitz@...lanox.com,
        Andy Gospodarek <gospo@...adcom.com>
Subject: Re: [net-next 00/10] net: create dynamic software irq moderation
 library



On 1/4/2018 12:21 PM, Andy Gospodarek wrote:
> From: Andy Gospodarek <gospo@...adcom.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
> 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
>    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

Very clean and nice work!
Thank you Andy for following my suggestion of changing the API to be 
static inline helper functions instead of function pointers provided by 
device drivers, the current API is less demanding for the device drivers 
and has no performance impact.

Awesome work.

Acked-by: Saeed Mahameed <saeedm@...lanox.com>

> 
>   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 -------------------

Goodbye mlx5/core/en_rx_am.c :)

>   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
>   create mode 100644 include/linux/net_dim.h
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ