mbox series

[v18,0/5] Add PIE support for HQoS library

Message ID 20211025113208.3910951-1-wojciechx.liguzinski@intel.com (mailing list archive)
Headers
Series Add PIE support for HQoS library |

Message

Liguzinski, WojciechX Oct. 25, 2021, 11:32 a.m. UTC
  DPDK sched library is equipped with mechanism that secures it from the bufferbloat problem
which is a situation when excess buffers in the network cause high latency and latency
variation. Currently, it supports RED for active queue management. However, more
advanced queue management is required to address this problem and provide desirable
quality of service to users.

This solution (RFC) proposes usage of new algorithm called "PIE" (Proportional Integral
controller Enhanced) that can effectively and directly control queuing latency to address
the bufferbloat problem.

The implementation of mentioned functionality includes modification of existing and
adding a new set of data structures to the library, adding PIE related APIs.
This affects structures in public API/ABI. That is why deprecation notice is going
to be prepared and sent.

Liguzinski, WojciechX (5):
  sched: add PIE based congestion management
  example/qos_sched: add PIE support
  example/ip_pipeline: add PIE support
  doc/guides/prog_guide: added PIE
  app/test: add tests for PIE

 app/test/meson.build                         |    4 +
 app/test/test_pie.c                          | 1065 ++++++++++++++++++
 config/rte_config.h                          |    1 -
 doc/guides/prog_guide/glossary.rst           |    3 +
 doc/guides/prog_guide/qos_framework.rst      |   64 +-
 doc/guides/prog_guide/traffic_management.rst |   13 +-
 drivers/net/softnic/rte_eth_softnic_tm.c     |    6 +-
 examples/ip_pipeline/tmgr.c                  |  142 +--
 examples/qos_sched/cfg_file.c                |  127 ++-
 examples/qos_sched/cfg_file.h                |    5 +
 examples/qos_sched/init.c                    |   27 +-
 examples/qos_sched/main.h                    |    3 +
 examples/qos_sched/profile.cfg               |  196 ++--
 lib/sched/meson.build                        |    3 +-
 lib/sched/rte_pie.c                          |   86 ++
 lib/sched/rte_pie.h                          |  398 +++++++
 lib/sched/rte_sched.c                        |  241 ++--
 lib/sched/rte_sched.h                        |   63 +-
 lib/sched/version.map                        |    4 +
 19 files changed, 2172 insertions(+), 279 deletions(-)
 create mode 100644 app/test/test_pie.c
 create mode 100644 lib/sched/rte_pie.c
 create mode 100644 lib/sched/rte_pie.h
  

Comments

Liu, Yu Y Oct. 26, 2021, 8:24 a.m. UTC | #1
Hi Thomas,

Would you merge this patch as the series is acked by Cristian as below?
https://patchwork.dpdk.org/project/dpdk/cover/20211019081902.3514841-1-wojciechx.liguzinski@intel.com/ 

Thanks & Regards,
Yu Liu

-----Original Message-----
From: dev <dev-bounces@dpdk.org> On Behalf Of Liguzinski, WojciechX
Sent: Monday, October 25, 2021 7:32 PM
To: dev@dpdk.org; Singh, Jasvinder <jasvinder.singh@intel.com>; Dumitrescu, Cristian <cristian.dumitrescu@intel.com>
Cc: Ajmera, Megha <megha.ajmera@intel.com>
Subject: [dpdk-dev] [PATCH v18 0/5] Add PIE support for HQoS library

DPDK sched library is equipped with mechanism that secures it from the bufferbloat problem which is a situation when excess buffers in the network cause high latency and latency variation. Currently, it supports RED for active queue management. However, more advanced queue management is required to address this problem and provide desirable quality of service to users.

This solution (RFC) proposes usage of new algorithm called "PIE" (Proportional Integral controller Enhanced) that can effectively and directly control queuing latency to address the bufferbloat problem.

