List cover comments

GET /api/covers/55324/comments/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Link: 
<http://patches.dpdk.org/api/covers/55324/comments/?format=api&page=1>; rel="first",
<http://patches.dpdk.org/api/covers/55324/comments/?format=api&page=1>; rel="last"
Vary: Accept
[ { "id": 97588, "web_url": "http://patches.dpdk.org/comment/97588/", "msgid": "<5022647.LnWanB60ff@xps>", "list_archive_url": "https://inbox.dpdk.org/dev/5022647.LnWanB60ff@xps", "date": "2019-06-26T21:33:51", "subject": "Re: [dpdk-dev] [PATCH v2 00/28] sched: feature enhancements", "submitter": { "id": 685, "url": "http://patches.dpdk.org/api/people/685/?format=api", "name": "Thomas Monjalon", "email": "thomas@monjalon.net" }, "content": "25/06/2019 17:31, Jasvinder Singh:\n> Jasvinder Singh (27):\n> sched: update macros for flexible config\n> sched: update subport and pipe data structures\n> sched: update internal data structures\n> sched: update port config API\n> sched: update port free API\n> sched: update subport config API\n> sched: update pipe profile add API\n> sched: update pipe config API\n> sched: update pkt read and write API\n> sched: update subport and tc queue stats\n> sched: update port memory footprint API\n> sched: update packet enqueue API\n> sched: update grinder pipe and tc cache\n> sched: update grinder next pipe and tc functions\n> sched: update pipe and tc queues prefetch\n> sched: update grinder wrr compute function\n> sched: modify credits update function\n> sched: update mbuf prefetch function\n> sched: update grinder schedule function\n> sched: update grinder handle function\n> sched: update packet dequeue API\n> sched: update sched queue stats API\n> test/sched: update unit test\n> net/softnic: update softnic tm function\n> examples/qos_sched: update qos sched sample app\n> examples/ip_pipeline: update ip pipeline sample app\n> sched: code cleanup\n\nI feel the titles of type \"update some API\" might be more meaningful\nif giving the intent (flexibility) or more context (what is updated).\nNot sure because I don't know this library enough.", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id C1FF21E25;\n\tWed, 26 Jun 2019 23:33:54 +0200 (CEST)", "from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com\n\t[66.111.4.28]) by dpdk.org (Postfix) with ESMTP id 9E95D1E20\n\tfor <dev@dpdk.org>; Wed, 26 Jun 2019 23:33:53 +0200 (CEST)", "from compute1.internal (compute1.nyi.internal [10.202.2.41])\n\tby mailout.nyi.internal (Postfix) with ESMTP id 392ED21F6D;\n\tWed, 26 Jun 2019 17:33:53 -0400 (EDT)", "from mailfrontend2 ([10.202.2.163])\n\tby compute1.internal (MEProxy); Wed, 26 Jun 2019 17:33:53 -0400", "from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184])\n\tby mail.messagingengine.com (Postfix) with ESMTPA id 5C975380074;\n\tWed, 26 Jun 2019 17:33:52 -0400 (EDT)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=\n\tfrom:to:cc:subject:date:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding:content-type; s=mesmtp;\n\tbh=t5jIUkDrMXi5njJlLgM4kDqiW9OuXpP/3FKC2eM8xI4=; b=rwAbD0+n+cVu\n\t6lbmxKAkUsjhcwgSg5iJwGAOr+vrLvj6wixHR72VBleTlReUWDUVJoSUoXoNGR8R\n\tVy9yZm1lRGymP2cn/rqVXTxvpuJbX+fHlzpWoVUMNZj5lo96vHXlEKMaBEGbcXIw\n\tZFQvjE0nBeeB14iZJJ2E7MdCsPGEFiY=", "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tmessagingengine.com; h=cc:content-transfer-encoding:content-type\n\t:date:from:in-reply-to:message-id:mime-version:references\n\t:subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender\n\t:x-sasl-enc; s=fm3; bh=t5jIUkDrMXi5njJlLgM4kDqiW9OuXpP/3FKC2eM8x\n\tI4=; b=uXQ+kSbbQVTh/X6busYVWIadPSzxFuddaeyNlKXLuPSVQKYRXDKhsqb6b\n\tYUCYs0BhRwAE4hbmbHKgFFubk1erON6Hn6LU2RVcXBPg142Otaesumm32Nc9KOmu\n\tzL7ndUZiJrp+UbNYnyX/24UOJfysm5QGBTf01bHqe9EJ4EEBR1lYNiUSB8ecan32\n\tS2K4S6s2XBfU4QRlB/eiTh+SNnIn2Bgg8vsyMMpjr4aoL+eH3f8pDvyW8mBwQJAw\n\tiLZjkIgy6WjObLp9ZSLb8Jrd0dGwvFWFNafr2u7oErl4AwgIfVnKdZJwd2KfoTh+\n\tLCmipK/NjnR/jgijWQQ3jMVhPMn6g==" ], "X-ME-Sender": "<xms:wOQTXVpdsRyVxMzCLQ5nnwGDZaP4C5NaCZyToHNw2kTBnAPLNMdJbw>", "X-ME-Proxy-Cause": "gggruggvucftvghtrhhoucdtuddrgeduvddrudeigdduieekucetufdoteggodetrfdotf\n\tfvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen\n\tuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne\n\tcujfgurhephffvufffkfgjfhgggfgtsehtufertddttddvnecuhfhrohhmpefvhhhomhgr\n\tshcuofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecukf\n\thppeejjedrudefgedrvddtfedrudekgeenucfrrghrrghmpehmrghilhhfrhhomhepthhh\n\tohhmrghssehmohhnjhgrlhhonhdrnhgvthenucevlhhushhtvghrufhiiigvpedu", "X-ME-Proxy": "<xmx:wOQTXc2dX4hARJtEq6X0N_upinDakFA1TAdG-1LGzGy7hNR2EOTO2g>\n\t<xmx:wOQTXSnpP3qvWI2hXpMUezw__F5UHXcp8D1hRYAe9x2iHk3WYnSxTg>\n\t<xmx:wOQTXZ9rn1v4BnbtcN3PgJHxkzYFXNH4i3wD0rX-l-AfXOiBPij7fA>\n\t<xmx:weQTXXvoduVgS9wqyaeAgK1KDCXr21B8i7g9hprCz2h81pvQOber1g>", "From": "Thomas Monjalon <thomas@monjalon.net>", "To": "Jasvinder Singh <jasvinder.singh@intel.com>", "Cc": "dev@dpdk.org, cristian.dumitrescu@intel.com", "Date": "Wed, 26 Jun 2019 23:33:51 +0200", "Message-ID": "<5022647.LnWanB60ff@xps>", "In-Reply-To": "<20190625153217.24301-1-jasvinder.singh@intel.com>", "References": "<20190528120553.2992-2-lukaszx.krakowiak@intel.com>\n\t<20190625153217.24301-1-jasvinder.singh@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "7Bit", "Content-Type": "text/plain; charset=\"us-ascii\"", "Subject": "Re: [dpdk-dev] [PATCH v2 00/28] sched: feature enhancements", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<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>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 97593, "web_url": "http://patches.dpdk.org/comment/97593/", "msgid": "<20190626170432.5e1f2f05@hermes.lan>", "list_archive_url": "https://inbox.dpdk.org/dev/20190626170432.5e1f2f05@hermes.lan", "date": "2019-06-27T00:04:32", "subject": "Re: [dpdk-dev] [PATCH v2 00/28] sched: feature enhancements", "submitter": { "id": 27, "url": "http://patches.dpdk.org/api/people/27/?format=api", "name": "Stephen Hemminger", "email": "stephen@networkplumber.org" }, "content": "On Tue, 25 Jun 2019 16:31:49 +0100\nJasvinder Singh <jasvinder.singh@intel.com> wrote:\n\n> This patchset refactors the dpdk qos sched library to add\n> following features to enhance the scheduler functionality.\n> \n> 1. flexibile configuration of the pipe traffic classes and queues;\n> \n> Currently, each pipe has 16 queues hardwired into 4 TCs scheduled with\n> strict priority, and each TC has exactly with 4 queues that are\n> scheduled with Weighted Fair Queuing (WFQ).\n> \n> Instead of hardwiring queues to traffic class within the specific pipe,\n> the new implementation allows more flexible/configurable split of pipe\n> queues between strict priority (SP) and best-effort (BE) traffic classes\n> along with the support of more number of traffic classes i.e. max 16.\n> \n> All the high priority TCs (TC1, TC2, ...) have exactly 1 queue, while\n> the lowest priority BE TC, has 1, 4 or 8 queues. This is justified by\n> the fact that all the high priority TCs are fully provisioned (small to\n> medium traffic rates), while most of the traffic fits into the BE class,\n> which is typically oversubscribed.\n> \n> Furthermore, this change allows to use less than 16 queues per pipe when\n> not all the 16 queues are needed. Therefore, no memory will be allocated\n> to the queues that are not needed.\n> \n> 2. Subport level configuration of pipe nodes;\n> \n> Currently, all parameters for the pipe nodes (subscribers) configuration\n> are part of the port level structure which forces all groups of\n> subscribers (i.e. pipes) in different subports to have similar\n> configurations in terms of their number, queue sizes, traffic-classes,\n> etc.\n> \n> The new implementation moves pipe nodes configuration parameters from\n> port level to subport level structure. Therefore, different subports of\n> the same port can have different configuration for the pipe nodes\n> (subscribers), for examples- number of pipes, queue sizes, queues to\n> traffic-class mapping, etc.\n> \n> v2:\n> - fix bug in subport parameters check\n> - remove redundant RTE_SCHED_SUBPORT_PER_PORT macro\n> - fix bug in grinder_scheduler function\n> - improve doxygen comments \n> - add error log information\n> \n> Jasvinder Singh (27):\n> sched: update macros for flexible config\n> sched: update subport and pipe data structures\n> sched: update internal data structures\n> sched: update port config API\n> sched: update port free API\n> sched: update subport config API\n> sched: update pipe profile add API\n> sched: update pipe config API\n> sched: update pkt read and write API\n> sched: update subport and tc queue stats\n> sched: update port memory footprint API\n> sched: update packet enqueue API\n> sched: update grinder pipe and tc cache\n> sched: update grinder next pipe and tc functions\n> sched: update pipe and tc queues prefetch\n> sched: update grinder wrr compute function\n> sched: modify credits update function\n> sched: update mbuf prefetch function\n> sched: update grinder schedule function\n> sched: update grinder handle function\n> sched: update packet dequeue API\n> sched: update sched queue stats API\n> test/sched: update unit test\n> net/softnic: update softnic tm function\n> examples/qos_sched: update qos sched sample app\n> examples/ip_pipeline: update ip pipeline sample app\n> sched: code cleanup\n> \n> Lukasz Krakowiak (1):\n> sched: add release note\n> \n> app/test/test_sched.c | 39 +-\n> doc/guides/rel_notes/deprecation.rst | 6 -\n> doc/guides/rel_notes/release_19_08.rst | 7 +-\n> drivers/net/softnic/rte_eth_softnic.c | 131 +\n> drivers/net/softnic/rte_eth_softnic_cli.c | 286 ++-\n> .../net/softnic/rte_eth_softnic_internals.h | 8 +-\n> drivers/net/softnic/rte_eth_softnic_tm.c | 89 +-\n> examples/ip_pipeline/cli.c | 85 +-\n> examples/ip_pipeline/tmgr.c | 22 +-\n> examples/ip_pipeline/tmgr.h | 3 -\n> examples/qos_sched/app_thread.c | 11 +-\n> examples/qos_sched/cfg_file.c | 283 ++-\n> examples/qos_sched/init.c | 111 +-\n> examples/qos_sched/main.h | 7 +-\n> examples/qos_sched/profile.cfg | 59 +-\n> examples/qos_sched/profile_ov.cfg | 47 +-\n> examples/qos_sched/stats.c | 483 ++--\n> lib/librte_pipeline/rte_table_action.c | 1 -\n> lib/librte_pipeline/rte_table_action.h | 4 +-\n> lib/librte_sched/Makefile | 2 +-\n> lib/librte_sched/meson.build | 2 +-\n> lib/librte_sched/rte_sched.c | 2133 ++++++++++-------\n> lib/librte_sched/rte_sched.h | 229 +-\n> lib/librte_sched/rte_sched_common.h | 41 +\n> 24 files changed, 2634 insertions(+), 1455 deletions(-)\n> \n\nGlad to see the QoS get more flexible.\n\n 1. Is this patch series bisectable? I.e does each step build?\n 2. What about the QoS part of the program guide. Doesn't it need to be updated?\n guides/prog_guide/qos_framework.rst", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 376172BF2;\n\tThu, 27 Jun 2019 02:04:42 +0200 (CEST)", "from mail-pf1-f193.google.com (mail-pf1-f193.google.com\n\t[209.85.210.193]) by dpdk.org (Postfix) with ESMTP id 5A39820BD\n\tfor <dev@dpdk.org>; Thu, 27 Jun 2019 02:04:40 +0200 (CEST)", "by mail-pf1-f193.google.com with SMTP id q10so251771pff.9\n\tfor <dev@dpdk.org>; Wed, 26 Jun 2019 17:04:40 -0700 (PDT)", "from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127])\n\tby smtp.gmail.com with ESMTPSA id\n\ty12sm384809pfn.187.2019.06.26.17.04.39\n\t(version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256);\n\tWed, 26 Jun 2019 17:04:39 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=networkplumber-org.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:cc:subject:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding;\n\tbh=HsPuJlcfkImN0aj1leOO4SulVBidlP5SLYozhGO8gxg=;\n\tb=o+oT06AnhZc95xoT8DxfI1vitvkMMELVNK/g5JLG4mCFHB97CHUva3wszkCqfr1oQx\n\tcqoSB8KTE4LwBu18lIFjHn7FbTRHIl3NCSfx75fsVDT9GXm0M+vzX6ppPKNSbmtXOAmE\n\tHd0AcRSNExZUS1HENQkXVh70OhIXyUT1Hrj2QWWVlb0+N798C1TMr6c37zGdHGeGRHhR\n\tXUGwjiWQS4Z3iHUZkd+xjSit2qTbDeNGKB17Qcl2rFUV4/I0PUCuNHYsxrN7bAXKvAhY\n\tMy4OAUS64csqcF+j66wbDc2e0FVHklWNwKzeJWnaFl1tJJ+ZL0/Mo/mKJ6hf8ZJ2ldHw\n\t3X5w==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to\n\t:references:mime-version:content-transfer-encoding;\n\tbh=HsPuJlcfkImN0aj1leOO4SulVBidlP5SLYozhGO8gxg=;\n\tb=KfbE7ANMWrqJ7BD4NzpuWtwFT2tldAR+ahon2nZ4R98C/5+hNXlVDPHcx/sIwgXUYU\n\tslbVcAH7xXDBjwdG9BToYyedJ2bzILhoBzelJUOMsSB6r0M4WIlHfYQ1mm0r8aCzWBQE\n\tWPx1WvyUUE1/kM4LAyFKt9W+A+5vNnWdbYqq9/7/WAa0xP1AAy02prgxxM+Z26TOefaU\n\tbxhYkhwedhdS/aZBUAz7/NWzP1KbXbkQM1yPV7lsGTaIwplf0vEXBWEVbmg7aOYoNKnp\n\tjz4ufeafrlzEmUv3T7ZA3ZEamAbKt3VM8zr9NpnVG7tmS+gbncGUfhzwH3RwzEt+8Hde\n\t5RIg==", "X-Gm-Message-State": "APjAAAWwjnEWVLS6yoy6A/AZU5hwrc0FfSrF/YwIn8xwH/79Y1+Y2psD\n\tHxuEjhOjSLxQYZUaeFu33+yYfg==", "X-Google-Smtp-Source": "APXvYqzTB0VCZh5g2mtAdKDFcnUvIPQ0X1UIJy0ZoCQm3GPqIRWjn1GlCv7zx4m5HcMmFKlvzwhVCg==", "X-Received": "by 2002:a17:90a:32ec:: with SMTP id\n\tl99mr2242706pjb.44.1561593879442; \n\tWed, 26 Jun 2019 17:04:39 -0700 (PDT)", "Date": "Wed, 26 Jun 2019 17:04:32 -0700", "From": "Stephen Hemminger <stephen@networkplumber.org>", "To": "Jasvinder Singh <jasvinder.singh@intel.com>", "Cc": "dev@dpdk.org, cristian.dumitrescu@intel.com", "Message-ID": "<20190626170432.5e1f2f05@hermes.lan>", "In-Reply-To": "<20190625153217.24301-1-jasvinder.singh@intel.com>", "References": "<20190528120553.2992-2-lukaszx.krakowiak@intel.com>\n\t<20190625153217.24301-1-jasvinder.singh@intel.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=US-ASCII", "Content-Transfer-Encoding": "7bit", "Subject": "Re: [dpdk-dev] [PATCH v2 00/28] sched: feature enhancements", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<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>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 97615, "web_url": "http://patches.dpdk.org/comment/97615/", "msgid": "<54CBAA185211B4429112C315DA58FF6D3FD63BDD@IRSMSX103.ger.corp.intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/54CBAA185211B4429112C315DA58FF6D3FD63BDD@IRSMSX103.ger.corp.intel.com", "date": "2019-06-27T10:49:21", "subject": "Re: [dpdk-dev] [PATCH v2 00/28] sched: feature enhancements", "submitter": { "id": 285, "url": "http://patches.dpdk.org/api/people/285/?format=api", "name": "Jasvinder Singh", "email": "jasvinder.singh@intel.com" }, "content": "<snip>\n\n> >\n> > app/test/test_sched.c | 39 +-\n> > doc/guides/rel_notes/deprecation.rst | 6 -\n> > doc/guides/rel_notes/release_19_08.rst | 7 +-\n> > drivers/net/softnic/rte_eth_softnic.c | 131 +\n> > drivers/net/softnic/rte_eth_softnic_cli.c | 286 ++-\n> > .../net/softnic/rte_eth_softnic_internals.h | 8 +-\n> > drivers/net/softnic/rte_eth_softnic_tm.c | 89 +-\n> > examples/ip_pipeline/cli.c | 85 +-\n> > examples/ip_pipeline/tmgr.c | 22 +-\n> > examples/ip_pipeline/tmgr.h | 3 -\n> > examples/qos_sched/app_thread.c | 11 +-\n> > examples/qos_sched/cfg_file.c | 283 ++-\n> > examples/qos_sched/init.c | 111 +-\n> > examples/qos_sched/main.h | 7 +-\n> > examples/qos_sched/profile.cfg | 59 +-\n> > examples/qos_sched/profile_ov.cfg | 47 +-\n> > examples/qos_sched/stats.c | 483 ++--\n> > lib/librte_pipeline/rte_table_action.c | 1 -\n> > lib/librte_pipeline/rte_table_action.h | 4 +-\n> > lib/librte_sched/Makefile | 2 +-\n> > lib/librte_sched/meson.build | 2 +-\n> > lib/librte_sched/rte_sched.c | 2133 ++++++++++-------\n> > lib/librte_sched/rte_sched.h | 229 +-\n> > lib/librte_sched/rte_sched_common.h | 41 +\n> > 24 files changed, 2634 insertions(+), 1455 deletions(-)\n> >\n> \n> Glad to see the QoS get more flexible.\n> \n> 1. Is this patch series bisectable? I.e does each step build?\n\nYes, each patch of the series builds independently.\n\n> 2. What about the QoS part of the program guide. Doesn't it need to be\n> updated?\n> guides/prog_guide/qos_framework.rst\n\nWe will update the documentation soon.\n\nThanks,\nJasvinder", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 9118B1E20;\n\tThu, 27 Jun 2019 12:49:26 +0200 (CEST)", "from mga07.intel.com (mga07.intel.com [134.134.136.100])\n\tby dpdk.org (Postfix) with ESMTP id 90577F64\n\tfor <dev@dpdk.org>; Thu, 27 Jun 2019 12:49:24 +0200 (CEST)", "from fmsmga006.fm.intel.com ([10.253.24.20])\n\tby orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t27 Jun 2019 03:49:23 -0700", "from irsmsx101.ger.corp.intel.com ([163.33.3.153])\n\tby fmsmga006.fm.intel.com with ESMTP; 27 Jun 2019 03:49:22 -0700", "from irsmsx103.ger.corp.intel.com ([169.254.3.140]) by\n\tIRSMSX101.ger.corp.intel.com ([169.254.1.80]) with mapi id\n\t14.03.0439.000; Thu, 27 Jun 2019 11:49:21 +0100" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.63,423,1557212400\"; d=\"scan'208\";a=\"361107969\"", "From": "\"Singh, Jasvinder\" <jasvinder.singh@intel.com>", "To": "Stephen Hemminger <stephen@networkplumber.org>", "CC": "\"dev@dpdk.org\" <dev@dpdk.org>, \"Dumitrescu, Cristian\"\n\t<cristian.dumitrescu@intel.com>", "Thread-Topic": "[dpdk-dev] [PATCH v2 00/28] sched: feature enhancements", "Thread-Index": "AQHVK2tE1G0g5OqtUkGtdrCmQ/bqgKaukDAAgADEVLA=", "Date": "Thu, 27 Jun 2019 10:49:21 +0000", "Message-ID": "<54CBAA185211B4429112C315DA58FF6D3FD63BDD@IRSMSX103.ger.corp.intel.com>", "References": "<20190528120553.2992-2-lukaszx.krakowiak@intel.com>\n\t<20190625153217.24301-1-jasvinder.singh@intel.com>\n\t<20190626170432.5e1f2f05@hermes.lan>", "In-Reply-To": "<20190626170432.5e1f2f05@hermes.lan>", "Accept-Language": "en-US", "Content-Language": "en-US", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "x-titus-metadata-40": "eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNDlkZWM0NWItYjJmNi00M2JkLWIxNGQtZGY3ODJhYjEwYmRhIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiVFIxUGQzb3RKbHlCdlVnWWJCODM5eCszSVZEQmw5TU5WcDNRcDltbGl0QTV6aGFoNXN4c3BXSDNzRDZlOHpsQyJ9", "x-ctpclassification": "CTP_NT", "dlp-product": "dlpe-windows", "dlp-version": "11.0.200.100", "dlp-reaction": "no-action", "x-originating-ip": "[163.33.239.180]", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "quoted-printable", "MIME-Version": "1.0", "Subject": "Re: [dpdk-dev] [PATCH v2 00/28] sched: feature enhancements", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<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>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 97617, "web_url": "http://patches.dpdk.org/comment/97617/", "msgid": "<54CBAA185211B4429112C315DA58FF6D3FD63C66@IRSMSX103.ger.corp.intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/54CBAA185211B4429112C315DA58FF6D3FD63C66@IRSMSX103.ger.corp.intel.com", "date": "2019-06-27T10:52:13", "subject": "Re: [dpdk-dev] [PATCH v2 00/28] sched: feature enhancements", "submitter": { "id": 285, "url": "http://patches.dpdk.org/api/people/285/?format=api", "name": "Jasvinder Singh", "email": "jasvinder.singh@intel.com" }, "content": "> -----Original Message-----\n> From: Thomas Monjalon [mailto:thomas@monjalon.net]\n> Sent: Wednesday, June 26, 2019 10:34 PM\n> To: Singh, Jasvinder <jasvinder.singh@intel.com>\n> Cc: dev@dpdk.org; Dumitrescu, Cristian <cristian.dumitrescu@intel.com>\n> Subject: Re: [dpdk-dev] [PATCH v2 00/28] sched: feature enhancements\n> \n> 25/06/2019 17:31, Jasvinder Singh:\n> > Jasvinder Singh (27):\n> > sched: update macros for flexible config\n> > sched: update subport and pipe data structures\n> > sched: update internal data structures\n> > sched: update port config API\n> > sched: update port free API\n> > sched: update subport config API\n> > sched: update pipe profile add API\n> > sched: update pipe config API\n> > sched: update pkt read and write API\n> > sched: update subport and tc queue stats\n> > sched: update port memory footprint API\n> > sched: update packet enqueue API\n> > sched: update grinder pipe and tc cache\n> > sched: update grinder next pipe and tc functions\n> > sched: update pipe and tc queues prefetch\n> > sched: update grinder wrr compute function\n> > sched: modify credits update function\n> > sched: update mbuf prefetch function\n> > sched: update grinder schedule function\n> > sched: update grinder handle function\n> > sched: update packet dequeue API\n> > sched: update sched queue stats API\n> > test/sched: update unit test\n> > net/softnic: update softnic tm function\n> > examples/qos_sched: update qos sched sample app\n> > examples/ip_pipeline: update ip pipeline sample app\n> > sched: code cleanup\n> \n> I feel the titles of type \"update some API\" might be more meaningful if giving\n> the intent (flexibility) or more context (what is updated).\n> Not sure because I don't know this library enough.\n\nWe will figure out better names in next version :)\n\nThanks,\nJasvinder", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id C9F5D20BD;\n\tThu, 27 Jun 2019 12:52:18 +0200 (CEST)", "from mga02.intel.com (mga02.intel.com [134.134.136.20])\n\tby dpdk.org (Postfix) with ESMTP id C0ED41E2F\n\tfor <dev@dpdk.org>; Thu, 27 Jun 2019 12:52:16 +0200 (CEST)", "from fmsmga002.fm.intel.com ([10.253.24.26])\n\tby orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t27 Jun 2019 03:52:15 -0700", "from irsmsx108.ger.corp.intel.com ([163.33.3.3])\n\tby fmsmga002.fm.intel.com with ESMTP; 27 Jun 2019 03:52:14 -0700", "from irsmsx103.ger.corp.intel.com ([169.254.3.140]) by\n\tIRSMSX108.ger.corp.intel.com ([169.254.11.46]) with mapi id\n\t14.03.0439.000; Thu, 27 Jun 2019 11:52:14 +0100" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.63,423,1557212400\"; d=\"scan'208\";a=\"189018655\"", "From": "\"Singh, Jasvinder\" <jasvinder.singh@intel.com>", "To": "Thomas Monjalon <thomas@monjalon.net>", "CC": "\"dev@dpdk.org\" <dev@dpdk.org>, \"Dumitrescu, Cristian\"\n\t<cristian.dumitrescu@intel.com>", "Thread-Topic": "[dpdk-dev] [PATCH v2 00/28] sched: feature enhancements", "Thread-Index": "AQHVK2tE1G0g5OqtUkGtdrCmQ/bqgKauZheAgADvpjA=", "Date": "Thu, 27 Jun 2019 10:52:13 +0000", "Message-ID": "<54CBAA185211B4429112C315DA58FF6D3FD63C66@IRSMSX103.ger.corp.intel.com>", "References": "<20190528120553.2992-2-lukaszx.krakowiak@intel.com>\n\t<20190625153217.24301-1-jasvinder.singh@intel.com>\n\t<5022647.LnWanB60ff@xps>", "In-Reply-To": "<5022647.LnWanB60ff@xps>", "Accept-Language": "en-US", "Content-Language": "en-US", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "x-titus-metadata-40": "eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYTIzMzUxMzgtM2YzOC00ZjAyLThkYzUtODZiMTFkODE4ZjgxIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoicG9CNExuSXc1S21pZkRGd0xFcENoNHhWbjlIbXZGR0tSZHBLTkhRbk9CMzM5RDdqS3Q2VkU4YkYwY1wvMG9nVHoifQ==", "x-ctpclassification": "CTP_NT", "dlp-product": "dlpe-windows", "dlp-version": "11.0.200.100", "dlp-reaction": "no-action", "x-originating-ip": "[163.33.239.180]", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "quoted-printable", "MIME-Version": "1.0", "Subject": "Re: [dpdk-dev] [PATCH v2 00/28] sched: feature enhancements", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<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>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 97923, "web_url": "http://patches.dpdk.org/comment/97923/", "msgid": "<3EB4FA525960D640B5BDFFD6A3D891268E8B8C63@IRSMSX108.ger.corp.intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/3EB4FA525960D640B5BDFFD6A3D891268E8B8C63@IRSMSX108.ger.corp.intel.com", "date": "2019-07-01T18:51:14", "subject": "Re: [dpdk-dev] [PATCH v2 00/28] sched: feature enhancements", "submitter": { "id": 19, "url": "http://patches.dpdk.org/api/people/19/?format=api", "name": "Cristian Dumitrescu", "email": "cristian.dumitrescu@intel.com" }, "content": "Hi Jasvinder,\n\nThanks for doing this work! Finally a man brave enough to do substantial changes to this library!\n\n> -----Original Message-----\n> From: Singh, Jasvinder\n> Sent: Tuesday, June 25, 2019 4:32 PM\n> To: dev@dpdk.org\n> Cc: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>\n> Subject: [PATCH v2 00/28] sched: feature enhancements\n> \n> This patchset refactors the dpdk qos sched library to add\n> following features to enhance the scheduler functionality.\n> \n> 1. flexibile configuration of the pipe traffic classes and queues;\n> \n> Currently, each pipe has 16 queues hardwired into 4 TCs scheduled with\n> strict priority, and each TC has exactly with 4 queues that are\n> scheduled with Weighted Fair Queuing (WFQ).\n> \n> Instead of hardwiring queues to traffic class within the specific pipe,\n> the new implementation allows more flexible/configurable split of pipe\n> queues between strict priority (SP) and best-effort (BE) traffic classes\n> along with the support of more number of traffic classes i.e. max 16.\n> \n> All the high priority TCs (TC1, TC2, ...) have exactly 1 queue, while\n> the lowest priority BE TC, has 1, 4 or 8 queues. This is justified by\n> the fact that all the high priority TCs are fully provisioned (small to\n> medium traffic rates), while most of the traffic fits into the BE class,\n> which is typically oversubscribed.\n> \n> Furthermore, this change allows to use less than 16 queues per pipe when\n> not all the 16 queues are needed. Therefore, no memory will be allocated\n> to the queues that are not needed.\n> \n> 2. Subport level configuration of pipe nodes;\n> \n> Currently, all parameters for the pipe nodes (subscribers) configuration\n> are part of the port level structure which forces all groups of\n> subscribers (i.e. pipes) in different subports to have similar\n> configurations in terms of their number, queue sizes, traffic-classes,\n> etc.\n> \n> The new implementation moves pipe nodes configuration parameters from\n> port level to subport level structure. Therefore, different subports of\n> the same port can have different configuration for the pipe nodes\n> (subscribers), for examples- number of pipes, queue sizes, queues to\n> traffic-class mapping, etc.\n> \n> v2:\n> - fix bug in subport parameters check\n> - remove redundant RTE_SCHED_SUBPORT_PER_PORT macro\n> - fix bug in grinder_scheduler function\n> - improve doxygen comments\n> - add error log information\n> \n> Jasvinder Singh (27):\n> sched: update macros for flexible config\n> sched: update subport and pipe data structures\n> sched: update internal data structures\n> sched: update port config API\n> sched: update port free API\n> sched: update subport config API\n> sched: update pipe profile add API\n> sched: update pipe config API\n> sched: update pkt read and write API\n> sched: update subport and tc queue stats\n> sched: update port memory footprint API\n> sched: update packet enqueue API\n> sched: update grinder pipe and tc cache\n> sched: update grinder next pipe and tc functions\n> sched: update pipe and tc queues prefetch\n> sched: update grinder wrr compute function\n> sched: modify credits update function\n> sched: update mbuf prefetch function\n> sched: update grinder schedule function\n> sched: update grinder handle function\n> sched: update packet dequeue API\n> sched: update sched queue stats API\n> test/sched: update unit test\n> net/softnic: update softnic tm function\n> examples/qos_sched: update qos sched sample app\n> examples/ip_pipeline: update ip pipeline sample app\n> sched: code cleanup\n> \n> Lukasz Krakowiak (1):\n> sched: add release note\n> \n> app/test/test_sched.c | 39 +-\n> doc/guides/rel_notes/deprecation.rst | 6 -\n> doc/guides/rel_notes/release_19_08.rst | 7 +-\n> drivers/net/softnic/rte_eth_softnic.c | 131 +\n> drivers/net/softnic/rte_eth_softnic_cli.c | 286 ++-\n> .../net/softnic/rte_eth_softnic_internals.h | 8 +-\n> drivers/net/softnic/rte_eth_softnic_tm.c | 89 +-\n> examples/ip_pipeline/cli.c | 85 +-\n> examples/ip_pipeline/tmgr.c | 22 +-\n> examples/ip_pipeline/tmgr.h | 3 -\n> examples/qos_sched/app_thread.c | 11 +-\n> examples/qos_sched/cfg_file.c | 283 ++-\n> examples/qos_sched/init.c | 111 +-\n> examples/qos_sched/main.h | 7 +-\n> examples/qos_sched/profile.cfg | 59 +-\n> examples/qos_sched/profile_ov.cfg | 47 +-\n> examples/qos_sched/stats.c | 483 ++--\n> lib/librte_pipeline/rte_table_action.c | 1 -\n> lib/librte_pipeline/rte_table_action.h | 4 +-\n> lib/librte_sched/Makefile | 2 +-\n> lib/librte_sched/meson.build | 2 +-\n> lib/librte_sched/rte_sched.c | 2133 ++++++++++-------\n> lib/librte_sched/rte_sched.h | 229 +-\n> lib/librte_sched/rte_sched_common.h | 41 +\n> 24 files changed, 2634 insertions(+), 1455 deletions(-)\n> \n> --\n> 2.21.0\n\nThis library is tricky, as validating the functional correctness usually requires more than just a binary pass/fail result, like your usual PMD (are packets coming out? YES/NO). It requires an accuracy testing, for example how close is the actual pipe/shaper output rate from the expected rate, how accurate is the strict priority of WFQ scheduling, etc. Therefore, here are a few accuracy tests that we need to perform on this library to make sure we did not break any functionality, feel free to reach out to me if more details needed:\n\n1. Subport shaper accuracy: Inject line rate into a subport, limit subport rate to X% of line rate (X = 5, 10, 15, ..., 90). Check that subport output rate matches the rate limit with a tolerance of 1% of the expected rate.\n2. Subport traffic class rate limiting accuracy: same 1% tolerance\n3. Pipe shaper accuracy: same 1% tolerance\n4. Pipe traffic class rate limiting accuracy: same 1% tolerance\n5. Traffic class strict priority scheduling\n6. WFQ for best effort traffic class\n\nOn performance side, we need to make sure we don't get a massive performance degradation. We need proof points for:\n1. 8x traffic classes, 4x best effort queues\n2. 8x traffic classes, 1x best effort queue\n3. 4x traffic classes, 4x best effort queues\n4. 4x traffic classes, 1x best effort queue\n\nOn unit test side, a few tests to highlight:\n1. Packet for queue X is enqueued to queue X and dequeued from queue X.\na) Typically tested by sending a single packet and tracing it through the queues.\nb) Should be done for different queue IDs, different number of queues per subport and different number of subports.\n\nI am sending some initial comments to the V2 patches now, more to come during the next few days.\n\nRegards,\nCristian", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 38F2D1B9CA;\n\tMon, 1 Jul 2019 20:51:20 +0200 (CEST)", "from mga17.intel.com (mga17.intel.com [192.55.52.151])\n\tby dpdk.org (Postfix) with ESMTP id 775AE1B9C8\n\tfor <dev@dpdk.org>; Mon, 1 Jul 2019 20:51:18 +0200 (CEST)", "from fmsmga002.fm.intel.com ([10.253.24.26])\n\tby fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t01 Jul 2019 11:51:16 -0700", "from irsmsx102.ger.corp.intel.com ([163.33.3.155])\n\tby fmsmga002.fm.intel.com with ESMTP; 01 Jul 2019 11:51:16 -0700", "from irsmsx155.ger.corp.intel.com (163.33.192.3) by\n\tIRSMSX102.ger.corp.intel.com (163.33.3.155) with Microsoft SMTP\n\tServer (TLS) id 14.3.439.0; Mon, 1 Jul 2019 19:51:15 +0100", "from irsmsx108.ger.corp.intel.com ([169.254.11.46]) by\n\tirsmsx155.ger.corp.intel.com ([169.254.14.100]) with mapi id\n\t14.03.0439.000; Mon, 1 Jul 2019 19:51:15 +0100" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.63,440,1557212400\"; d=\"scan'208\";a=\"190352929\"", "From": "\"Dumitrescu, Cristian\" <cristian.dumitrescu@intel.com>", "To": "\"Singh, Jasvinder\" <jasvinder.singh@intel.com>, \"dev@dpdk.org\"\n\t<dev@dpdk.org>", "Thread-Topic": "[PATCH v2 00/28] sched: feature enhancements", "Thread-Index": "AQHVK2snZySzyF5oJ0SMW2lado5rhaa2ICsQ", "Date": "Mon, 1 Jul 2019 18:51:14 +0000", "Message-ID": "<3EB4FA525960D640B5BDFFD6A3D891268E8B8C63@IRSMSX108.ger.corp.intel.com>", "References": "<20190528120553.2992-2-lukaszx.krakowiak@intel.com>\n\t<20190625153217.24301-1-jasvinder.singh@intel.com>", "In-Reply-To": "<20190625153217.24301-1-jasvinder.singh@intel.com>", "Accept-Language": "en-US", "Content-Language": "en-US", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "x-titus-metadata-40": "eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNzg5NzA3MGUtM2EyNi00ZmVlLTg0YTktODZjNmRlZjI0YjZlIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiUkE2d1NlaDdCc0ZJOFRsNWNWYW90SG01TllHY2VqTXYyb3J6T0M3ZWU2THlCRlI2RWIraTdONjEzV1NubE9MKyJ9", "x-ctpclassification": "CTP_NT", "dlp-product": "dlpe-windows", "dlp-version": "11.2.0.6", "dlp-reaction": "no-action", "x-originating-ip": "[163.33.239.181]", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "quoted-printable", "MIME-Version": "1.0", "Subject": "Re: [dpdk-dev] [PATCH v2 00/28] sched: feature enhancements", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<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>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 97962, "web_url": "http://patches.dpdk.org/comment/97962/", "msgid": "<54CBAA185211B4429112C315DA58FF6D3FD6BA74@IRSMSX103.ger.corp.intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/54CBAA185211B4429112C315DA58FF6D3FD6BA74@IRSMSX103.ger.corp.intel.com", "date": "2019-07-02T09:32:11", "subject": "Re: [dpdk-dev] [PATCH v2 00/28] sched: feature enhancements", "submitter": { "id": 285, "url": "http://patches.dpdk.org/api/people/285/?format=api", "name": "Jasvinder Singh", "email": "jasvinder.singh@intel.com" }, "content": "> -----Original Message-----\n> From: Dumitrescu, Cristian\n> Sent: Monday, July 1, 2019 7:51 PM\n> To: Singh, Jasvinder <jasvinder.singh@intel.com>; dev@dpdk.org\n> Subject: RE: [PATCH v2 00/28] sched: feature enhancements\n> \n> Hi Jasvinder,\n> \n> Thanks for doing this work! Finally a man brave enough to do substantial\n> changes to this library!\n\nThanks for the words, Cristian! Hope these additions increase the utility of library.\n\n> \n> > -----Original Message-----\n> > From: Singh, Jasvinder\n> > Sent: Tuesday, June 25, 2019 4:32 PM\n> > To: dev@dpdk.org\n> > Cc: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>\n> > Subject: [PATCH v2 00/28] sched: feature enhancements\n> >\n> > This patchset refactors the dpdk qos sched library to add following\n> > features to enhance the scheduler functionality.\n> >\n> > 1. flexibile configuration of the pipe traffic classes and queues;\n> >\n> > Currently, each pipe has 16 queues hardwired into 4 TCs scheduled with\n> > strict priority, and each TC has exactly with 4 queues that are\n> > scheduled with Weighted Fair Queuing (WFQ).\n> >\n> > Instead of hardwiring queues to traffic class within the specific pipe,\n> > the new implementation allows more flexible/configurable split of pipe\n> > queues between strict priority (SP) and best-effort (BE) traffic classes\n> > along with the support of more number of traffic classes i.e. max 16.\n> >\n> > All the high priority TCs (TC1, TC2, ...) have exactly 1 queue, while\n> > the lowest priority BE TC, has 1, 4 or 8 queues. This is justified by\n> > the fact that all the high priority TCs are fully provisioned (small to\n> > medium traffic rates), while most of the traffic fits into the BE class,\n> > which is typically oversubscribed.\n> >\n> > Furthermore, this change allows to use less than 16 queues per pipe when\n> > not all the 16 queues are needed. Therefore, no memory will be allocated\n> > to the queues that are not needed.\n> >\n> > 2. Subport level configuration of pipe nodes;\n> >\n> > Currently, all parameters for the pipe nodes (subscribers) configuration\n> > are part of the port level structure which forces all groups of\n> > subscribers (i.e. pipes) in different subports to have similar\n> > configurations in terms of their number, queue sizes, traffic-classes,\n> > etc.\n> >\n> > The new implementation moves pipe nodes configuration parameters from\n> > port level to subport level structure. Therefore, different subports of\n> > the same port can have different configuration for the pipe nodes\n> > (subscribers), for examples- number of pipes, queue sizes, queues to\n> > traffic-class mapping, etc.\n> >\n> > v2:\n> > - fix bug in subport parameters check\n> > - remove redundant RTE_SCHED_SUBPORT_PER_PORT macro\n> > - fix bug in grinder_scheduler function\n> > - improve doxygen comments\n> > - add error log information\n> >\n> > Jasvinder Singh (27):\n> > sched: update macros for flexible config\n> > sched: update subport and pipe data structures\n> > sched: update internal data structures\n> > sched: update port config API\n> > sched: update port free API\n> > sched: update subport config API\n> > sched: update pipe profile add API\n> > sched: update pipe config API\n> > sched: update pkt read and write API\n> > sched: update subport and tc queue stats\n> > sched: update port memory footprint API\n> > sched: update packet enqueue API\n> > sched: update grinder pipe and tc cache\n> > sched: update grinder next pipe and tc functions\n> > sched: update pipe and tc queues prefetch\n> > sched: update grinder wrr compute function\n> > sched: modify credits update function\n> > sched: update mbuf prefetch function\n> > sched: update grinder schedule function\n> > sched: update grinder handle function\n> > sched: update packet dequeue API\n> > sched: update sched queue stats API\n> > test/sched: update unit test\n> > net/softnic: update softnic tm function\n> > examples/qos_sched: update qos sched sample app\n> > examples/ip_pipeline: update ip pipeline sample app\n> > sched: code cleanup\n> >\n> > Lukasz Krakowiak (1):\n> > sched: add release note\n> >\n> > app/test/test_sched.c | 39 +-\n> > doc/guides/rel_notes/deprecation.rst | 6 -\n> > doc/guides/rel_notes/release_19_08.rst | 7 +-\n> > drivers/net/softnic/rte_eth_softnic.c | 131 +\n> > drivers/net/softnic/rte_eth_softnic_cli.c | 286 ++-\n> > .../net/softnic/rte_eth_softnic_internals.h | 8 +-\n> > drivers/net/softnic/rte_eth_softnic_tm.c | 89 +-\n> > examples/ip_pipeline/cli.c | 85 +-\n> > examples/ip_pipeline/tmgr.c | 22 +-\n> > examples/ip_pipeline/tmgr.h | 3 -\n> > examples/qos_sched/app_thread.c | 11 +-\n> > examples/qos_sched/cfg_file.c | 283 ++-\n> > examples/qos_sched/init.c | 111 +-\n> > examples/qos_sched/main.h | 7 +-\n> > examples/qos_sched/profile.cfg | 59 +-\n> > examples/qos_sched/profile_ov.cfg | 47 +-\n> > examples/qos_sched/stats.c | 483 ++--\n> > lib/librte_pipeline/rte_table_action.c | 1 -\n> > lib/librte_pipeline/rte_table_action.h | 4 +-\n> > lib/librte_sched/Makefile | 2 +-\n> > lib/librte_sched/meson.build | 2 +-\n> > lib/librte_sched/rte_sched.c | 2133 ++++++++++-------\n> > lib/librte_sched/rte_sched.h | 229 +-\n> > lib/librte_sched/rte_sched_common.h | 41 +\n> > 24 files changed, 2634 insertions(+), 1455 deletions(-)\n> >\n> > --\n> > 2.21.0\n> \n> This library is tricky, as validating the functional correctness usually requires\n> more than just a binary pass/fail result, like your usual PMD (are packets\n> coming out? YES/NO). It requires an accuracy testing, for example how close is\n> the actual pipe/shaper output rate from the expected rate, how accurate is the\n> strict priority of WFQ scheduling, etc. Therefore, here are a few accuracy tests\n> that we need to perform on this library to make sure we did not break any\n> functionality, feel free to reach out to me if more details needed:\n\nI completely agree that we need to validate the accuracy by performing\ndifferent tests as suggested below. We have performed few of them during development and\nfound results within tolerance. \n\n\n> 1. Subport shaper accuracy: Inject line rate into a subport, limit subport rate to\n> X% of line rate (X = 5, 10, 15, ..., 90). Check that subport output rate matches\n> the rate limit with a tolerance of 1% of the expected rate.\n> 2. Subport traffic class rate limiting accuracy: same 1% tolerance \n3. Pipe\n> shaper accuracy: same 1% tolerance \n\nAll above three tests are conducted successfully.\n\n4. Pipe traffic class rate limiting accuracy:\n> same 1% tolerance 5. Traffic class strict priority scheduling 6. WFQ for best\n> effort traffic class\n\nThese tests are in progress.\n\n \n> On performance side, we need to make sure we don't get a massive\n> performance degradation. We need proof points for:\n> 1. 8x traffic classes, 4x best effort queues 2. 8x traffic classes, 1x best effort\n> queue 3. 4x traffic classes, 4x best effort queues 4. 4x traffic classes, 1x best\n> effort queue\n\nWe have done performance measurement all above cases, and performance was found slightly low (between 0.65% -2.6%) compared to existing version. \n\n\n> On unit test side, a few tests to highlight:\n> 1. Packet for queue X is enqueued to queue X and dequeued from queue X.\n\nThis is done.\n\n> a) Typically tested by sending a single packet and tracing it through the queues.\nYes, done.\n> b) Should be done for different queue IDs, different number of queues per\n> subport and different number of subports.\n\nThis need to be included, will include this in unit tests.\n\n> I am sending some initial comments to the V2 patches now, more to come\n> during the next few days.\n> \n> Regards,\n> Cristian", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id D23F45B3C;\n\tTue, 2 Jul 2019 11:32:16 +0200 (CEST)", "from mga17.intel.com (mga17.intel.com [192.55.52.151])\n\tby dpdk.org (Postfix) with ESMTP id C3DBE5B3C\n\tfor <dev@dpdk.org>; Tue, 2 Jul 2019 11:32:14 +0200 (CEST)", "from orsmga005.jf.intel.com ([10.7.209.41])\n\tby fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t02 Jul 2019 02:32:13 -0700", "from irsmsx101.ger.corp.intel.com ([163.33.3.153])\n\tby orsmga005.jf.intel.com with ESMTP; 02 Jul 2019 02:32:12 -0700", "from irsmsx103.ger.corp.intel.com ([169.254.3.140]) by\n\tIRSMSX101.ger.corp.intel.com ([169.254.1.80]) with mapi id\n\t14.03.0439.000; Tue, 2 Jul 2019 10:32:12 +0100" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.63,442,1557212400\"; d=\"scan'208\";a=\"338901621\"", "From": "\"Singh, Jasvinder\" <jasvinder.singh@intel.com>", "To": "\"Dumitrescu, Cristian\" <cristian.dumitrescu@intel.com>, \"dev@dpdk.org\"\n\t<dev@dpdk.org>", "Thread-Topic": "[PATCH v2 00/28] sched: feature enhancements", "Thread-Index": "AQHVMD31k05lkMdtDky2lrFImkCXWKa3BAPQ", "Date": "Tue, 2 Jul 2019 09:32:11 +0000", "Message-ID": "<54CBAA185211B4429112C315DA58FF6D3FD6BA74@IRSMSX103.ger.corp.intel.com>", "References": "<20190528120553.2992-2-lukaszx.krakowiak@intel.com>\n\t<20190625153217.24301-1-jasvinder.singh@intel.com>\n\t<3EB4FA525960D640B5BDFFD6A3D891268E8B8C63@IRSMSX108.ger.corp.intel.com>", "In-Reply-To": "<3EB4FA525960D640B5BDFFD6A3D891268E8B8C63@IRSMSX108.ger.corp.intel.com>", "Accept-Language": "en-US", "Content-Language": "en-US", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "x-titus-metadata-40": "eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiM2I1OTI1NTUtYzgwNi00M2U4LTlkNmEtZmRjYTdmMzJjNWJmIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiUDNybStWSjFvNkMwbHk4VEZsWlZlVk5mNkJKcUF6aWNRTHpnSG95V2N2eVRkSVh5MUdpNWQySDJ1b05hTzMyWCJ9", "x-ctpclassification": "CTP_NT", "dlp-product": "dlpe-windows", "dlp-version": "11.0.200.100", "dlp-reaction": "no-action", "x-originating-ip": "[163.33.239.180]", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "quoted-printable", "MIME-Version": "1.0", "Subject": "Re: [dpdk-dev] [PATCH v2 00/28] sched: feature enhancements", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<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>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null } ]