DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jerin Jacob <jerinjacobk@gmail.com>
To: Ajit Khaparde <ajit.khaparde@broadcom.com>
Cc: Jerin Jacob Kollanukkaran <jerinj@marvell.com>,
	dpdk-dev <dev@dpdk.org>,  Ferruh Yigit <ferruh.yigit@xilinx.com>,
	Thomas Monjalon <thomas@monjalon.net>,
	 Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
	Andrew Boyer <aboyer@pensando.io>,
	Beilei Xing <beilei.xing@intel.com>,
	Bruce Richardson <bruce.richardson@intel.com>,
	 Chas Williams <chas3@att.com>,
	"Xia, Chenbo" <chenbo.xia@intel.com>,
	 Ciara Loftus <ciara.loftus@intel.com>,
	Devendra Singh Rawat <dsinghrawat@marvell.com>,
	 Ed Czeck <ed.czeck@atomicrules.com>,
	Evgeny Schemeilin <evgenys@amazon.com>,
	 Gaetan Rivet <grive@u256.net>, Gagandeep Singh <g.singh@nxp.com>,
	Guoyang Zhou <zhouguoyang@huawei.com>,
	 Haiyue Wang <haiyue.wang@intel.com>,
	Harman Kalra <hkalra@marvell.com>,
	 Heinrich Kuhn <heinrich.kuhn@corigine.com>,
	Hemant Agrawal <hemant.agrawal@nxp.com>,
	 Hyong Youb Kim <hyonkim@cisco.com>,
	Igor Chauskin <igorch@amazon.com>,
	 Igor Russkikh <irusskikh@marvell.com>,
	Jakub Grajciar <jgrajcia@cisco.com>,
	 "Singh, Jasvinder" <jasvinder.singh@intel.com>,
	Jian Wang <jianwang@trustnetic.com>,
	 Jiawen Wu <jiawenwu@trustnetic.com>,
	Jingjing Wu <jingjing.wu@intel.com>,
	 John Daley <johndale@cisco.com>,
	John Miller <john.miller@atomicrules.com>,
	 "John W. Linville" <linville@tuxdriver.com>,
	"Wiles, Keith" <keith.wiles@intel.com>,
	 Kiran Kumar K <kirankumark@marvell.com>,
	oulijun <oulijun@huawei.com>,  Liron Himi <lironh@marvell.com>,
	Long Li <longli@microsoft.com>,  Marcin Wojtas <mw@semihalf.com>,
	Martin Spinler <spinler@cesnet.cz>,
	Matan Azrad <matan@nvidia.com>,
	Matt Peters <matt.peters@windriver.com>,
	Maxime Coquelin <maxime.coquelin@redhat.com>,
	 Michal Krawczyk <mk@semihalf.com>,
	"Min Hu (Connor)" <humin29@huawei.com>,
	Nalla Pradeep <pnalla@marvell.com>,
	 Nithin Dabilpuram <ndabilpuram@marvell.com>,
	Qiming Yang <qiming.yang@intel.com>,
	 Qi Zhang <qi.z.zhang@intel.com>,
	Radha Mohan Chintakuntla <radhac@marvell.com>,
	Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>,
	Rasesh Mody <rmody@marvell.com>, Rosen Xu <rosen.xu@intel.com>,
	"Sachin Saxena (OSS)" <sachin.saxena@oss.nxp.com>,
	 Satha Rao <skoteshwar@marvell.com>,
	Shahed Shaikh <shshaikh@marvell.com>,
	 Shai Brandes <shaibran@amazon.com>,
	Shepard Siegel <shepard.siegel@atomicrules.com>,
	 Somalapuram Amaranath <asomalap@amd.com>,
	Somnath Kotur <somnath.kotur@broadcom.com>,
	 Stephen Hemminger <sthemmin@microsoft.com>,
	Steven Webster <steven.webster@windriver.com>,
	 Sunil Kumar Kori <skori@marvell.com>,
	Tetsuya Mukawa <mtetsuyah@gmail.com>,
	 Veerasenareddy Burru <vburru@marvell.com>,
	Slava Ovsiienko <viacheslavo@nvidia.com>,
	 Xiao Wang <xiao.w.wang@intel.com>,
	Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>,
	Yisen Zhuang <yisen.zhuang@huawei.com>,
	Yong Wang <yongwang@vmware.com>,
	 Ziyang Xuan <xuanziyang2@huawei.com>,
	 "Dumitrescu, Cristian" <cristian.dumitrescu@intel.com>