The implementation of mentioned functionality includes modification of existing and adding a new set of data structures to the library, adding PIE related APIs.
This affects structures in public API/ABI. That is why deprecation notice is going to be prepared and sent.

Liguzinski, WojciechX (5):
  sched: add PIE based congestion management
  example/qos_sched: add PIE support
  example/ip_pipeline: add PIE support
  doc/guides/prog_guide: added PIE
  app/test: add tests for PIE

 app/test/meson.build                         |    4 +
 app/test/test_pie.c                          | 1065 ++++++++++++++++++
 config/rte_config.h                          |    1 -
 doc/guides/prog_guide/glossary.rst           |    3 +
 doc/guides/prog_guide/qos_framework.rst      |   64 +-
 doc/guides/prog_guide/traffic_management.rst |   13 +-
 drivers/net/softnic/rte_eth_softnic_tm.c     |    6 +-
 examples/ip_pipeline/tmgr.c                  |  142 +--
 examples/qos_sched/cfg_file.c                |  127 ++-
 examples/qos_sched/cfg_file.h                |    5 +
 examples/qos_sched/init.c                    |   27 +-
 examples/qos_sched/main.h                    |    3 +
 examples/qos_sched/profile.cfg               |  196 ++--
 lib/sched/meson.build                        |    3 +-
 lib/sched/rte_pie.c                          |   86 ++
 lib/sched/rte_pie.h                          |  398 +++++++
 lib/sched/rte_sched.c                        |  241 ++--
 lib/sched/rte_sched.h                        |   63 +-
 lib/sched/version.map                        |    4 +
 19 files changed, 2172 insertions(+), 279 deletions(-)  create mode 100644 app/test/test_pie.c  create mode 100644 lib/sched/rte_pie.c  create mode 100644 lib/sched/rte_pie.h

--
2.25.1

Series-acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
  
Thomas Monjalon Oct. 26, 2021, 8:33 a.m. UTC | #2
26/10/2021 10:24, Liu, Yu Y:
> Hi Thomas,
> 
> Would you merge this patch as the series is acked by Cristian as below?
> https://patchwork.dpdk.org/project/dpdk/cover/20211019081902.3514841-1-wojciechx.liguzinski@intel.com/

I didn't see any email from Cristian.
It seems you just added this ack silently at the bottom of the cover letter.

1/ an email from Cristian is far better
2/ when integrating ack, it must be done in patches, not cover letter


> 
> Thanks & Regards,
> Yu Liu
> 
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Liguzinski, WojciechX
> Sent: Monday, October 25, 2021 7:32 PM
> To: dev@dpdk.org; Singh, Jasvinder <jasvinder.singh@intel.com>; Dumitrescu, Cristian <cristian.dumitrescu@intel.com>
> Cc: Ajmera, Megha <megha.ajmera@intel.com>
> Subject: [dpdk-dev] [PATCH v18 0/5] Add PIE support for HQoS library
> 
> DPDK sched library is equipped with mechanism that secures it from the bufferbloat problem which is a situation when excess buffers in the network cause high latency and latency variation. Currently, it supports RED for active queue management. However, more advanced queue management is required to address this problem and provide desirable quality of service to users.
> 
> This solution (RFC) proposes usage of new algorithm called "PIE" (Proportional Integral controller Enhanced) that can effectively and directly control queuing latency to address the bufferbloat problem.
> 
> The implementation of mentioned functionality includes modification of existing and adding a new set of data structures to the library, adding PIE related APIs.
> This affects structures in public API/ABI. That is why deprecation notice is going to be prepared and sent.
> 
> Liguzinski, WojciechX (5):
>   sched: add PIE based congestion management
>   example/qos_sched: add PIE support
>   example/ip_pipeline: add PIE support
>   doc/guides/prog_guide: added PIE
>   app/test: add tests for PIE
> 
>  app/test/meson.build                         |    4 +
>  app/test/test_pie.c                          | 1065 ++++++++++++++++++
>  config/rte_config.h                          |    1 -
>  doc/guides/prog_guide/glossary.rst           |    3 +
>  doc/guides/prog_guide/qos_framework.rst      |   64 +-
>  doc/guides/prog_guide/traffic_management.rst |   13 +-
>  drivers/net/softnic/rte_eth_softnic_tm.c     |    6 +-
>  examples/ip_pipeline/tmgr.c                  |  142 +--
>  examples/qos_sched/cfg_file.c                |  127 ++-
>  examples/qos_sched/cfg_file.h                |    5 +
>  examples/qos_sched/init.c                    |   27 +-
>  examples/qos_sched/main.h                    |    3 +
>  examples/qos_sched/profile.cfg               |  196 ++--
>  lib/sched/meson.build                        |    3 +-
>  lib/sched/rte_pie.c                          |   86 ++
>  lib/sched/rte_pie.h                          |  398 +++++++
>  lib/sched/rte_sched.c                        |  241 ++--
>  lib/sched/rte_sched.h                        |   63 +-
>  lib/sched/version.map                        |    4 +
>  19 files changed, 2172 insertions(+), 279 deletions(-)  create mode 100644 app/test/test_pie.c  create mode 100644 lib/sched/rte_pie.c  create mode 100644 lib/sched/rte_pie.h
> 
> --
> 2.25.1
> 
> Series-acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
>
  
