[SRU][X,B,D] backport DIMLIB (lib/dim/) to pre-5.2 kernels

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

[SRU][X,B,D] backport DIMLIB (lib/dim/) to pre-5.2 kernels

Kamal Mostafa-2
BugLink: https://bugs.launchpad.net/bugs/1852637

The mellanox and broadcom drivers contained a "dynamic interrupt
moderation" feature (as early as v5.0) which was broken out into a
common kernel library 'DIMLIB' in lib/dim/ circa mainline v5.2.

Backported drivers may now need DIMLIB to be available in pre-5.2
kernels (specifically, the latest upstream version of
net/ethernet/amazon/ena does).

Pull req's to follow ...

For Disco:
    Apply all the mainline commits from v5.2 which extract DIMLIB from
    mellanox/broadcom and wire those drivers to use DIMLIB (plus a few
    later DIMLIB fixes). I.e. make Disco work the same as > 5.2 kernels;
    no significant functional change to those drivers.

For Bionic and Xenial:
    Import the lib/dim/ directory from mainline (plus a couple porting
    prerequisites), but do *not* make mellanox/broadcom use it. I.e. no
    functional change at all.

 -Kamal

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[SRU][Bionic][PULL] import DIMLIB (lib/dim/)

Kamal Mostafa-2
BugLink: https://bugs.launchpad.net/bugs/1852637

-----

The following changes since commit 7a2cfebaa882109329310c04485a37a021c38823:

  UBUNTU: Ubuntu-4.15.0-71.80 (2019-11-13 20:20:48 -0500)

are available in the Git repository at:

  git://git.launchpad.net/~kamalmostafa/ubuntu/+source/linux/+git/bionic dimlib

for you to fetch changes up to 14cec1fb641c5060a3cd3b0c46100a1ed89f3cd7:

  UBUNTU: SAUCE: linux/dim: avoid library object filename clash (2019-11-14 10:01:46 -0800)

----------------------------------------------------------------
Chris Wilson (1):
      include/linux/bitops.h: introduce BITS_PER_TYPE

Kamal Mostafa (3):
      UBUNTU: [Config] enable DIMLIB
      UBUNTU: linux/dim: import DIMLIB (lib/dim/)
      UBUNTU: SAUCE: linux/dim: avoid library object filename clash

 debian.master/config/config.common.ubuntu |   1 +
 include/linux/bitops.h                    |   3 +-
 include/linux/dim.h                       | 346 ++++++++++++++++++++++++++++++
 lib/Kconfig                               |   8 +
 lib/Makefile                              |   1 +
 lib/dim/Makefile                          |   7 +
 lib/dim/dim.c                             |  83 +++++++
 lib/dim/net_dim.c                         | 246 +++++++++++++++++++++
 lib/dim/rdma_dim.c                        | 108 ++++++++++
 9 files changed, 802 insertions(+), 1 deletion(-)
 create mode 100644 include/linux/dim.h
 create mode 100644 lib/dim/Makefile
 create mode 100644 lib/dim/dim.c
 create mode 100644 lib/dim/net_dim.c
 create mode 100644 lib/dim/rdma_dim.c

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[SRU][Disco][PULL] backport DIMLIB (lib/dim/) break-out

Kamal Mostafa-2
In reply to this post by Kamal Mostafa-2
BugLink: https://bugs.launchpad.net/bugs/1852637

-----

The following changes since commit e421062fe0c6fba6d639c9ca57e3587171e7664f:

  UBUNTU: Ubuntu-5.0.0-37.40 (2019-11-13 11:35:47 -0800)

are available in the Git repository at:

  git://git.launchpad.net/~kamalmostafa/ubuntu/+source/linux/+git/disco dimlib

for you to fetch changes up to d25202e0bc850d161f6fb7ecfecaf6af997dd886:

  lib/dim: Fix -Wunused-const-variable warnings (2019-11-14 09:52:01 -0800)

----------------------------------------------------------------
Kamal Mostafa (1):
      UBUNTU: [Config] updateconfigs for DIMLIB

Leon Romanovsky (1):
      lib/dim: Fix -Wunused-const-variable warnings

Tal Gilboa (6):
      linux/dim: Move logic to dim.h
      linux/dim: Remove "net" prefix from internal DIM members
      linux/dim: Rename externally exposed macros
      linux/dim: Rename net_dim_sample() to net_dim_update_sample()
      linux/dim: Rename externally used net_dim members
      linux/dim: Move implementation to .c files

