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-next>] [day] [month] [year] [list]
Message-ID: <20200520134734.2014-1-irusskikh@marvell.com>
Date:   Wed, 20 May 2020 16:47:22 +0300
From:   Igor Russkikh <irusskikh@...vell.com>
To:     <netdev@...r.kernel.org>
CC:     "David S . Miller" <davem@...emloft.net>,
        Mark Starovoytov <mstarovoitov@...vell.com>,
        Igor Russkikh <irusskikh@...vell.com>
Subject: [PATCH net-next 00/12] net: atlantic: QoS implementation

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