cxgb4: add FLOWC based QoS offload
Rework SCHED API to allow offloading TC-MQPRIO QoS configuration. The existing QUEUE based rate limiting throttles all queues sharing a traffic class, to the specified max rate limit value. So, if multiple queues share a traffic class, then all the queues get the aggregate specified max rate limit. So, introduce the new FLOWC based rate limiting, where multiple queues can share a traffic class with each queue getting its own individual specified max rate limit. For example, if 2 queues are bound to class 0, which is rate limited to 1 Gbps, then 2 queues using QUEUE based rate limiting, get the aggregate output of 1 Gbps only. In FLOWC based rate limiting, each queue gets its own output of max 1 Gbps each; i.e. 2 queues * 1 Gbps rate limit = 2 Gbps. Signed-off-by:Rahul Lakkireddy <rahul.lakkireddy@chelsio.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- drivers/net/ethernet/chelsio/cxgb4/cxgb4.h 16 additions, 0 deletionsdrivers/net/ethernet/chelsio/cxgb4/cxgb4.h
- drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c 134 additions, 0 deletionsdrivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c
- drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.h 3 additions, 0 deletionsdrivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.h
- drivers/net/ethernet/chelsio/cxgb4/sched.c 183 additions, 46 deletionsdrivers/net/ethernet/chelsio/cxgb4/sched.c
- drivers/net/ethernet/chelsio/cxgb4/sched.h 9 additions, 1 deletiondrivers/net/ethernet/chelsio/cxgb4/sched.h
- drivers/net/ethernet/chelsio/cxgb4/sge.c 144 additions, 6 deletionsdrivers/net/ethernet/chelsio/cxgb4/sge.c
- drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h 6 additions, 0 deletionsdrivers/net/ethernet/chelsio/cxgb4/t4fw_api.h
Loading
Please register or sign in to comment