Yamin Friedman (3):
      linux/dim: Add completions count to dim_sample
      linux/dim: Implement RDMA adaptive moderation (DIM)
      linux/dim: Fix overflow in dim calculation

 MAINTAINERS                                        |   3 +-
 debian.master/config/config.common.ubuntu          |   1 +
 drivers/net/ethernet/broadcom/Kconfig              |   1 +
 drivers/net/ethernet/broadcom/bcmsysport.c         |  20 +-
 drivers/net/ethernet/broadcom/bcmsysport.h         |   4 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt.c          |  12 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt.h          |   4 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_debugfs.c  |   6 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_dim.c      |   9 +-
 drivers/net/ethernet/broadcom/genet/bcmgenet.c     |  18 +-
 drivers/net/ethernet/broadcom/genet/bcmgenet.h     |   4 +-
 drivers/net/ethernet/mellanox/mlx5/core/Kconfig    |   1 +
 drivers/net/ethernet/mellanox/mlx5/core/en.h       |  10 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_dim.c   |  14 +-
 .../net/ethernet/mellanox/mlx5/core/en_ethtool.c   |   4 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |  22 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c  |  10 +-
 include/linux/dim.h                                | 346 +++++++++++++++++
 include/linux/net_dim.h                            | 418 ---------------------
 lib/Kconfig                                        |   8 +
 lib/Makefile                                       |   1 +
 lib/dim/Makefile                                   |   7 +
 lib/dim/dim.c                                      |  83 ++++
 lib/dim/net_dim.c                                  | 246 ++++++++++++
 lib/dim/rdma_dim.c                                 | 108 ++++++
 25 files changed, 871 insertions(+), 489 deletions(-)
 create mode 100644 include/linux/dim.h
 delete mode 100644 include/linux/net_dim.h
 create mode 100644 lib/dim/Makefile
 create mode 100644 lib/dim/dim.c
 create mode 100644 lib/dim/net_dim.c
 create mode 100644 lib/dim/rdma_dim.c

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[SRU][Xenial][PULL] import DIMLIB (lib/dim/)

Kamal Mostafa-2
In reply to this post by Kamal Mostafa-2
BugLink: https://bugs.launchpad.net/bugs/1852637

-----

The following changes since commit 6a3433948fdca4055ca7d95741d1582d693cd58d:

  UBUNTU: Ubuntu-4.4.0-170.199 (2019-11-13 11:18:49 -0800)

are available in the Git repository at:

  git://git.launchpad.net/~kamalmostafa/ubuntu/+source/linux/+git/xenial dimlib

for you to fetch changes up to 0f1666b6a8ef0fb60ec7c89fbf1b9f6cbb4abae4:

  UBUNTU: SAUCE: linux/dim: avoid library object filename clash (2019-11-14 10:06:20 -0800)

----------------------------------------------------------------
Chris Wilson (1):
      include/linux/bitops.h: introduce BITS_PER_TYPE

Kamal Mostafa (3):
      UBUNTU: [Config] enable DIMLIB
      UBUNTU: linux/dim: import DIMLIB (lib/dim/)
      UBUNTU: SAUCE: linux/dim: avoid library object filename clash

Masahiro Yamada (1):
      linux/kernel.h: move DIV_ROUND_DOWN_ULL() macro

 debian.master/config/config.common.ubuntu |   1 +
 include/linux/bitops.h                    |   3 +-
 include/linux/dim.h                       | 346 ++++++++++++++++++++++++++++++
 include/linux/kernel.h                    |   7 +-
 lib/Kconfig                               |   8 +
 lib/Makefile                              |   1 +
 lib/dim/Makefile                          |   7 +
 lib/dim/dim.c                             |  83 +++++++
 lib/dim/net_dim.c                         | 246 +++++++++++++++++++++
 lib/dim/rdma_dim.c                        | 108 ++++++++++
 sound/soc/codecs/pcm512x.c                |   3 -
 11 files changed, 807 insertions(+), 6 deletions(-)
 create mode 100644 include/linux/dim.h
 create mode 100644 lib/dim/Makefile
 create mode 100644 lib/dim/dim.c
 create mode 100644 lib/dim/net_dim.c
 create mode 100644 lib/dim/rdma_dim.c

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

ACK/cmt: [SRU][X,B,D] backport DIMLIB (lib/dim/) to pre-5.2 kernels

Khaled Elmously
In reply to this post by Kamal Mostafa-2
On 2019-11-15 08:55:31 , Kamal Mostafa wrote:

> BugLink: https://bugs.launchpad.net/bugs/1852637
>
> The mellanox and broadcom drivers contained a "dynamic interrupt
> moderation" feature (as early as v5.0) which was broken out into a
> common kernel library 'DIMLIB' in lib/dim/ circa mainline v5.2.
>
> Backported drivers may now need DIMLIB to be available in pre-5.2
> kernels (specifically, the latest upstream version of
> net/ethernet/amazon/ena does).
>
> Pull req's to follow ...
>
> For Disco:
>     Apply all the mainline commits from v5.2 which extract DIMLIB from
>     mellanox/broadcom and wire those drivers to use DIMLIB (plus a few
>     later DIMLIB fixes). I.e. make Disco work the same as > 5.2 kernels;
>     no significant functional change to those drivers.
>
> For Bionic and Xenial:
>     Import the lib/dim/ directory from mainline (plus a couple porting
>     prerequisites), but do *not* make mellanox/broadcom use it. I.e. no
>     functional change at all.
>
>  -Kamal
>

