Message ID | 20211102235750.422908-1-wojciechx.liguzinski@intel.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 67370A0C4B; Wed, 3 Nov 2021 00:57:57 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2D62E40E03; Wed, 3 Nov 2021 00:57:57 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 5453840689 for <dev@dpdk.org>; Wed, 3 Nov 2021 00:57:55 +0100 (CET) X-IronPort-AV: E=McAfee;i="6200,9189,10156"; a="230115844" X-IronPort-AV: E=Sophos;i="5.87,203,1631602800"; d="scan'208";a="230115844" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Nov 2021 16:57:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,203,1631602800"; d="scan'208";a="467922896" Received: from silpixa00400629.ir.intel.com ([10.237.213.30]) by orsmga002.jf.intel.com with ESMTP; 02 Nov 2021 16:57:52 -0700 From: "Liguzinski, WojciechX" <wojciechx.liguzinski@intel.com> To: dev@dpdk.org, jasvinder.singh@intel.com, cristian.dumitrescu@intel.com Cc: megha.ajmera@intel.com, Wojciech Liguzinski <wojciechx.liguzinski@intel.com> Date: Tue, 2 Nov 2021 23:57:45 +0000 Message-Id: <20211102235750.422908-1-wojciechx.liguzinski@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211028101802.4127295-1-wojciechx.liguzinski@intel.com> References: <20211028101802.4127295-1-wojciechx.liguzinski@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v20 0/5] Add PIE support for HQoS library X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series | Add PIE support for HQoS library | |
Message
Liguzinski, WojciechX
Nov. 2, 2021, 11:57 p.m. UTC
From: Wojciech Liguzinski <wojciechx.liguzinski@intel.com>
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.
Wojciech Liguzinski (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 | 259 +++--
lib/sched/rte_sched.h | 64 +-
lib/sched/version.map | 4 +
19 files changed, 2189 insertions(+), 281 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
03/11/2021 00:57, Liguzinski, WojciechX: > From: Wojciech Liguzinski <wojciechx.liguzinski@intel.com> > > 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. > > Wojciech Liguzinski (5): > sched: add PIE based congestion management Did you see the checkpatch issues on this patch? http://mails.dpdk.org/archives/test-report/2021-November/238253.html > example/qos_sched: add PIE support The strict minimum is to explain why you add PIE and what the acronym means, inside the commit log. > example/ip_pipeline: add PIE support Title should follow same convention as history. For examples, it start with "examples/" as the directory name. > doc/guides/prog_guide: added PIE doc should be squashed with code patches Is there any doc update related to the examples? If not, it should be fully squashed with lib changes. > app/test: add tests for PIE If there is nothing special, it can be squashed with the lib patch.
Hi Thomas, Thanks, I will apply your suggestions asap. Wojtek -----Original Message----- From: Thomas Monjalon <thomas@monjalon.net> Sent: Wednesday, November 3, 2021 6:53 PM To: Liguzinski, WojciechX <wojciechx.liguzinski@intel.com> Cc: dev@dpdk.org; Singh, Jasvinder <jasvinder.singh@intel.com>; Dumitrescu, Cristian <cristian.dumitrescu@intel.com>; Ajmera, Megha <megha.ajmera@intel.com>; Mcnamara, John <john.mcnamara@intel.com> Subject: Re: [dpdk-dev] [PATCH v20 0/5] Add PIE support for HQoS library 03/11/2021 00:57, Liguzinski, WojciechX: > From: Wojciech Liguzinski <wojciechx.liguzinski@intel.com> > > 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. > > Wojciech Liguzinski (5): > sched: add PIE based congestion management Did you see the checkpatch issues on this patch? http://mails.dpdk.org/archives/test-report/2021-November/238253.html > example/qos_sched: add PIE support The strict minimum is to explain why you add PIE and what the acronym means, inside the commit log. > example/ip_pipeline: add PIE support Title should follow same convention as history. For examples, it start with "examples/" as the directory name. > doc/guides/prog_guide: added PIE doc should be squashed with code patches Is there any doc update related to the examples? If not, it should be fully squashed with lib changes. > app/test: add tests for PIE If there is nothing special, it can be squashed with the lib patch.