All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 00/12] net: atlantic: QoS implementation
@ 2020-05-20 13:47 Igor Russkikh
  2020-05-20 13:47 ` [PATCH net-next 01/12] net: atlantic: changes for multi-TC support Igor Russkikh
                   ` (11 more replies)
  0 siblings, 12 replies; 27+ messages in thread
From: Igor Russkikh @ 2020-05-20 13:47 UTC (permalink / raw)
  To: netdev; +Cc: David S . Miller, Mark Starovoytov, Igor Russkikh

This patch series adds support for mqprio rate limiters and multi-TC:
 * max_rate is supported on both A1 and A2;
 * min_rate is supported on A2 only;

This is a joint work of Mark and Dmitry.

To implement this feature, a couple of rearrangements and code
improvements were done, in areas of TC/ring management, allocation
control, etc.

One of the problems we faced is conflicting ptp functionality, which
due to hardware limitations consumes whole traffic class.
Patches below has more detailed description on how this coexist now.


Dmitry Bezrukov (4):
  net: atlantic: changes for multi-TC support
  net: atlantic: move PTP TC initialization to a separate function
  net: atlantic: changes for multi-TC support
  net: atlantic: QoS implementation: multi-TC support

Mark Starovoytov (8):
  net: atlantic: per-TC queue statistics
  net: atlantic: make TCVEC2RING accept nic_cfg
  net: atlantic: QoS implementation: max_rate
  net: atlantic: automatically downgrade the number of queues if
    necessary
  net: atlantic: always use random TC-queue mapping for TX on A2.
  net: atlantic: change the order of arguments for TC weight/credit
    setters
  net: atlantic: QoS implementation: min_rate
  net: atlantic: proper rss_ctrl1 (54c0) initialization

 .../net/ethernet/aquantia/atlantic/aq_cfg.h   |   3 +
 .../ethernet/aquantia/atlantic/aq_ethtool.c   |  74 +++--
 .../ethernet/aquantia/atlantic/aq_filters.c   |  11 +-
 .../net/ethernet/aquantia/atlantic/aq_hw.h    |  20 +-
 .../ethernet/aquantia/atlantic/aq_hw_utils.c  |  26 ++
 .../ethernet/aquantia/atlantic/aq_hw_utils.h  |   2 +
 .../net/ethernet/aquantia/atlantic/aq_main.c  |  72 ++++-
 .../net/ethernet/aquantia/atlantic/aq_nic.c   | 266 ++++++++++++----
 .../net/ethernet/aquantia/atlantic/aq_nic.h   |  27 +-
 .../ethernet/aquantia/atlantic/aq_pci_func.c  |   3 +
 .../net/ethernet/aquantia/atlantic/aq_ptp.c   |  27 +-
 .../net/ethernet/aquantia/atlantic/aq_ring.c  |  19 +-
 .../net/ethernet/aquantia/atlantic/aq_vec.c   |  72 +++--
 .../net/ethernet/aquantia/atlantic/aq_vec.h   |   8 +-
 .../aquantia/atlantic/hw_atl/hw_atl_a0.c      |  10 +-
 .../aquantia/atlantic/hw_atl/hw_atl_b0.c      | 255 ++++++++++-----
 .../aquantia/atlantic/hw_atl/hw_atl_b0.h      |   2 +
 .../atlantic/hw_atl/hw_atl_b0_internal.h      |   6 +-
 .../aquantia/atlantic/hw_atl/hw_atl_llh.c     |  65 +++-
 .../aquantia/atlantic/hw_atl/hw_atl_llh.h     |  32 +-
 .../atlantic/hw_atl/hw_atl_llh_internal.h     | 101 +++++-
 .../aquantia/atlantic/hw_atl2/hw_atl2.c       | 301 +++++++++++++-----
 .../atlantic/hw_atl2/hw_atl2_internal.h       |  12 +-
 .../aquantia/atlantic/hw_atl2/hw_atl2_llh.c   |  36 ++-
 .../aquantia/atlantic/hw_atl2/hw_atl2_llh.h   |  19 +-
 .../atlantic/hw_atl2/hw_atl2_llh_internal.h   | 111 +++++--
 26 files changed, 1200 insertions(+), 380 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2020-05-21 21:37 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-20 13:47 [PATCH net-next 00/12] net: atlantic: QoS implementation Igor Russkikh
2020-05-20 13:47 ` [PATCH net-next 01/12] net: atlantic: changes for multi-TC support Igor Russkikh
2020-05-20 13:47 ` [PATCH net-next 02/12] net: atlantic: move PTP TC initialization to a separate function Igor Russkikh
2020-05-20 13:47 ` [PATCH net-next 03/12] net: atlantic: changes for multi-TC support Igor Russkikh
2020-05-20 17:08   ` Jakub Kicinski
2020-05-20 21:01   ` Jakub Kicinski
2020-05-21  9:18     ` [EXT] " Mark Starovoytov
2020-05-21 19:11       ` Jakub Kicinski
2020-05-21 20:38         ` Igor Russkikh
2020-05-21 21:36         ` David Miller
2020-05-20 23:18   ` kbuild test robot
2020-05-20 23:18     ` kbuild test robot
2020-05-21  2:15   ` kbuild test robot
2020-05-21  2:15     ` kbuild test robot
2020-05-21  2:15   ` [RFC PATCH] net: atlantic: ptp_ring_idx() can be static kbuild test robot
2020-05-21  2:15     ` kbuild test robot
2020-05-20 13:47 ` [PATCH net-next 04/12] net: atlantic: QoS implementation: multi-TC support Igor Russkikh
2020-05-20 13:47 ` [PATCH net-next 05/12] net: atlantic: per-TC queue statistics Igor Russkikh
2020-05-20 13:47 ` [PATCH net-next 06/12] net: atlantic: make TCVEC2RING accept nic_cfg Igor Russkikh
2020-05-20 13:47 ` [PATCH net-next 07/12] net: atlantic: QoS implementation: max_rate Igor Russkikh
2020-05-20 17:11   ` Jakub Kicinski
2020-05-20 18:05     ` [EXT] " Igor Russkikh
2020-05-20 13:47 ` [PATCH net-next 08/12] net: atlantic: automatically downgrade the number of queues if necessary Igor Russkikh
2020-05-20 13:47 ` [PATCH net-next 09/12] net: atlantic: always use random TC-queue mapping for TX on A2 Igor Russkikh
2020-05-20 13:47 ` [PATCH net-next 10/12] net: atlantic: change the order of arguments for TC weight/credit setters Igor Russkikh
2020-05-20 13:47 ` [PATCH net-next 11/12] net: atlantic: QoS implementation: min_rate Igor Russkikh
2020-05-20 13:47 ` [PATCH net-next 12/12] net: atlantic: proper rss_ctrl1 (54c0) initialization Igor Russkikh

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.