Subject: Re: [dpdk-dev] [RFC PATCH] ethdev: support congestion management
Date: Wed, 13 Jul 2022 17:41:28 +0530	[thread overview]
Message-ID: <CALBAE1PptJ+kLd2g2_27WXRD7vq-o_qSnn85o5U=JK+D9HqbWA@mail.gmail.com> (raw)
In-Reply-To: <CACZ4nhtVu=AOr8--bGipaE9jOb4oQ6x7X+=uVGT8Nd+V8W5PBQ@mail.gmail.com>

On Tue, May 31, 2022 at 1:13 AM Ajit Khaparde
<ajit.khaparde@broadcom.com> wrote:
>
> On Mon, May 30, 2022 at 6:16 AM <jerinj@marvell.com> wrote:
> >
> > From: Jerin Jacob <jerinj@marvell.com>
> >
> > NIC HW controllers often come with congestion management support on
> > various HW objects such as Rx queue depth or mempool queue depth.
> >
> > Also, it can support various modes of operation such as RED
> > (Random early discard), WRED etc on those HW objects.
> >
> > This patch adds a framework to express such modes(enum rte_cman_mode)
> > and introduce (enum rte_eth_cman_obj) to enumerate the different
> > objects where the modes can operate on.
> >
> > This patch adds RTE_CMAN_RED mode of operation and
> > RTE_ETH_CMAN_OBJ_RX_QUEUE, RTE_ETH_CMAN_OBJ_RX_QUEUE_MEMPOOL object.
> >
> > Introduced reserved fields in configuration structure
> > backed by rte_eth_cman_config_init() to add new configuration
> > parameters without ABI breakage.
> >
> > Added rte_eth_cman_info_get() API to get the information such as
> > supported modes and objects.
> >
> > Added rte_eth_cman_config_init(), rte_eth_cman_config_set() APIs
> > to configure congestion management on those object with associated mode.
> >
> > Finally, Added rte_eth_cman_config_get() API to retrieve the
> > applied configuration.
>
> Can you also add How all this helps an application? Thanks


Random early detection (RED), also known as random early discard or
random early drop is a queuing discipline for a network scheduler
suited for congestion avoidance.

In the conventional tail drop algorithm, a router or other network
component buffers as many packets as it can, and simply drops the ones
it cannot buffer. If buffers are constantly full, the network is
congested. Tail drop distributes buffer space unfairly among traffic
flows. Tail drop can also lead to TCP global synchronization as all
TCP connections "hold back" simultaneously, and then step forward
simultaneously. Networks become under-utilized and
flooded—alternately, in waves.

RED addresses these issues by pre-emptively dropping packets before
the buffer becomes completely full. It uses predictive models to
decide which packets to drop.

