From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 10D8EA046B for ; Thu, 27 Jun 2019 02:04:42 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 376172BF2; Thu, 27 Jun 2019 02:04:42 +0200 (CEST) Received: from mail-pf1-f193.google.com (mail-pf1-f193.google.com [209.85.210.193]) by dpdk.org (Postfix) with ESMTP id 5A39820BD for ; Thu, 27 Jun 2019 02:04:40 +0200 (CEST) Received: by mail-pf1-f193.google.com with SMTP id q10so251771pff.9 for ; Wed, 26 Jun 2019 17:04:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HsPuJlcfkImN0aj1leOO4SulVBidlP5SLYozhGO8gxg=; b=o+oT06AnhZc95xoT8DxfI1vitvkMMELVNK/g5JLG4mCFHB97CHUva3wszkCqfr1oQx cqoSB8KTE4LwBu18lIFjHn7FbTRHIl3NCSfx75fsVDT9GXm0M+vzX6ppPKNSbmtXOAmE Hd0AcRSNExZUS1HENQkXVh70OhIXyUT1Hrj2QWWVlb0+N798C1TMr6c37zGdHGeGRHhR XUGwjiWQS4Z3iHUZkd+xjSit2qTbDeNGKB17Qcl2rFUV4/I0PUCuNHYsxrN7bAXKvAhY My4OAUS64csqcF+j66wbDc2e0FVHklWNwKzeJWnaFl1tJJ+ZL0/Mo/mKJ6hf8ZJ2ldHw 3X5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HsPuJlcfkImN0aj1leOO4SulVBidlP5SLYozhGO8gxg=; b=KfbE7ANMWrqJ7BD4NzpuWtwFT2tldAR+ahon2nZ4R98C/5+hNXlVDPHcx/sIwgXUYU slbVcAH7xXDBjwdG9BToYyedJ2bzILhoBzelJUOMsSB6r0M4WIlHfYQ1mm0r8aCzWBQE WPx1WvyUUE1/kM4LAyFKt9W+A+5vNnWdbYqq9/7/WAa0xP1AAy02prgxxM+Z26TOefaU bxhYkhwedhdS/aZBUAz7/NWzP1KbXbkQM1yPV7lsGTaIwplf0vEXBWEVbmg7aOYoNKnp jz4ufeafrlzEmUv3T7ZA3ZEamAbKt3VM8zr9NpnVG7tmS+gbncGUfhzwH3RwzEt+8Hde 5RIg== X-Gm-Message-State: APjAAAWwjnEWVLS6yoy6A/AZU5hwrc0FfSrF/YwIn8xwH/79Y1+Y2psD HxuEjhOjSLxQYZUaeFu33+yYfg== X-Google-Smtp-Source: APXvYqzTB0VCZh5g2mtAdKDFcnUvIPQ0X1UIJy0ZoCQm3GPqIRWjn1GlCv7zx4m5HcMmFKlvzwhVCg== X-Received: by 2002:a17:90a:32ec:: with SMTP id l99mr2242706pjb.44.1561593879442; Wed, 26 Jun 2019 17:04:39 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id y12sm384809pfn.187.2019.06.26.17.04.39 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Wed, 26 Jun 2019 17:04:39 -0700 (PDT) Date: Wed, 26 Jun 2019 17:04:32 -0700 From: Stephen Hemminger To: Jasvinder Singh 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> <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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Tue, 25 Jun 2019 16:31:49 +0100 Jasvinder Singh wrote: > This patchset refactors the dpdk qos sched library to add > following features to enhance the scheduler functionality. > > 1. flexibile configuration of the pipe traffic classes and queues; > > Currently, each pipe has 16 queues hardwired into 4 TCs scheduled with > strict priority, and each TC has exactly with 4 queues that are > scheduled with Weighted Fair Queuing (WFQ). > > Instead of hardwiring queues to traffic class within the specific pipe, > the new implementation allows more flexible/configurable split of pipe > queues between strict priority (SP) and best-effort (BE) traffic classes > along with the support of more number of traffic classes i.e. max 16. > > All the high priority TCs (TC1, TC2, ...) have exactly 1 queue, while > the lowest priority BE TC, has 1, 4 or 8 queues. This is justified by > the fact that all the high priority TCs are fully provisioned (small to > medium traffic rates), while most of the traffic fits into the BE class, > which is typically oversubscribed. > > Furthermore, this change allows to use less than 16 queues per pipe when > not all the 16 queues are needed. Therefore, no memory will be allocated > to the queues that are not needed. > > 2. Subport level configuration of pipe nodes; > > Currently, all parameters for the pipe nodes (subscribers) configuration > are part of the port level structure which forces all groups of > subscribers (i.e. pipes) in different subports to have similar > configurations in terms of their number, queue sizes, traffic-classes, > etc. > > The new implementation moves pipe nodes configuration parameters from > port level to subport level structure. Therefore, different subports of > the same port can have different configuration for the pipe nodes > (subscribers), for examples- number of pipes, queue sizes, queues to > traffic-class mapping, etc. > > v2: > - fix bug in subport parameters check > - remove redundant RTE_SCHED_SUBPORT_PER_PORT macro > - fix bug in grinder_scheduler function > - improve doxygen comments > - add error log information > > Jasvinder Singh (27): > sched: update macros for flexible config > sched: update subport and pipe data structures > sched: update internal data structures > sched: update port config API > sched: update port free API > sched: update subport config API > sched: update pipe profile add API > sched: update pipe config API > sched: update pkt read and write API > sched: update subport and tc queue stats > sched: update port memory footprint API > sched: update packet enqueue API > sched: update grinder pipe and tc cache > sched: update grinder next pipe and tc functions > sched: update pipe and tc queues prefetch > sched: update grinder wrr compute function > sched: modify credits update function > sched: update mbuf prefetch function > sched: update grinder schedule function > sched: update grinder handle function > sched: update packet dequeue API > sched: update sched queue stats API > test/sched: update unit test > net/softnic: update softnic tm function > examples/qos_sched: update qos sched sample app > examples/ip_pipeline: update ip pipeline sample app > sched: code cleanup > > Lukasz Krakowiak (1): > sched: add release note > > app/test/test_sched.c | 39 +- > doc/guides/rel_notes/deprecation.rst | 6 - > doc/guides/rel_notes/release_19_08.rst | 7 +- > drivers/net/softnic/rte_eth_softnic.c | 131 + > drivers/net/softnic/rte_eth_softnic_cli.c | 286 ++- > .../net/softnic/rte_eth_softnic_internals.h | 8 +- > drivers/net/softnic/rte_eth_softnic_tm.c | 89 +- > examples/ip_pipeline/cli.c | 85 +- > examples/ip_pipeline/tmgr.c | 22 +- > examples/ip_pipeline/tmgr.h | 3 - > examples/qos_sched/app_thread.c | 11 +- > examples/qos_sched/cfg_file.c | 283 ++- > examples/qos_sched/init.c | 111 +- > examples/qos_sched/main.h | 7 +- > examples/qos_sched/profile.cfg | 59 +- > examples/qos_sched/profile_ov.cfg | 47 +- > examples/qos_sched/stats.c | 483 ++-- > lib/librte_pipeline/rte_table_action.c | 1 - > lib/librte_pipeline/rte_table_action.h | 4 +- > lib/librte_sched/Makefile | 2 +- > lib/librte_sched/meson.build | 2 +- > lib/librte_sched/rte_sched.c | 2133 ++++++++++------- > lib/librte_sched/rte_sched.h | 229 +- > lib/librte_sched/rte_sched_common.h | 41 + > 24 files changed, 2634 insertions(+), 1455 deletions(-) > Glad to see the QoS get more flexible. 1. Is this patch series bisectable? I.e does each step build? 2. What about the QoS part of the program guide. Doesn't it need to be updated? guides/prog_guide/qos_framework.rst