From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0089.outbound.protection.outlook.com [104.47.41.89]) by dpdk.org (Postfix) with ESMTP id EE403695C for ; Thu, 23 Mar 2017 11:17:48 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=h3On/1mxZLsnCiIKQniqhZYdOW+DWlbKxWZSDdPRTJg=; b=SyGi+j9tTdyuhf76wcZ5TO71Rvn38sv66ygz4TA03zPkhWr3qDKXjlcZu69WbnDXcHOPnl0COhNvSU4yhSA4imvedWTRtARpCBeTwOm1q0Pfz53kiWc0J4o77Ri4FO+2AssUn7tDjjZddPDUKFQ5wPhN1dGSLS08/CngF4Wj2gA= Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=caviumnetworks.com; Received: from localhost.localdomain (171.76.89.237) by BLUPR0701MB1714.namprd07.prod.outlook.com (10.163.85.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.977.11; Thu, 23 Mar 2017 10:17:43 +0000 Date: Thu, 23 Mar 2017 15:47:26 +0530 From: Jerin Jacob To: Harry van Haaren Cc: dev@dpdk.org Message-ID: <20170323101725.yx24sjtapjp2l4dz@localhost.localdomain> References: <1488372542-156763-1-git-send-email-harry.van.haaren@intel.com> <1489159155-80489-1-git-send-email-harry.van.haaren@intel.com> <20170321082145.qgj5c76ebe5fcxcu@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170321082145.qgj5c76ebe5fcxcu@localhost.localdomain> User-Agent: NeoMutt/20170306 (1.8.0) X-Originating-IP: [171.76.89.237] X-ClientProxiedBy: MA1PR01CA0010.INDPRD01.PROD.OUTLOOK.COM (10.164.117.17) To BLUPR0701MB1714.namprd07.prod.outlook.com (10.163.85.140) X-MS-Office365-Filtering-Correlation-Id: 444e3159-551f-421d-973f-08d471d5d8ae X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BLUPR0701MB1714; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 3:/yEo6tBc18eNWeJpUmJYuXnR3SMvn8Je1JXvXgqMA92uJCloqh3AbDiAmXQmXSY5ExkIXZKWQq1TZaUUuHOiBM9dWh7S2HaBSYCp9bK6C9FdmvZQSPpg6h1VVrhibD2aoMjsPn4tvIomvB9GgLAg8n7fCIbJ9TopGry6VQdagUin7Sl0KYuqPVTq5QLosVNcYHF5IN0Mg9bPiLZHzSNYH69a0gCdZ1mlR4SQmn1MTk2s05Meo8poOYCQRmQfvQBNTYeem53xHw7W3Q9SMrNw7w==; 25:alpAckSqsD2iCqOGZP2AWbISjSUWZxBCHXQ3CU7Ol2QIC7h6TJGzFHwhwHciEZFS40NMzJo/8JoT1pEdT3E79NsZs7hc96NKdtfsVFIMNL7n9pZ4+I6ncFeqpm/H9EP2s8uiJiEvuf+0t9ONcVRN/pFGJfdwwSac9p7RJgE3Vyp2Wp0IEqeCdTcEDKjoajsvRqy2MD7G6jW6htYWqJvuuQ99OfxCJYG4qVg5xatSww6CbXcucKqCJ+A7ZJawreGxfH2yY7BEGzm8gfjB97nfsspUFKWc7neZMILukj3H3/zrnOMSq3lIrifr77gytSXlJNXBn0xkOwYEbeJgek+QEZA71X+3HEFHr9snqIYZ+WmRIunUAelFy4PWCQ3OhckkRa/JKSX+zLhVVo2x6MaemczhRS5J5NJP+k7Qflb6lHncEMAbGdmgGXXtKQiPVxS8kDOa2AMd1VoWS9dVuPwVrw== X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 31:XgHouCvsEWfM+Dsc6i3+xhUVKm2wU1xuYbVYl3PpEHSTVlUOeEulWN1yLomjdqfhEVqzHHtHUw0KP5YpCS8tErMIZ0W/ozFlfph8KSk9gjo/fJGepriWK4ONgU3Z30mbbLUZDOGrFZGdL/wU17QqKhhUFHxNgOK+oxzc9xo+czZ2rkaGpXJ2b8xbh1BSsXetMEh81ao++U0Toy6OwaXOuZSoVOp+/2iorV32Fsotc5eBL1PQtTYhwhAJ0PkBsSBTwJrRvfULDI6SWCfIFpGZlQ==; 20:m0k8x7Pct7z2Rx/oCr/eWKQgYkjoW1bMsbFi163su80dqOu5meu7bhavoD+3MlP3sQnBTTrO/EuJof5qaFq71JaL26BqUiRFtzIcx7EPBScmbys1tRuV15NsWVMybYiqcRuFGCCFZGNB4Wh+kUZuAVY8FMz4JAR3BPIsLcVb6vogDj0jKSHMD/4e0R8kRgdIUbgPI4q8ET/HFJTJvwzqyZzaaWL7PslbobquAV+fhQTKSs1agTYznt0N94pI1hz3f/4OIBVSioLtbXyXGpgqu519yZehh4IskdbmebsmiTI7kZUHX6NEnhjTErQfqnmFAAmz31KwIgPd+cgqh9ZCcMaYhIJ9+/mJY2xbYGPgcgo/Gr+hbO7l3y5KlFk1izt5IpYWTdWGLR4Sqcm5HG7WuCIoT2HtN3M/OFiNIOED9QWt9L+5jgjEw9mbE0txk/n7ixT4FDcWQlA366+pD0dCS0eok33gYzurwmTkaANuhiTRpg71OccymxvL9NKlaFtpzdMp3A5bXNruq65yRhj2hfHtMFekoX+x7ZJyGh1HsGoH6ozCKb047/nFg1Fpr5MgBv1O4O4JbHpLeanmstwCOORXtt3sAbg1YA4DKpcc5pI= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(278428928389397)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6041248)(20161123558025)(20161123555025)(20161123560025)(20161123562025)(20161123564025)(6072148); SRVR:BLUPR0701MB1714; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0701MB1714; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 4:8aRWobEv+/dpKyEPE4yT7d9OYfFbou+Mf8NdE0xiBz5wY4BOIrAFiFPDBVNlDjT5aYEUsizkHvtC6A8xOMEh3m7VFfGAzeFWDiwPLQPnue2p+H+GT2/qINR2wfuDTMasflld4mO9UM28RJ4nTH7TR8RuRVD2gKL64e5tvLOhlM+XIyW0n6Z9vCM1TeoeOQ2VXV+cMFIfZXVQnZQtIGQY4OKB05ynv9NEC5iilW50No9/jhqs5TOdobD6f/WqYWko5gKhuZWxuPBBrHjFAs09jpGmITRkhdwZeCAOo8uvlEE3J1pJQkDYS6Z1D7bqcpZurK9wP31p07kFttCC5IpSk1CJ21uArYfh5ZbgTI5qvMz519MajpaoxH57uOvwbnEjejx+/9yNBKzTKSqGNWG2wMAFx07fpp8+RFyuPkqr3VkEJt/FwSCVZ5CmDZeOflmu3/3KsvrvLzSXTwarqmWf1u94SKyXlcw3Z+wJ4E7NzFwU7w8GwHrco71LRavMYoF1IwFgxHOln9FJJJvfRLPE5tfKnW10anqyQAnTvujFkefPWUN4zqoM+W40rV+g0glPKhxRPhJscoVdubub7LpARoYH6LiDhotjE4U/MeUR9tUHInode2ZqdX41IG0gf+RQymp0FFDiyaCCtwG7ruMDWd9pGGlhJz7fb4VeBxecPPa2QXPaQldyEsvpkEpP4Mwq X-Forefront-PRVS: 0255DF69B9 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(39450400003)(24454002)(23726003)(1076002)(83506001)(61506002)(4326008)(6506006)(9686003)(53936002)(33646002)(25786009)(55016002)(6666003)(6916009)(42882006)(66066001)(2906002)(189998001)(50466002)(47776003)(229853002)(42186005)(38730400002)(110136004)(6246003)(2950100002)(5660300001)(3846002)(7736002)(575784001)(6116002)(81166006)(305945005)(8676002)(4001350100001)(50986999)(54356999)(76176999); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1714; H:localhost.localdomain; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1714; 23:hNxqBCagYBmRiNcA/yYBG7DYbihzOLZ84RfdJmG?= =?us-ascii?Q?j9MVk7GXr8pzZR3kW/G0/9SQuwSkjGufsQrIyiqtsIOx7Xy1yHAWXfAp64OT?= =?us-ascii?Q?ULf4MRZUH/N1bjEP8PQHbLEyGowqyxCEg37TyKBu0CkARs8FO8ycQFkgd5Ty?= =?us-ascii?Q?ibGgRFrByDxy1m/PCJN7K7dQZdm0ZsVdkh8MQpvxFds1cyL3sB3cGSdMTe8b?= =?us-ascii?Q?qaqkEetILkKy4o+JNFcT6kzYrBrlFV3geILJWFoPhFYjahGRfrLwSENsHR4z?= =?us-ascii?Q?0M1LriEWblPXDXmdcwLFwXiY6Lrp8hH2zHEMgSgbfI8FyKzRgwe3XZWbTtnD?= =?us-ascii?Q?AdVI3m8s/D1N0r5wCoQRF/BDhESDUz1Uc8jDJNVB8PkoZfeBcgXRxMEFjGED?= =?us-ascii?Q?r2f8Ck83AD7m5PVkjaV/3CK6XMSqWR/8RVPkf6qDSB74Ruf/GhkZyopOmtyO?= =?us-ascii?Q?q1WCRScvLmNw+NQ0he6Nc4t9XeZExIuLCZ1wpCRdh7ZfAdyN/1XoAL9g89iM?= =?us-ascii?Q?aSJbS3cMwnBJO7anlZ3S5TJaTb0EABXAhqvGSARh293oMc1p12CZiqVFbJmV?= =?us-ascii?Q?1LyYXo7aFHqPd+7MgeMIhap3BTrqTc5/Xn/o/nxXNi6YpRqgbpyWTy8CtVFp?= =?us-ascii?Q?OUjkoeqW8U7piClU9GHWzeWzOUKfR4x3Giq2nE94uN4PQBa7Z1SByL4bNpCM?= =?us-ascii?Q?SGFEdD8thf4E7e2QnDKM8RGCAyD564GaIGwi0hj3SrOnchPtlwy/dAkifeFg?= =?us-ascii?Q?5OUCwy6ee5dGYHvRB/HafEZnEpqd2saflyszV3TsMpp1OFg+USUNxdUEmM6j?= =?us-ascii?Q?3Hy6nngUaMpZzi56OUdM8jyjpY0RBzSOPTueCge3RQQ2G3Wzj8jt/B9BymyW?= =?us-ascii?Q?flHg8dxBTdBpx4nV7O5ieV9WkcQwmqb+S+OZW3aJnv1MRHcjzjxp6lhGdC3y?= =?us-ascii?Q?j7HI/Z/s3CXya5igDLJn9upNF17xE+V+tkk9kt3LveSRgCh0fkpQeuwYm6C/?= =?us-ascii?Q?LFvEDmroJC0PQbWYC6nqyRZ3ivda1RHKQ427s50Yv9zZGtw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 6:x/Oybg9TeLKroGNZOti/epqn8i5R9IOgOX4C1ELq5G3opK8FT8tGTCr41ESmsEkn4++z80lGvAMPucLJkqpqnTSsN+O1tztJXaXnp2PaZ8tpuxTnqEslCapUQq615ECYyn+ACiogyyIX+G4qVhWx96M4PdhGGUdA5Ks4Bh51HU3f2/fqU+kQPFMGifljdeiQG+5Hb+P2+jUb210C7Oeo7zDG9a4AtlszLNau6EdeRf1jmzgDg2Zn1XAHeDGfYiawocyy1ywZy26yPqHqyUOxcime9oMLZhjskaPITSdhaLKsywPFhayF28gHSYm0sQvJtj835SvM9xWILEOJC4BHhw9/rmvohgU0R0agg9bJpMH8tc+Ytpu278nhqFMKDRZkzebvUNdR1JIGjfchq9+hYw==; 5:2SuTxub+NOA9pbo3D72X7NeRuk9ZzIeT6E9lQO5YcUvf6348X38e7MPDrI+BopuBC2hwvLslPt/EZqpVI0KMH18n3wujxfsUA8FtAljpojK6cagQTdWEe0OKhrh5uTgqZl5X0HalSu5TeGvdt0Q7Tg==; 24:LJug6MboAV/XPWHhGuDI+ATBa+xEVZ2iLIfAu+KtCHx3L64F8eSjkKOHtnGKP70JoVCpRerr/WxjAaEmIZLWGW1KL2ckAdBk5oL+HiCi+a4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 7:c3lSeKUmpoNj0TuZ7e1pVZ+Y4Z3807jkhQygeFnTYMxoUURAuSKcGRlu8F9KxujDt3d5sByXU/Ubz0XjpICDKQ8WnswkQczixtS051CPg0NAADtSH7ttbTSaBPbu5I6quTBpNiUo4+VDEqAVHCQx4p2XyFKdINMtWu/VPZjRJUPUHdQps6szB4LauR5sdFReRWg8/gQ80vQFczWbDLZlIRhm0i8hA1yEz1X6QU+wt5FSxa2GJgCasziDqCYRs8RRQYzHd8+XdcAUoldUjZTsINsKogCS1Ox+OLJ75JvSvwpl4kwA3p5Deu1vxmKw0QZGfJpOBVzsBenoY+RN6m4uVg== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2017 10:17:43.0493 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1714 Subject: Re: [dpdk-dev] [PATCH v2] eventdev: remove default queue overriding 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: , X-List-Received-Date: Thu, 23 Mar 2017 10:17:49 -0000 On Tue, Mar 21, 2017 at 01:51:45PM +0530, Jerin Jacob wrote: > On Fri, Mar 10, 2017 at 03:19:15PM +0000, Harry van Haaren wrote: > > PMDs that only do a specific type of scheduling cannot provide > > CFG_ALL_TYPES, so the Eventdev infrastructure should not demand > > that every PMD supports CFG_ALL_TYPES. > > > > By not overriding the default configuration of the queue as > > suggested by the PMD, the eventdev_common unit tests can pass > > on all PMDs, regardless of their capabilities. > > > > RTE_EVENT_QUEUE_CFG_DEFAULT is no longer used by the eventdev layer > > it can be removed now. Applications should use CFG_ALL_TYPES > > if they require enqueue of all types a queue, or specify which > > type of queue they require. > > > > The CFG_DEFAULT value is changed to CFG_ALL_TYPES in event/skeleton, > > to not break the compile. > > > > A capability flag is added that indicates if the underlying PMD > > supports creating queues of ALL_TYPES. > > > > Signed-off-by: Harry van Haaren > > I think It is reasonable to have this capability if SW PMD can not > support it for performance reasons. The only downside is, In application > side there will be changes in the fast path.I think, The reasonable > trade-off between performance and portability to keep packet processing > functions as common and keep the pipeline advancement logic as different > main loop based on capability. > > Two reasons why CFG_ALL_TYPES important for HW > - Event queue is the precious resource and it is very limited and it > consumes power and internal resources like SRAM > - The use case like flow based event pipelining will not have constraint > on which event queues it enqueues to > > I think We can add this capability flag now and once we have performance > and latency test cases for eventdev then we can check is there any scope > for improvement in SW PMD.With that note, > > Acked-by: Jerin Jacob Applied to dpdk-next-eventdev/master. Thanks. > > > > > --- > > > > v2: > > - added capability flag to indicate if PMD supports ALL_TYPES > > > > --- > > drivers/event/skeleton/skeleton_eventdev.c | 2 +- > > lib/librte_eventdev/rte_eventdev.c | 1 - > > lib/librte_eventdev/rte_eventdev.h | 13 +++++++------ > > 3 files changed, 8 insertions(+), 8 deletions(-) > > > > diff --git a/drivers/event/skeleton/skeleton_eventdev.c b/drivers/event/skeleton/skeleton_eventdev.c > > index dee0faf..308e28e 100644 > > --- a/drivers/event/skeleton/skeleton_eventdev.c > > +++ b/drivers/event/skeleton/skeleton_eventdev.c > > @@ -196,7 +196,7 @@ skeleton_eventdev_queue_def_conf(struct rte_eventdev *dev, uint8_t queue_id, > > > > queue_conf->nb_atomic_flows = (1ULL << 20); > > queue_conf->nb_atomic_order_sequences = (1ULL << 20); > > - queue_conf->event_queue_cfg = RTE_EVENT_QUEUE_CFG_DEFAULT; > > + queue_conf->event_queue_cfg = RTE_EVENT_QUEUE_CFG_ALL_TYPES; > > queue_conf->priority = RTE_EVENT_DEV_PRIORITY_NORMAL; > > } > > > > diff --git a/lib/librte_eventdev/rte_eventdev.c b/lib/librte_eventdev/rte_eventdev.c > > index 68bfc3b..c32a776 100644 > > --- a/lib/librte_eventdev/rte_eventdev.c > > +++ b/lib/librte_eventdev/rte_eventdev.c > > @@ -593,7 +593,6 @@ rte_event_queue_setup(uint8_t dev_id, uint8_t queue_id, > > RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->queue_def_conf, > > -ENOTSUP); > > (*dev->dev_ops->queue_def_conf)(dev, queue_id, &def_conf); > > - def_conf.event_queue_cfg = RTE_EVENT_QUEUE_CFG_DEFAULT; > > queue_conf = &def_conf; > > } > > > > diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte_eventdev.h > > index 7073987..4c73a82 100644 > > --- a/lib/librte_eventdev/rte_eventdev.h > > +++ b/lib/librte_eventdev/rte_eventdev.h > > @@ -271,6 +271,13 @@ struct rte_mbuf; /* we just use mbuf pointers; no need to include rte_mbuf.h */ > > * > > * @see rte_event_schedule(), rte_event_dequeue_burst() > > */ > > +#define RTE_EVENT_DEV_CAP_QUEUE_ALL_TYPES (1ULL << 3) > > +/**< Event device is capable of enqueuing events of any type to any queue. > > + * If this capability is not set, the queue only supports events of the > > + * *RTE_EVENT_QUEUE_CFG_* type that it was created with. > > + * > > + * @see RTE_EVENT_QUEUE_CFG_* values > > + */ > > > > /* Event device priority levels */ > > #define RTE_EVENT_DEV_PRIORITY_HIGHEST 0 > > @@ -471,12 +478,6 @@ rte_event_dev_configure(uint8_t dev_id, > > /* Event queue specific APIs */ > > > > /* Event queue configuration bitmap flags */ > > -#define RTE_EVENT_QUEUE_CFG_DEFAULT (0) > > -/**< Default value of *event_queue_cfg* when rte_event_queue_setup() invoked > > - * with queue_conf == NULL > > - * > > - * @see rte_event_queue_setup() > > - */ > > #define RTE_EVENT_QUEUE_CFG_TYPE_MASK (3ULL << 0) > > /**< Mask for event queue schedule type configuration request */ > > #define RTE_EVENT_QUEUE_CFG_ALL_TYPES (0ULL << 0) > > -- > > 2.7.4 > >