Cristian Dumitrescu Oct. 26, 2021, 10:02 a.m. UTC | #3
> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Tuesday, October 26, 2021 9:33 AM
> To: Liguzinski, WojciechX <wojciechx.liguzinski@intel.com>; Singh, Jasvinder
> <jasvinder.singh@intel.com>; Dumitrescu, Cristian
> <cristian.dumitrescu@intel.com>; Liu, Yu Y <yu.y.liu@intel.com>
> Cc: dev@dpdk.org; Ajmera, Megha <megha.ajmera@intel.com>; Liu, Yu Y
> <yu.y.liu@intel.com>; david.marchand@redhat.com
> Subject: Re: [dpdk-dev] [PATCH v18 0/5] Add PIE support for HQoS library
>
> 26/10/2021 10:24, Liu, Yu Y:
> > Hi Thomas,
> >
> > Would you merge this patch as the series is acked by Cristian as below?
> >
> https://patchwork.dpdk.org/project/dpdk/cover/20211019081902.3514841-
> 1-wojciechx.liguzinski@intel.com/
>
> I didn't see any email from Cristian.
> It seems you just added this ack silently at the bottom of the cover letter.
>
> 1/ an email from Cristian is far better
> 2/ when integrating ack, it must be done in patches, not cover letter
>

Hi Thomas,

I did ack this set in a previous version (V15) by replying with "Series-acked-by" on the cover letter email, which does not show in patchwork. Is there a better way to do this?

It would be good to have Jasvinder's ack as well on this series, as he is looking into some other aspects of the sched library.

