mbox series

[v4,00/17] sched: subport level configuration of pipe nodes

Message ID 20191014120951.152654-1-jasvinder.singh@intel.com (mailing list archive)
Headers
Series sched: subport level configuration of pipe nodes |

Message

Jasvinder Singh Oct. 14, 2019, 12:09 p.m. UTC
  This patchset refactors the dpdk qos sched library to allow subport
level configuration flexibility of the pipe nodes.

Currently, all parameters for the pipe nodes (subscribers)
configuration are part of the port level structure which forces
all groups of subscribers (pipes) in different subports to
have similar configurations in terms of their number, queue sizes,
traffic-classes, etc.

The new implementation moves pipe nodes configuration parameters
from port level to subport level structure. This allows different
subports of the same port to have different configuration for the
pipe nodes, for examples- number of pipes, queue sizes, pipe
profiles, etc.

In order to keep the implementation complexity under control, all
pipes within the same subport share the same configuration for queue
sizes.

v4:
- remove deprecation note
- rebase on current dpdk head
- add 64-bit values support

v3:
- improve doxygen comments

v2:
- fix qsize parsing in sample application
- fix checkpatch warnings

Jasvinder Singh (17):
  sched: add pipe config params to subport struct
  sched: modify internal structs for config flexibility
  sched: remove pipe params config from port level
  sched: add pipe config to subport level
  sched: modify pipe functions for config flexibility
  sched: modify pkt enqueue for config flexibility
  sched: update memory compute to support flexiblity
  sched: update grinder functions for config flexibility
  sched: update pkt dequeue for flexible config
  sched: update queue stats read for config flexibility
  test/sched: modify tests for subport config flexibility
  net/softnic: add subport config flexibility to TM
  ip_pipeline: add subport config flexibility to TM
  examples/qos_sched: add subport configuration flexibility
  sched: remove redundant code
  sched: add support for 64 bit values
  sched: modify internal structs and functions for 64 bit values

 app/test/test_sched.c                    |   35 +-
 doc/guides/rel_notes/deprecation.rst     |    6 -
 doc/guides/rel_notes/release_19_11.rst   |    7 +-
 drivers/net/softnic/rte_eth_softnic_tm.c |   54 +-
 examples/ip_pipeline/cli.c               |   89 +-
 examples/ip_pipeline/tmgr.c              |   25 +-
 examples/ip_pipeline/tmgr.h              |    9 +-
 examples/qos_sched/app_thread.c          |   20 +-
 examples/qos_sched/cfg_file.c            |  293 ++--
 examples/qos_sched/init.c                |   54 +-
 examples/qos_sched/main.h                |    1 +
 examples/qos_sched/profile.cfg           |    5 +-
 examples/qos_sched/profile_ov.cfg        |    5 +-
 examples/qos_sched/stats.c               |   50 +-
 lib/librte_sched/Makefile                |    2 +-
 lib/librte_sched/meson.build             |    2 +-
 lib/librte_sched/rte_approx.c            |   57 +-
 lib/librte_sched/rte_approx.h            |    3 +-
 lib/librte_sched/rte_sched.c             | 1575 +++++++++++++---------
 lib/librte_sched/rte_sched.h             |  157 ++-
 lib/librte_sched/rte_sched_common.h      |   12 +-
 lib/librte_sched/rte_sched_version.map   |    2 +-
 22 files changed, 1413 insertions(+), 1050 deletions(-)
  

Comments

Cristian Dumitrescu Oct. 14, 2019, 2:23 p.m. UTC | #1
> -----Original Message-----
> From: Singh, Jasvinder
> Sent: Monday, October 14, 2019 1:10 PM
> To: dev@dpdk.org
> Cc: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>
> Subject: [PATCH v4 00/17] sched: subport level configuration of pipe nodes
> 
> This patchset refactors the dpdk qos sched library to allow subport
> level configuration flexibility of the pipe nodes.
> 
> Currently, all parameters for the pipe nodes (subscribers)
> configuration are part of the port level structure which forces
> all groups of subscribers (pipes) in different subports to
> have similar configurations in terms of their number, queue sizes,
> traffic-classes, etc.
> 
> The new implementation moves pipe nodes configuration parameters
> from port level to subport level structure. This allows different
> subports of the same port to have different configuration for the
> pipe nodes, for examples- number of pipes, queue sizes, pipe
> profiles, etc.
> 
> In order to keep the implementation complexity under control, all
> pipes within the same subport share the same configuration for queue
> sizes.
> 
> v4:
> - remove deprecation note
> - rebase on current dpdk head
> - add 64-bit values support
> 

Hi Jasvinder,

I think the 64-bit counter support is a distinct unrelated feature, and I suggest we send a separate patchset for it. It also saves us re-reviewing the large patchset that was already reviewed?

Regards,
Cristian
  
Jasvinder Singh Oct. 14, 2019, 4:26 p.m. UTC | #2
> -----Original Message-----
> From: Dumitrescu, Cristian
> Sent: Monday, October 14, 2019 3:24 PM
> To: Singh, Jasvinder <jasvinder.singh@intel.com>; dev@dpdk.org
> Subject: RE: [PATCH v4 00/17] sched: subport level configuration of pipe nodes
> 
> 
> 
> > -----Original Message-----
> > From: Singh, Jasvinder
> > Sent: Monday, October 14, 2019 1:10 PM
> > To: dev@dpdk.org
> > Cc: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>
> > Subject: [PATCH v4 00/17] sched: subport level configuration of pipe
> > nodes
> >
> > This patchset refactors the dpdk qos sched library to allow subport
> > level configuration flexibility of the pipe nodes.
> >
> > Currently, all parameters for the pipe nodes (subscribers)
> > configuration are part of the port level structure which forces all
> > groups of subscribers (pipes) in different subports to have similar
> > configurations in terms of their number, queue sizes, traffic-classes,
> > etc.
> >
> > The new implementation moves pipe nodes configuration parameters from
> > port level to subport level structure. This allows different subports
> > of the same port to have different configuration for the pipe nodes,
> > for examples- number of pipes, queue sizes, pipe profiles, etc.
> >
> > In order to keep the implementation complexity under control, all
> > pipes within the same subport share the same configuration for queue
> > sizes.
> >
> > v4:
> > - remove deprecation note
> > - rebase on current dpdk head
> > - add 64-bit values support
> >
> 
> Hi Jasvinder,
> 
> I think the 64-bit counter support is a distinct unrelated feature, and I suggest
> we send a separate patchset for it. It also saves us re-reviewing the large
> patchset that was already reviewed?
> 

I sent separate patches on 64-but counter support. Thanks.