From patchwork Wed Nov 2 11:25:22 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 16896 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 612FC2BA6; Wed, 2 Nov 2016 12:25:51 +0100 (CET) Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0071.outbound.protection.outlook.com [104.47.33.71]) by dpdk.org (Postfix) with ESMTP id 8A1452B8C for ; Wed, 2 Nov 2016 12:25:49 +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=Wiegq27soxmyupkd5iy03ZAdEL+gw/pGkxMGeVET/eg=; b=Sz60UStnkKz9Sw+XR3fgQQOQ78Ty843UEyrErrLoHtqfNnsAwiO100mkrCaGiUYTG4szS2RkysuX47Vj/ni/1rwuxtde+VPuHXcl5CdGTqYLvGCQr+yrY1z9hNCSB5EXqv12Yt8ndfNJiiyb4u6LT7OjTx1Iu52WyXdP7UfSC2k= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@cavium.com; Received: from localhost.localdomain (122.167.46.37) by BN3PR0701MB1717.namprd07.prod.outlook.com (10.163.39.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.693.12; Wed, 2 Nov 2016 11:25:44 +0000 Date: Wed, 2 Nov 2016 16:55:22 +0530 From: Jerin Jacob To: Bruce Richardson Message-ID: <20161102112520.GB30658@localhost.localdomain> References: <20161005072451.GA2358@localhost.localdomain> <1476214216-31982-1-git-send-email-jerin.jacob@caviumnetworks.com> <20161025174904.GA18333@localhost.localdomain> <20161026122416.GA21509@localhost.localdomain> <20161026125414.GB33288@bricha3-MOBL3.ger.corp.intel.com> <20161028030140.GA2967@localhost.localdomain> <20161028083646.GA82872@bricha3-MOBL3.ger.corp.intel.com> <20161028090648.GA32750@localhost.localdomain> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20161028090648.GA32750@localhost.localdomain> User-Agent: Mutt/1.7.1 (2016-10-04) X-Originating-IP: [122.167.46.37] X-ClientProxiedBy: BM1PR01CA0031.INDPRD01.PROD.OUTLOOK.COM (10.163.198.166) To BN3PR0701MB1717.namprd07.prod.outlook.com (10.163.39.16) X-MS-Office365-Filtering-Correlation-Id: cfed0b3d-bad9-4c7f-47cb-08d40312fe95 X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1717; 2:yfufSGjSawp8GlMeIXdgYCR1AmlftuCzqtxZEg92AQLrDvBgowbPH/pRTYrZGqJeOrKxm4C9ybam+lTPYL1O/E4uhlqplEtS1d+XmITyg36RFJHE4dJ+Ezbidar9fR8OiWdzyi8s6LPjnZA1umqcigf3ef9Lo0kJjOcvPbH4BeT+d1mSdpabEfDm7xs/uvTKmo6Md1BJSNdRIxp/Ad+7qg==; 3:Jx4QkKc2eJHlt8a5Zn4K4rsQfBN7tU9hJSNKAtgS/k9Y1SQcmif/a6anHJo8g9K0dfJ8TtwHfQoV67pyfQnIoERD5CXdYYbmvTw7tsH+qmY77OI+C/ta+xf+akDqmkRRPgWqxifaltjB4jMg8nGdcg==; 25:LesWh8S8zT2DWD0m8qyJLb4TWZ6qPbUtBxRVnyQrLcHkMaY4ssGCHfEH1RVdCiVaDfb19G9lGWhEN0CZDnH8kNbKL6QSHlEf1H7v2vgtVlw8N7+DtXte3O8UTIBXLpqLLXOgybO1r1iZ1Qt4VQ4nDQrG+SqWYb80cZlk3zZlsa0Y+N4fKDayxF18FEGlzqHmbHCGXlBMdCu0XaYtONG8lNpYs7tnd9Eezzs+7DBCOXj5b+ILBTva3KQ+xqFJwAprarlrCB8rMybxf+bGulTueDC/980VVXKlpvPLwX5ZuGdsUgWbFmt4p9/h6QRmEpALLvgl/2AbJfE/cJTy+lTDxyghb8xYfFVyVIHKRkTMC2yTh7HQBTus6PN2Idt6OZRLK+WlfenhpThUVkv8cMe9KR5zya2/G78ugF0E0nRwNLj7iMP5o0qlBwkKgI7r4/CO X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0701MB1717; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1717; 31:0TuZbbF+ycVliK34jiNuHtqouvluWKV5doTtZHSMNjYAyF1CtFLuL6FdY163BvLPaL/1bk8G2M/Lmmyo+tfvLrz7MqAR4f2QFUDYYoJwbIfBG0pjDyeTN9Rz83NXvevIdeLBF8wdo8Hj+sr9q+9e2jPa3eCCjeXY9SmHb1ay3MgCFB+AsmwNkPGDEn3r7sC184j5kRz6zRF/aiyfS+a2ikd0BtEBhkx9ajGmSzUgb3kwPswdCprqnuVZgAT+EBF+; 20:ECxbbUsDipPAeEP8Smu9MmPbhLQyDoLYziVne1O40sUnCUNyMtqEnWNGebaNolXKhmlykfaIYCjLiFEOxhkAHES8fvNSD7Yvp0Uq6ZchgUEhdabGfYqnS0zHP2ok5exwKuaEvGMoWXPHwhqxhHgcCYxNNA41Nf8odsHeXkVmviOEXts5cUV91kDT8Httn+NPXHaNE88giSGkcIBku6Qksqc/74Jn7Nq/Ygw766aUo141y1VdlYYP7o4pkzE+8W9QazJL4nd75qyI7JUSJrOW02vwEZoOfUQGKkGpFvLLcEPMESRX6zlj7Z9IHi4TnqBRfcuppfPLJkEGuToHHd9j57Bz2jB+OH7BCnZx8FE7q4iB0QiFZdetFXJPU47XcQGEBTai1gUzPb2ZuPVRgzKFJDLbbDMWtt9CW5+xOYZBYqQDHneofTZq+H6JWA4t4sCxFaqdU/h1oeSdz7jCU0rIJwIFYgrU3dXe3zOUbewLjeKqtsByRCwet+z+Q9gY8WZ/w9GBM/8dgvsANkNp+igg6yyhsnoJpl6H7kG7NKKJDPmklnUEAM3o4+ZR8/iDnbzzKe7gaWDEA3jIJvfcRt71T/dZUAa/GJ2mhWHQM3/UXOU= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046); SRVR:BN3PR0701MB1717; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0701MB1717; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1717; 4:d4x0iQ8/FWaDFz4bGfO6f06z97wnGqWKTPy8is7ciLwTYhET6SMVmi6lSEa5ePfenl79pCNDOOlXg+e5Pr8zokMVrcup8Z870gCEHZ/stZI3HpamhxUiQx+Vh1u4LmxsJAKEd8aGerFgyrlbOPfUi09HUwoBGs1m4O4W4ZkKnH5u/NJ6O2OYYhWNA7eeD1WPkzUxhUmvIdxyyUvM5ixe4FQWOU0lq3evoANG8HOm/qywcBPolVGizpxGG/DT5E3bxxAsxz3/uNLgLJWQIKemlAjUMz+TXN/mzaNBectv0ULQVeXR83npSE38vjFO0lFiMsZIbcN57GEzl6y7hbp+PEGWG3yihNU9LQK9lxzl9PBaTCbJHnXPrhFzLr/ZT0XdSC0GL/n++F7q3qP+JS+Kcg== X-Forefront-PRVS: 0114FF88F6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(24454002)(13464003)(199003)(189002)(105586002)(106356001)(92566002)(83506001)(6666003)(4001350100001)(2870700001)(50466002)(575784001)(97736004)(3846002)(6116002)(586003)(9686002)(68736007)(101416001)(76176999)(54356999)(47776003)(50986999)(77096005)(8666005)(42186005)(6916009)(2950100002)(110136003)(5660300001)(61506002)(93886004)(66066001)(189998001)(2906002)(7846002)(1076002)(33656002)(4326007)(23676002)(42882006)(8676002)(7736002)(305945005)(81156014)(81166006)(7099028)(18370500001)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR0701MB1717; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjNQUjA3MDFNQjE3MTc7MjM6MU1VWGRFNWJrSStVTmVvRE1YV3pHbWgw?= =?utf-8?B?dE9XWGZRSlpsV29aWG1FQmZXUmQxVDVtRk8wV3ZVeXJhQzZIdWNIcjFhQStD?= =?utf-8?B?eElaQ2tkeEx0M282WkRzMFI1Wit5aDZrV1Y0Mno2c1RmdjJ4RGVaN0VxSHZ4?= =?utf-8?B?WTJLTzRRWHVYN0hqL1I2UmJUYVpyOHk5T2VpTWpJQjA0STcwZHhucVk1ZWVN?= =?utf-8?B?QmF0VTZ4SEtYaTAyY3IxenNvNk5lZjhwR0RCQUJ4b0FLQTJzSXIxeVRxTmNk?= =?utf-8?B?dnF5ZXB2aGgvNFluczVaUkJNRWVYM2RDSXBqbTNBMTVLS0tjL0hiMjFjQTMw?= =?utf-8?B?dFM5Z0FETUJ6Yk9KKy9SbTkwd2VrOTJqSGFFa1VHNEdlU28vT3dWMVdmT2lJ?= =?utf-8?B?MEJCWkNzblV3c3gvWHdNOWZoREh6NFRvVUFpZHczN2dDWTVqcGkzTkNYVXhs?= =?utf-8?B?NkNXcWhwMmtIcjROVnpPdkh0UWNPSGtFQmFjZVNEVjNMU20xMDV4WENpb2pB?= =?utf-8?B?WVZHa0RCS0pNZnlQRk9PbUdrcUh5SEFuYmxvSVVwUko4dDVITmVZK3VET2hK?= =?utf-8?B?eTViYWZzdk9OdlZKTlFoajk3M1V4U0Y3WXp0TUkwNWNnb1Q2NUoxYWVqV3JM?= =?utf-8?B?QkU3S1h1NVV6cFIvN2NxQjVmRnZKdWRtQitWSnJQa0RjYy8xaWFXMy9CVUpl?= =?utf-8?B?bUQ4dDY1dWt5djEvQ29XUi95SW5JTDdXbkxlWURSTWJtZG13TnpGd3dxcUlN?= =?utf-8?B?V0I4bXNwMkR3NXV3QTdvcVJtTFlBdytUbWxDNS9hUlNrVjhLSHJPUzFiZTVu?= =?utf-8?B?WnZxbm9ubnNtKzBSaTBCTC9qQlcrUWZ5ZEhESE1FdGNzMTFPLzY0M3AyM0NV?= =?utf-8?B?MmVkVzBYMzJreEtDemE0ek5kVlFkNlRkSkh1RWsybXFEd3F0VUJqYkxCS2JP?= =?utf-8?B?Y1hRWG52OWpieEhDOWRIZkNzQmNkVnJ4akkrZTltSkl0YjE2cmVPdlNiV2I5?= =?utf-8?B?MUNQT0JKcmZTTXd6L2FCQ3psWFU2cG81RGg0emFPd2ozQVVxTHlMTU5SZ3c3?= =?utf-8?B?bDY1aWRrS0pqR2pyWUozMWJNTGVnS2hDTVZnN1VtVjFqRkE2a0JxbWk4ZW82?= =?utf-8?B?STl0aERCSURIVkJna2dhdDFKNi8yRjZ6WnRqNEZpa3hWTVV0YUJsSVJtUTh5?= =?utf-8?B?Y2s5TUZhbmhjV1VoRE8rS01jTG1BblAxUGNlOVEyRWgzemhoVXI4V252Z1Q5?= =?utf-8?B?NEpBVzFMN05MZnZFejZqY2tpQVJkcmlnM3ZLSmFSUUQ2cytxRDMydG00d0Uz?= =?utf-8?B?azZrV1ZuZzFFZW41YnhxR2s3WmpTNlJmR3RVL0lFaUVEbytObVdERWp2MGNE?= =?utf-8?B?bE50ckZsNnNZYnMycFczaTYwVzlJdkJRWnNOZWloRVQwRlMzOXA1bW9EYWdL?= =?utf-8?B?dXRyQ1Q0M0E0RGErUjVvTnZBWE41bWZxTVBxQ0pBVkV5WG53Qnk0Uzh6TEVz?= =?utf-8?B?b21jV1QzbVpGRHltSEVseDFtMlROdXRuR2tOYytEakFLREo2SjJlREI3RVh4?= =?utf-8?B?dERVSm9WOVhuWEJKQzNoazhidlpyODNPMG8xWE50b3poeGYrcnY1Rnc1cllC?= =?utf-8?B?VGp6R0RPQjhZbTlhTTR5d3JMQVVuVTErZHhMR0VncDk1R0pYb1Z2aWxHTVNH?= =?utf-8?B?amhxanY0U0lXZ01yNlJNbElVQlEzTHJHU2JsR0VKT1R6a3FEajVpODJxZHVl?= =?utf-8?Q?SPZVqY+PhDr409KW/eIOsP9cckQJ8MhY3irrHJ4=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1717; 6:q2oqVXPOhFvrjsCXGL/COPxn5HcPJzY8GRTBXwleeEzpxX32aombGEoJiR9XnUAhvDNMpDgvqODWQsIqhCTXVLpUfbk0+jiE/I8mbvag3yHZt8LOtvYNqSkueczzStaHj9wzFYxa4rLL6x77DlqdIOQtBT4ImFlWF4KCMGYBCcSgXcnqg24l3VBvZ48PO2cvvYlTpyIyVLpOKWRBqo79uXdAXpYPGkZcWX1CRqyG0xHctfWlWa7NsDeRN/qJEVdl3+a2j0zS+KpWGR/x6pIFmG7SVntRGlas2+2cEyxUlwly9/Q20IbcbhFNykF0Z5zp; 5:AAw5VizqJrwW8NxoACW6bv5N+hvN74yPLOrBW+/+zNKLxZpQ4smF+U6cd3qcmfBGF1IZcByBeFqrFF00+pgERU+aJvrw/4sJ6rGch1g3Atfm5BfhypNOzqQ616EVvX64JxdqQ79fNE8eO15AUgD42g==; 24:KwB9vJc3OFZqOLBWR3q8MeSyij6P7JR0IdlU3N6AZbHP03HoQIRj8yhLNQGGtxpXJedNwcIWKOXbSZTwYO9ZOY5qIa4HKoAAu3CyyHmRSZY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1717; 7:3EfMZrm7ML8FKBUBEHXxCWmnVOgLgZjU65nrfMA+cjnctQa1Iw+nriVmPLU867IXsFb5BPHVgSluXOV+zSoMCkmppqv/1o3dYmzngeT8c9xq7pvWozJ7FqOkMYuq9ilTt0GYK0LbPbUCitLK+cKV2HUYym9dIKc5RLWHx6CY95AL5KXA9MTPqPCH0NURqUO/pqUxtbufjZBQTmWVqYIMta+raZYcDUAvDVerescJ1W/22EbqzJJ81p9muCbezrkGygny81rdkPz9FzsLbyUW3AWRGNEADBsS/XT5UWEWQryZ/xn2miGHUX0FGacVp4kPro3yA4ELZTe2gWsQicxX0arHy7ta9YZjVIBhnai6Zkc= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2016 11:25:44.8396 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0701MB1717 Cc: "Vangati, Narender" , "dev@dpdk.org" , "Eads, Gage" Subject: Re: [dpdk-dev] [RFC] [PATCH v2] libeventdev: event driven programming model framework for DPDK X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Fri, Oct 28, 2016 at 02:36:48PM +0530, Jerin Jacob wrote: > On Fri, Oct 28, 2016 at 09:36:46AM +0100, Bruce Richardson wrote: > > On Fri, Oct 28, 2016 at 08:31:41AM +0530, Jerin Jacob wrote: > > > On Wed, Oct 26, 2016 at 01:54:14PM +0100, Bruce Richardson wrote: > > > > On Wed, Oct 26, 2016 at 05:54:17PM +0530, Jerin Jacob wrote: > > > > > On Wed, Oct 26, 2016 at 12:11:03PM +0000, Van Haaren, Harry wrote: > > > > > > > -----Original Message----- > > > > rte_event_queue_conf, with possible values: > > > > * atomic > > > > * ordered > > > > * parallel > > > > * mixed - allowing all 3 types. I think allowing 2 of three types might > > > > make things too complicated. > > > > > > > > An open question would then be how to behave when the queue type and > > > > requested event type conflict. We can either throw an error, or just > > > > ignore the event type and always treat enqueued events as being of the > > > > queue type. I prefer the latter, because it's faster not having to > > > > error-check, and it pushes the responsibility on the app to know what > > > > it's doing. > > > > > > How about making default as "mixed" and let application configures what > > > is not required?. That way application responsibility is clear. > > > something similar to ETH_TXQ_FLAGS_NOMULTSEGS, ETH_TXQ_FLAGS_NOREFCOUNT > > > with default. > > > > > I suppose it could work, but why bother doing that? If an app knows it's > > only going to use one traffic type, why not let it just state what it > > will do rather than try to specify what it won't do. If mixed is needed, > > My thought was more inline with ethdev spec, like, ref-count is default, > if application need exception then set ETH_TXQ_FLAGS_NOREFCOUNT. But it is OK, if > you need other way. > > > then it's easy enough to specify - and we can make it the zero/default > > value too. > > OK. Then we will make MIX as zero/default and add "allowed_event_types" in > event queue config. > Bruce, I have tried to make it as "allowed_event_types" in event queue config. However, rte_event_queue_default_conf_get() can also take NULL for default configuration. So I think, It makes sense to go with negation approach like ethdev to define the default to avoid confusion on the default. So I am thinking like below now, ➜ [master][libeventdev] $ git diff struct rte_event_queue_conf { Thoughts? > /Jerin > > > > > Our software implementation for now, only supports one type per queue - > > which we suspect should meet a lot of use-cases. We'll have to see about > > adding in mixed types in future. > > > > /Bruce diff --git a/rte_eventdev.h b/rte_eventdev.h index cf22b0e..cac4642 100644 --- a/rte_eventdev.h +++ b/rte_eventdev.h @@ -429,6 +429,12 @@ rte_event_dev_configure(uint8_t dev_id, struct rte_event_dev_config *config); * * \see rte_event_port_setup(), rte_event_port_link() */ +#define RTE_EVENT_QUEUE_CFG_NOATOMIC_TYPE (1ULL << 1) +/**< Skip configuring atomic schedule type resources */ +#define RTE_EVENT_QUEUE_CFG_NOORDERED_TYPE (1ULL << 2) +/**< Skip configuring ordered schedule type resources */ +#define RTE_EVENT_QUEUE_CFG_NOPARALLEL_TYPE (1ULL << 3) +/**< Skip configuring parallel schedule type resources */ /** Event queue configuration structure */