it is copied from https://en.wikipedia.org/wiki/Random_early_detection
page. I have kept this URL under enum rte_cman_mode:: RTE_CMAN_RED
too.
Also I will add original specification URL too,
http://www.aciri.org/floyd/papers/red/red.html.

  reply	other threads:[~2022-07-13 12:11 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-30 13:15 jerinj
2022-05-30 19:43 ` Ajit Khaparde
2022-07-13 12:11   ` Jerin Jacob [this message]
2022-05-31  1:09 ` Min Hu (Connor)
2022-07-13 12:16   ` Jerin Jacob
2022-05-31 16:09 ` Stephen Hemminger
2022-07-13 12:25   ` Jerin Jacob
2022-07-13 13:03 ` [dpdk-dev] [PATCH v1] " jerinj
2022-09-19 12:15   ` [PATCH v2 1/1] " skori
2022-09-27 14:36     ` Thomas Monjalon
2022-09-27 15:09       ` Bruce Richardson
2022-09-28 11:14         ` Jerin Jacob
2022-09-28 12:08           ` Thomas Monjalon
2022-09-28 12:23             ` Jerin Jacob
2022-09-28 13:07               ` Olivier Matz
2022-09-28  8:19     ` Andrew Rybchenko
2022-09-28 12:20       ` Jerin Jacob
2022-09-29  9:35     ` [PATCH v3 " skori
2022-10-04  9:02       ` Andrew Rybchenko
2022-10-04  9:04         ` Andrew Rybchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CALBAE1PptJ+kLd2g2_27WXRD7vq-o_qSnn85o5U=JK+D9HqbWA@mail.gmail.com' \
    --to=jerinjacobk@gmail.com \
    --cc=aboyer@pensando.io \
    --cc=ajit.khaparde@broadcom.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=asomalap@amd.com \
    --cc=beilei.xing@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=chas3@att.com \
    --cc=chenbo.xia@intel.com \
    --cc=ciara.loftus@intel.com \
    --cc=cloud.wangxiaoyun@huawei.com \
    --cc=cristian.dumitrescu@intel.com \
    --cc=dev@dpdk.org \
    --cc=dsinghrawat@marvell.com \
    --cc=ed.czeck@atomicrules.com \
    --cc=evgenys@amazon.com \
    --cc=ferruh.yigit@xilinx.com \
    --cc=g.singh@nxp.com \
    --cc=grive@u256.net \
    --cc=haiyue.wang@intel.com \
    --cc=heinrich.kuhn@corigine.com \
    --cc=hemant.agrawal@nxp.com \
    --cc=hkalra@marvell.com \
    --cc=humin29@huawei.com \
    --cc=hyonkim@cisco.com \
    --cc=igorch@amazon.com \
    --cc=irusskikh@marvell.com \
    --cc=jasvinder.singh@intel.com \
    --cc=jerinj@marvell.com \
    --cc=jgrajcia@cisco.com \
    --cc=jianwang@trustnetic.com \
    --cc=jiawenwu@trustnetic.com \
    --cc=jingjing.wu@intel.com \
    --cc=john.miller@atomicrules.com \
    --cc=johndale@cisco.com \
    --cc=keith.wiles@intel.com \
    --cc=kirankumark@marvell.com \
    --cc=linville@tuxdriver.com \
    --cc=lironh@marvell.com \
    --cc=longli@microsoft.com \
    --cc=matan@nvidia.com \
    --cc=matt.peters@windriver.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=mk@semihalf.com \
    --cc=mtetsuyah@gmail.com \
    --cc=mw@semihalf.com \
    --cc=ndabilpuram@marvell.com \
    --cc=oulijun@huawei.com \
    --cc=pnalla@marvell.com \
    --cc=qi.z.zhang@intel.com \
    --cc=qiming.yang@intel.com \
    --cc=radhac@marvell.com \
    --cc=rahul.lakkireddy@chelsio.com \
    --cc=rmody@marvell.com \
    --cc=rosen.xu@intel.com \
    --cc=sachin.saxena@oss.nxp.com \
    --cc=shaibran@amazon.com \
    --cc=shepard.siegel@atomicrules.com \
    --cc=shshaikh@marvell.com \
    --cc=skori@marvell.com \
    --cc=skoteshwar@marvell.com \
    --cc=somnath.kotur@broadcom.com \
    --cc=spinler@cesnet.cz \
    --cc=steven.webster@windriver.com \
    --cc=sthemmin@microsoft.com \
    --cc=thomas@monjalon.net \
    --cc=vburru@marvell.com \
    --cc=viacheslavo@nvidia.com \
    --cc=xiao.w.wang@intel.com \
    --cc=xuanziyang2@huawei.com \
    --cc=yisen.zhuang@huawei.com \
    --cc=yongwang@vmware.com \
    --cc=zhouguoyang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).