Regards,
Cristian
>
> >
> > Thanks & Regards,
> > Yu Liu
> >
> > -----Original Message-----
> > From: dev <dev-bounces@dpdk.org> On Behalf Of Liguzinski, WojciechX
> > Sent: Monday, October 25, 2021 7:32 PM
> > To: dev@dpdk.org; Singh, Jasvinder <jasvinder.singh@intel.com>;
> Dumitrescu, Cristian <cristian.dumitrescu@intel.com>
> > Cc: Ajmera, Megha <megha.ajmera@intel.com>
> > Subject: [dpdk-dev] [PATCH v18 0/5] Add PIE support for HQoS library
> >
> > DPDK sched library is equipped with mechanism that secures it from the
> bufferbloat problem which is a situation when excess buffers in the network
> cause high latency and latency variation. Currently, it supports RED for active
> queue management. However, more advanced queue management is
> required to address this problem and provide desirable quality of service to
> users.
> >
> > This solution (RFC) proposes usage of new algorithm called "PIE"
> (Proportional Integral controller Enhanced) that can effectively and directly
> control queuing latency to address the bufferbloat problem.
> >
> > The implementation of mentioned functionality includes modification of
> existing and adding a new set of data structures to the library, adding PIE
> related APIs.
> > This affects structures in public API/ABI. That is why deprecation notice is
> going to be prepared and sent.
> >
> > Liguzinski, WojciechX (5):
> >   sched: add PIE based congestion management
> >   example/qos_sched: add PIE support
> >   example/ip_pipeline: add PIE support
> >   doc/guides/prog_guide: added PIE
> >   app/test: add tests for PIE
> >
> >  app/test/meson.build                         |    4 +
> >  app/test/test_pie.c                          | 1065 ++++++++++++++++++
> >  config/rte_config.h                          |    1 -
> >  doc/guides/prog_guide/glossary.rst           |    3 +
> >  doc/guides/prog_guide/qos_framework.rst      |   64 +-
> >  doc/guides/prog_guide/traffic_management.rst |   13 +-
> >  drivers/net/softnic/rte_eth_softnic_tm.c     |    6 +-
> >  examples/ip_pipeline/tmgr.c                  |  142 +--
> >  examples/qos_sched/cfg_file.c                |  127 ++-
> >  examples/qos_sched/cfg_file.h                |    5 +
> >  examples/qos_sched/init.c                    |   27 +-
> >  examples/qos_sched/main.h                    |    3 +
> >  examples/qos_sched/profile.cfg               |  196 ++--
> >  lib/sched/meson.build                        |    3 +-
> >  lib/sched/rte_pie.c                          |   86 ++
> >  lib/sched/rte_pie.h                          |  398 +++++++
> >  lib/sched/rte_sched.c                        |  241 ++--
> >  lib/sched/rte_sched.h                        |   63 +-
> >  lib/sched/version.map                        |    4 +
> >  19 files changed, 2172 insertions(+), 279 deletions(-)  create mode 100644
> app/test/test_pie.c  create mode 100644 lib/sched/rte_pie.c  create mode
> 100644 lib/sched/rte_pie.h
> >
> > --
> > 2.25.1
> >
> > Series-acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
> >
>
>
>
>
  
Thomas Monjalon Oct. 26, 2021, 10:10 a.m. UTC | #4
26/10/2021 12:02, Dumitrescu, Cristian:
> From: Thomas Monjalon <thomas@monjalon.net>
> > 26/10/2021 10:24, Liu, Yu Y:
> > > Hi Thomas,
> > >
> > > Would you merge this patch as the series is acked by Cristian as below?
> > >
> > https://patchwork.dpdk.org/project/dpdk/cover/20211019081902.3514841-
> > 1-wojciechx.liguzinski@intel.com/
> > 
> > I didn't see any email from Cristian.
> > It seems you just added this ack silently at the bottom of the cover letter.
> > 
> > 1/ an email from Cristian is far better
> > 2/ when integrating ack, it must be done in patches, not cover letter
> > 
> 
> Hi Thomas,
> 
> I did ack this set in a previous version (V15) by replying with "Series-acked-by" on the cover letter email, which does not show in patchwork. Is there a better way to do this?

No you did the right thing (I missed this email on v15).
But v16 did not show your ack.
And v17 added it only in the cover letter instead of reporting it in all patches.


> It would be good to have Jasvinder's ack as well on this series, as he is looking into some other aspects of the sched library.

Yes
  
Liguzinski, WojciechX Oct. 26, 2021, 10:20 a.m. UTC | #5
Hi,

V16 - My bad, probably I haven't copied it correctly when preparing cover letter
V17 - I understood Cristian's comment as to copy the Series ACK to next versions of patches, and not to "split it" for each one. If that was the correct way I had no knowledge about it.

Wojtek