Does it make sense to have the "[Config] enable DIMLIB" patch after the "import DIMLIB (lib/dim/)" change?
Either way,

Acked-by: Khalid Elmously <[hidden email]>


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

ACK/Cmnt: [SRU][X,B,D] backport DIMLIB (lib/dim/) to pre-5.2 kernels

Andrea Righi
In reply to this post by Kamal Mostafa-2
On Fri, Nov 15, 2019 at 08:55:31AM -0800, Kamal Mostafa wrote:

> BugLink: https://bugs.launchpad.net/bugs/1852637
>
> The mellanox and broadcom drivers contained a "dynamic interrupt
> moderation" feature (as early as v5.0) which was broken out into a
> common kernel library 'DIMLIB' in lib/dim/ circa mainline v5.2.
>
> Backported drivers may now need DIMLIB to be available in pre-5.2
> kernels (specifically, the latest upstream version of
> net/ethernet/amazon/ena does).
>
> Pull req's to follow ...
>
> For Disco:
>     Apply all the mainline commits from v5.2 which extract DIMLIB from
>     mellanox/broadcom and wire those drivers to use DIMLIB (plus a few
>     later DIMLIB fixes). I.e. make Disco work the same as > 5.2 kernels;
>     no significant functional change to those drivers.
>
> For Bionic and Xenial:
>     Import the lib/dim/ directory from mainline (plus a couple porting
>     prerequisites), but do *not* make mellanox/broadcom use it. I.e. no
>     functional change at all.
>
>  -Kamal

Pretty big change, but it seems self-contained and regression potential
seems minimal, therefore:

Acked-by: Andrea Righi <[hidden email]>

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

Re: ACK/cmt: [SRU][X, B, D] backport DIMLIB (lib/dim/) to pre-5.2 kernels

Kamal Mostafa-2
In reply to this post by Khaled Elmously
In this instance, it shouldn't matter whether the config-enable appears before or after the import (there aren't any consumers of the imported lib until a subsequent pull req).  I don't have any preference either way -- feel free to move it at apply time if you prefer.

 -Kamal

On Mon, Nov 25, 2019 at 8:44 AM Khaled Elmously <[hidden email]> wrote:
On 2019-11-15 08:55:31 , Kamal Mostafa wrote:
> BugLink: https://bugs.launchpad.net/bugs/1852637
>
> The mellanox and broadcom drivers contained a "dynamic interrupt
> moderation" feature (as early as v5.0) which was broken out into a
> common kernel library 'DIMLIB' in lib/dim/ circa mainline v5.2.
>
> Backported drivers may now need DIMLIB to be available in pre-5.2
> kernels (specifically, the latest upstream version of
> net/ethernet/amazon/ena does).
>
> Pull req's to follow ...
>
> For Disco:
>     Apply all the mainline commits from v5.2 which extract DIMLIB from
>     mellanox/broadcom and wire those drivers to use DIMLIB (plus a few
>     later DIMLIB fixes). I.e. make Disco work the same as > 5.2 kernels;
>     no significant functional change to those drivers.
>
> For Bionic and Xenial:
>     Import the lib/dim/ directory from mainline (plus a couple porting
>     prerequisites), but do *not* make mellanox/broadcom use it. I.e. no
>     functional change at all.
>
>  -Kamal
>

Does it make sense to have the "[Config] enable DIMLIB" patch after the "import DIMLIB (lib/dim/)" change?
Either way,

Acked-by: Khalid Elmously <[hidden email]>


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

APPLIED: [SRU][X,B,D] backport DIMLIB (lib/dim/) to pre-5.2 kernels

Stefan Bader-2
In reply to this post by Kamal Mostafa-2
On 15.11.19 17:55, Kamal Mostafa wrote:

> BugLink: https://bugs.launchpad.net/bugs/1852637
>
> The mellanox and broadcom drivers contained a "dynamic interrupt
> moderation" feature (as early as v5.0) which was broken out into a
> common kernel library 'DIMLIB' in lib/dim/ circa mainline v5.2.
>
> Backported drivers may now need DIMLIB to be available in pre-5.2
> kernels (specifically, the latest upstream version of
> net/ethernet/amazon/ena does).
>
> Pull req's to follow ...
>
> For Disco:
>     Apply all the mainline commits from v5.2 which extract DIMLIB from
>     mellanox/broadcom and wire those drivers to use DIMLIB (plus a few
>     later DIMLIB fixes). I.e. make Disco work the same as > 5.2 kernels;
>     no significant functional change to those drivers.
>
> For Bionic and Xenial:
>     Import the lib/dim/ directory from mainline (plus a couple porting
>     prerequisites), but do *not* make mellanox/broadcom use it. I.e. no
>     functional change at all.
>
>  -Kamal
>
Applied to disco,bionic,xenial/master-next. Thanks.

-Stefan


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team

signature.asc (849 bytes) Download Attachment