David S. Miller 9bff668419 mlx5-updates-2021-07-24
This series aims to reduce coupling in mlx5e, particularly between RX
 resources (TIRs, RQTs) and numerous code units that use them.
 
 This refactoring is required for upcoming features, ADQ and TX lag
 hashing.
 
 The issue with the current code is that TIRs and RQTs are unmanaged,
 different places all over the driver create, destroy, track and
 configure them, often in an uncoordinated way. The responsibilities of
 different units become vague, leading to a lot of hidden dependencies
 between numerous units and tight coupling between them, which is prone
 to bugs and hard to maintain.
 
 The result of this refactoring is:
 
 1. Creating a manager for RX resources, that controls their lifecycle
 and provides a clear API, which restricts the set of actions that other
 units can do.
 
 2. Using object-oriented approach for TIRs, RQTs and RX resource
 manager (struct mlx5e_rx_res).
 
 3. Fixing a few bugs and misbehaviors found during the refactoring.
 
 4. Reducing the amount of dependencies, removing hidden dependencies,
 making them one-directional and organizing the code in clear abstraction
 layers.
 
 5. Explicitly exposing the remaining weird dependencies.
 
 6. Simplifying and organizing code that creates and modifies TIRs and
 RQTs.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEGhZs6bAKwk/OTgTpSD+KveBX+j4FAmD+5+EACgkQSD+KveBX
 +j6l/Qf9FHU8xRCBW0Bn4Ja0CnS/C3MJMIBTRbe+Qq2noj6qr8y6ut8Z7jV3hGaw
 dvcA6bVxpWPsqrY5CX4errfo2T4QiAsYhIeXrE2liCZsMUeYeZLusAYquks0oo57
 ai2FnihMvL5Xf9U2r+aAeT4dxpQBJ7ANON+b+ZRCFjwRl8CZkd7i4pnifLYpptye
 d6de6QSZkvxc818homiALdu0VH8HOBZALzfMI9y2Oh9peW+irc2UhEoThukD5VCD
 Turm6WBQ4xteQq3uNKebbqg0cEevyQjHoUmBg799xD0tHzFbSp+kV3ivHKxsksUF
 sOBdEumQjDc6J22uTnA086dIStN7sA==
 =jxI/
 -----END PGP SIGNATURE-----

Merge tag 'mlx5-updates-2021-07-24' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux

mlx5-updates-2021-07-24

This series aims to reduce coupling in mlx5e, particularly between RX
resources (TIRs, RQTs) and numerous code units that use them.

This refactoring is required for upcoming features, ADQ and TX lag
hashing.

The issue with the current code is that TIRs and RQTs are unmanaged,
different places all over the driver create, destroy, track and
configure them, often in an uncoordinated way. The responsibilities of
different units become vague, leading to a lot of hidden dependencies
between numerous units and tight coupling between them, which is prone
to bugs and hard to maintain.

The result of this refactoring is:

1. Creating a manager for RX resources, that controls their lifecycle
and provides a clear API, which restricts the set of actions that other
units can do.

2. Using object-oriented approach for TIRs, RQTs and RX resource
manager (struct mlx5e_rx_res).

3. Fixing a few bugs and misbehaviors found during the refactoring.

4. Reducing the amount of dependencies, removing hidden dependencies,
making them one-directional and organizing the code in clear abstraction
layers.

5. Explicitly exposing the remaining weird dependencies.

6. Simplifying and organizing code that creates and modifies TIRs and
RQTs.

Saeed Mahameed says:

====================
mlx5 updates 2021-07-24

This series provides some refactoring to mlx5e RX resource management,
it is required for upcoming ADQ and TX lag hashing features.

The first two patches in this series :
  net/mlx5e: Prohibit inner indir TIRs in IPoIB
  net/mlx5e: Block LRO if firmware asks for tunneled LRO
Were supposed to go to net, but due to dependency and timing they were
included here.
I would appreciate it if you'd apply them to net and mark for -stable.

For more information please see tag log below.

Please pull and let me know if there is any problem.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2021-07-26 22:32:24 +01:00
..
2021-07-21 08:57:41 -07:00
2021-07-26 22:32:24 +01:00
2021-06-30 15:51:09 -07:00
2021-07-21 22:55:59 -07:00
2021-07-21 09:10:24 -07:00