-----Original Message-----
From: Thomas Monjalon <thomas@monjalon.net> 
Sent: Tuesday, October 26, 2021 12:10 PM
To: Liguzinski, WojciechX <wojciechx.liguzinski@intel.com>; Singh, Jasvinder <jasvinder.singh@intel.com>; Liu, Yu Y <yu.y.liu@intel.com>; Singh, Jasvinder <jasvinder.singh@intel.com>; Dumitrescu, Cristian <cristian.dumitrescu@intel.com>
Cc: dev@dpdk.org; Ajmera, Megha <megha.ajmera@intel.com>; Liu, Yu Y <yu.y.liu@intel.com>; david.marchand@redhat.com
Subject: Re: [dpdk-dev] [PATCH v18 0/5] Add PIE support for HQoS library

26/10/2021 12:02, Dumitrescu, Cristian:
> From: Thomas Monjalon <thomas@monjalon.net>
> > 26/10/2021 10:24, Liu, Yu Y:
> > > Hi Thomas,
> > >
> > > Would you merge this patch as the series is acked by Cristian as below?
> > >
> > https://patchwork.dpdk.org/project/dpdk/cover/20211019081902.3514841
> > -
> > 1-wojciechx.liguzinski@intel.com/
> > 
> > I didn't see any email from Cristian.
> > It seems you just added this ack silently at the bottom of the cover letter.
> > 
> > 1/ an email from Cristian is far better 2/ when integrating ack, it 
> > must be done in patches, not cover letter
> > 
> 
> Hi Thomas,
> 
> I did ack this set in a previous version (V15) by replying with "Series-acked-by" on the cover letter email, which does not show in patchwork. Is there a better way to do this?

No you did the right thing (I missed this email on v15).
But v16 did not show your ack.
And v17 added it only in the cover letter instead of reporting it in all patches.


> It would be good to have Jasvinder's ack as well on this series, as he is looking into some other aspects of the sched library.

Yes
  
Thomas Monjalon Oct. 26, 2021, 10:25 a.m. UTC | #6
26/10/2021 12:20, Liguzinski, WojciechX:
> Hi,
> 
> V16 - My bad, probably I haven't copied it correctly when preparing cover letter
> V17 - I understood Cristian's comment as to copy the Series ACK to next versions of patches, and not to "split it" for each one. If that was the correct way I had no knowledge about it.

Yes you had to reproduce it in each patch. Otherwise who would do it
to make it appear in patchwork and in the git history when merged?
I understand you did not have that knowledge.
For future, I hope the Intel team will better track features patches
of newcomers so they don't miss something knew by others.

John, I know knowledge sharing is not an easy task, we always have to improve :)



> From: Thomas Monjalon <thomas@monjalon.net> 
> 26/10/2021 12:02, Dumitrescu, Cristian:
> > From: Thomas Monjalon <thomas@monjalon.net>
> > > 26/10/2021 10:24, Liu, Yu Y:
> > > > Hi Thomas,
> > > >
> > > > Would you merge this patch as the series is acked by Cristian as below?
> > > >
> > > https://patchwork.dpdk.org/project/dpdk/cover/20211019081902.3514841
> > > -
> > > 1-wojciechx.liguzinski@intel.com/
> > > 
> > > I didn't see any email from Cristian.
> > > It seems you just added this ack silently at the bottom of the cover letter.
> > > 
> > > 1/ an email from Cristian is far better 2/ when integrating ack, it 
> > > must be done in patches, not cover letter
> > > 
> > 
> > Hi Thomas,
> > 
> > I did ack this set in a previous version (V15) by replying with "Series-acked-by" on the cover letter email, which does not show in patchwork. Is there a better way to do this?
> 
> No you did the right thing (I missed this email on v15).
> But v16 did not show your ack.
> And v17 added it only in the cover letter instead of reporting it in all patches.
> 
> 
> > It would be good to have Jasvinder's ack as well on this series, as he is looking into some other aspects of the sched library.
> 
> Yes
> 
> 
>