mbox series

[net-next,v2,0/5] Add QoS offload support for sparx5

Message ID 20220920101432.139323-1-daniel.machon@microchip.com (mailing list archive)
Headers show
Series Add QoS offload support for sparx5 | expand

Message

Daniel Machon Sept. 20, 2022, 10:14 a.m. UTC
This patch series adds support for offloading QoS features with the tc
command suite, to the sparx5 switch. The new offloadable QoS features
introduced in this patch series are:

  - tc-mqprio for mapping traffic class to hardware queue. Queues are by
    default mapped 1:1  in hardware, as such the mqprio qdisc is used as
    an attachment point for qdiscs tbf and ets.
    
    $ tc qdisc add dev eth0 root handle 1:0 mqprio
    
  - tc-tbf for setting up shaping on scheduler elements of the HSCH
    (Hierarchical Scheduler) block. Shaping on either port output or
    queue output is supported.
    
    Port shaper: $ tc qdisc add dev eth0 root handle 1:0 tbf rate \
    10000000 burst 8192 limit 1m

    Queue shaper: $ tc qdisc replace dev eth0 parent 1:5 handle 2:0 tbf \
    rate 10000000 burst 8192 limit 1m
  
  - tc-ets for setting up strict and or bandwidth-sharing bands on one
    through eight priority queues.
    
    Configure a mix of strict and bw-sharing bands: 
    $ tc qdisc add dev eth0 handle 1: root ets bands 8 strict 5 \ 
    quanta 1000 1000 1000 priomap 7 6 5 4 3 2 1 0

Patch #1 Sets up the tc hook.
Patch #2 Adds support for offloading the tc-mqprio qdisc.
Patch #3 Adds support for offloading the tc-tbf qdisc.
Patch #4 Adds support for offloading the tc-ets qdisc.
Patch #5 Updates the maintainers of the sparx5 driver.

========================================================================

v1:
https://lore.kernel.org/netdev/20220919120215.3815696-1-daniel.machon@microchip.com/

v1 -> v2:
  - Fix compiler warning in patch #2
  - Fix comment style in patch #4

Daniel Machon (5):
  net: microchip: sparx5: add tc setup hook
  net: microchip: sparx5: add support for offloading mqprio qdisc
  net: microchip: sparx5: add support for offloading tbf qdisc
  net: microchip: sparx5: add support for offloading ets qdisc
  maintainers: update MAINTAINERS file.

 MAINTAINERS                                   |   1 +
 .../net/ethernet/microchip/sparx5/Makefile    |   2 +-
 .../ethernet/microchip/sparx5/sparx5_main.c   |   7 +
 .../microchip/sparx5/sparx5_main_regs.h       | 165 ++++++
 .../ethernet/microchip/sparx5/sparx5_netdev.c |   8 +-
 .../ethernet/microchip/sparx5/sparx5_qos.c    | 514 ++++++++++++++++++
 .../ethernet/microchip/sparx5/sparx5_qos.h    |  82 +++
 .../net/ethernet/microchip/sparx5/sparx5_tc.c | 125 +++++
 .../net/ethernet/microchip/sparx5/sparx5_tc.h |  15 +
 9 files changed, 917 insertions(+), 2 deletions(-)
 create mode 100644 drivers/net/ethernet/microchip/sparx5/sparx5_qos.c
 create mode 100644 drivers/net/ethernet/microchip/sparx5/sparx5_qos.h
 create mode 100644 drivers/net/ethernet/microchip/sparx5/sparx5_tc.c
 create mode 100644 drivers/net/ethernet/microchip/sparx5/sparx5_tc.h

Comments

patchwork-bot+netdevbpf@kernel.org Sept. 23, 2022, 9:20 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by David S. Miller <davem@davemloft.net>:

On Tue, 20 Sep 2022 12:14:27 +0200 you wrote:
> This patch series adds support for offloading QoS features with the tc
> command suite, to the sparx5 switch. The new offloadable QoS features
> introduced in this patch series are:
> 
>   - tc-mqprio for mapping traffic class to hardware queue. Queues are by
>     default mapped 1:1  in hardware, as such the mqprio qdisc is used as
>     an attachment point for qdiscs tbf and ets.
> 
> [...]

Here is the summary with links:
  - [net-next,v2,1/5] net: microchip: sparx5: add tc setup hook
    https://git.kernel.org/netdev/net-next/c/65ec1bbe0297
  - [net-next,v2,2/5] net: microchip: sparx5: add support for offloading mqprio qdisc
    https://git.kernel.org/netdev/net-next/c/ab0e493e75bd
  - [net-next,v2,3/5] net: microchip: sparx5: add support for offloading tbf qdisc
    https://git.kernel.org/netdev/net-next/c/e02a5ac6bf77
  - [net-next,v2,4/5] net: microchip: sparx5: add support for offloading ets qdisc
    https://git.kernel.org/netdev/net-next/c/211225428d65
  - [net-next,v2,5/5] maintainers: update MAINTAINERS file.
    https://git.kernel.org/netdev/net-next/c/d91a6d049010

You are awesome, thank you!