]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'net-atlantic-QoS-implementation'
authorDavid S. Miller <davem@davemloft.net>
Fri, 22 May 2020 21:08:29 +0000 (14:08 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 22 May 2020 21:08:29 +0000 (14:08 -0700)
commit550e1d9747e40143c67c54d33421d577179a72f9
tree25315f1a3ef14bdbbedb8c1d1579ba114875c4e7
parent94d99914c2f2eab94200aa13aa3987b5b41e96a2
parentbb3793f3ca0c39f951082c05bbed4956d88517b6
Merge branch 'net-atlantic-QoS-implementation'

Igor Russkikh says:

====================
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
consumes a whole traffic class due to hardware limitations.
Patches below have a more detailed description on how PTP and multi-TC
co-exist right now.

v2:
 * accommodated review comments (-Wmissing-prototypes and
   -Wunused-but-set-variable findings);
 * added user notification in case of conflicting multi-TC<->PTP
   configuration;
 * added automatic PTP disabling, if a conflicting configuration is
   detected;
 * removed module param, which was used for PTP disabling in v1;

v1: https://patchwork.ozlabs.org/cover/1294380/
====================

Acked-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>