From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 10F45A0C46;
	Wed,  9 Jun 2021 12:54:10 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 8E0844069B;
	Wed,  9 Jun 2021 12:54:09 +0200 (CEST)
Received: from mga12.intel.com (mga12.intel.com [192.55.52.136])
 by mails.dpdk.org (Postfix) with ESMTP id EE7874003C
 for <dev@dpdk.org>; Wed,  9 Jun 2021 12:54:07 +0200 (CEST)
IronPort-SDR: 7ZMxrnKgX7PYZ7gRJrsRF7OQjzV5IoLMl2LGLy3MYK+pwCOB4wnhvVWbjVyhLg5Eece47/Ut+y
 2hWbMLPx0rUQ==
X-IronPort-AV: E=McAfee;i="6200,9189,10009"; a="184736334"
X-IronPort-AV: E=Sophos;i="5.83,260,1616482800"; d="scan'208";a="184736334"
Received: from fmsmga001.fm.intel.com ([10.253.24.23])
 by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 09 Jun 2021 03:54:06 -0700
IronPort-SDR: UgP7fs/+qJZ5TKmrwE/iBrmTKycjeKdfSP3ymlJGGDU/RE5kG1TL9YQltIFfPkS8+DPIIO2er9
 0yOGoFA14rfA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.83,260,1616482800"; d="scan'208";a="552637806"
Received: from silpixa00400629.ir.intel.com ([10.237.214.62])
 by fmsmga001.fm.intel.com with ESMTP; 09 Jun 2021 03:53:58 -0700
From: "Liguzinski, WojciechX" <wojciechx.liguzinski@intel.com>
To: dev@dpdk.org,
	jasvinder.singh@intel.com,
	cristian.dumitrescu@intel.com
Cc: savinay.dharmappa@intel.com,
	megha.ajmera@intel.com
Date: Wed,  9 Jun 2021 11:53:34 +0100
Message-Id: <20210609105337.70405-1-wojciechx.liguzinski@intel.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20210524105822.63171-1-wojciechx.liguzinski@intel.com>
References: <20210524105822.63171-1-wojciechx.liguzinski@intel.com>
Subject: [dpdk-dev] [RFC PATCH v1 0/3] 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>

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 (which is designed 
to control the queue length but it does not control latency directly and is now being 
obsoleted). 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 (3):
  sched: add PIE based congestion management
  example/qos_sched: add PIE support
  example/ip_pipeline: add PIE support

 config/rte_config.h                      |   1 -
 drivers/net/softnic/rte_eth_softnic_tm.c |   6 +-
 examples/ip_pipeline/tmgr.c              |   6 +-
 examples/qos_sched/app_thread.c          |   1 -
 examples/qos_sched/cfg_file.c            |  82 ++++-
 examples/qos_sched/init.c                |   7 +-
 examples/qos_sched/profile.cfg           | 196 ++++++++----
 lib/sched/meson.build                    |  10 +-
 lib/sched/rte_pie.c                      |  79 +++++
 lib/sched/rte_pie.h                      | 387 +++++++++++++++++++++++
 lib/sched/rte_sched.c                    | 229 ++++++++++----
 lib/sched/rte_sched.h                    |  53 +++-
 12 files changed, 876 insertions(+), 181 deletions(-)
 create mode 100644 lib/sched/rte_pie.c
 create mode 100644 lib/sched/rte_pie.h

-- 
2.17.1