From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0055.outbound.protection.outlook.com [104.47.41.55]) by dpdk.org (Postfix) with ESMTP id E20E22BFF for ; Thu, 15 Dec 2016 14:40:07 +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=t0illxo97n/LD7jTgE/sZKJPqxCeTA7ekR3efRWh3IA=; b=ga+l+kNNSv1JCoiOPe15bbrscwPC9ohdZWF4yN/EFqgYdUSpOyCa0zqTGTqfwTymO87s5TcyrLrE5lHCHoX4TVakmhtXk7n7uW3ec4h/vpzuCgvOAKcGipgrRkH02ifi9rlXFZqL1/kLjF4mBiVib+fOPQDsj931G0EhsvUhvLY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@cavium.com; Received: from localhost.localdomain (122.166.153.127) by BY1PR0701MB1723.namprd07.prod.outlook.com (10.162.111.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.693.12; Thu, 15 Dec 2016 13:40:03 +0000 Date: Thu, 15 Dec 2016 19:09:45 +0530 From: Jerin Jacob To: Bruce Richardson CC: , , , , Message-ID: <20161215133944.GA31972@localhost.localdomain> References: <1479447902-3700-2-git-send-email-jerin.jacob@caviumnetworks.com> <1480996340-29871-1-git-send-email-jerin.jacob@caviumnetworks.com> <1480996340-29871-2-git-send-email-jerin.jacob@caviumnetworks.com> <20161214151922.GB110884@bricha3-MOBL3.ger.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20161214151922.GB110884@bricha3-MOBL3.ger.corp.intel.com> User-Agent: Mutt/1.7.1 (2016-10-04) X-Originating-IP: [122.166.153.127] X-ClientProxiedBy: PN1PR01CA0075.INDPRD01.PROD.OUTLOOK.COM (10.174.144.143) To BY1PR0701MB1723.namprd07.prod.outlook.com (10.162.111.142) X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1723; 2:eI/qaDtrsulp+Mz6VPIci2mUamUoB4N+VjUudCwXXouO4obtin0i5fTF2mqD0HNhmaxQ6aG9MqaP5KBTWl7wZnF2aAWAVRsHD75PWaDaJjFSKa7r1NdqNxG6prj46PZyslYAQdCOb/EgZjlGQ9MiSONFTCcHwyyVXfpvJE0eA9w=; 3:KWqxQ+EXHx4cG+Ew3YYCLqcLlgyqbrKVMBUSipBG5+GmMMawGddWdl95viTn5LXryFY0v0OoSfx8w20y7+clAMRbRTMYft92v0ApGulkyivIEZ2vUSymstjWkT39tPrk8IijBc4pu+K4D3TvmMnTpOlS7ngoHUdf2l5H0GlCh1w=; 25:Yr2+k3AJciS3cZQ5yXNU+oM1/yCYFzTvI3HO5ANwC8atHDMK/+3gnxPTXKRjxOMs6gWZJO8AL6K4hkLD2v9uGVbUJ3kXzoESyfFsxxpzj2wB77DiqLO8iBZ8PhFIGfRegTrdi7A2ZcFlXWAD69tUXsj0j1TuOIv0mhM2hV0HZ/L4/P3FJAO2nJcdC+YfNLKu71a41OO1kc9sPRE4aQw8q7IIvtc6o4ulWdPnK03XIkEw9Q4/33ECLZ1MFMMJMVysWmkWmWBku4fsVG9zZvQTtO6cGYuKFkfnjirYTrMXHktrd78mgZoNS30oEFwKGclGSdf9O4enUC6sEKRDRUz/TYe4G55e4IkLNkEhp1jBJg7MTCkUcqqun6RS2OPtoGrTy3qj0MoXZ4hZHcf+cdSDobH30ucuFnKSPTO3LPps/OqAu0XrkPqJJx+k/rKjMakj4S5e22ELw82enyF/9j+7HA== X-MS-Office365-Filtering-Correlation-Id: 3d63e984-fe80-418f-7031-08d424efe142 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BY1PR0701MB1723; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1723; 31:oXavxDoiBZHQMds7IWpcW6F+GHi3PAeNxFUVU9D3wsONA93rhEODP0Sg9j9RksrXo+hFX2Ijew7KmRz40AFmI4kChH07swEZ1HsLAMAmarwhM4SPigd8jjqNhCT/io7dqI5KdsEk9XN6YKJ4J7+VlkC/zAfts9JZgRsBjuwfX9bEgsptjBDXBYNcqHQqhYNYD6+lSNteZd2803hr1wj5mef4EfIJQEbkGC+LtXN4tbysUW70ouf5lHE09kvILea4ojaR4H/CqyGQyj3HTaL3XvFdBL15Fazv23obB228EUg=; 20:qLKa4dyFpLD9l8M+NkRwvEql2BGbpOU+pYZtV3bL2RhUx/AgrTPpVU0yEv/FGm8uQgFDatam2mbkzwTLogiENJfe0yzFNmFgfQu5xzJx91g5HLhqt/jrsG5AldsWW8Vn4/OIvpHFMS3ZDV+1ReKd+0j/VnuhhsAcPuVaXKrBYvIfsrBtQ07aa5wOzxI8ycHgis1rJGPYJo0YvCeZlnc3A4tnPgb+NhEoTGtQOz2myk1dBWYRSvl0mlLILvxGYhcHb38Yl+2gDc5S5DZQmRmLUijdKft9eujVMQnnoJfBsGCJSspLY5ui85gduKtfDvWUVrhSrdWWnZnprUfosreILFzU/sypzQbwaM0s7spY+gPxBaXzWx23XpCdqpoFP5u0lN2dz/JeaXW8FdQPLizHlxfZ93Q4ziqJANNJhoe53s9CVu/cUySONvlYK86ewJ1SPseTQtRsOtGfVrIp4ewQ9s5SIPb89OwQolb9QSMCfgO3FQ9gpesLXnjwPgNt4mCDedi8TsNq7icbpEz8pylA/2ZTwoLFt6zyVcznqbylB6AQTd0G9cJrfBeP3Qe590mnetm0oOhgCnu/VeOFGT9f2UneGPuBcztfyomiljmTsww= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(278428928389397); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123555025)(20161123562025)(20161123560025)(20161123564025)(6072148); SRVR:BY1PR0701MB1723; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0701MB1723; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1723; 4:WBmEIHJl9JgBQRQ4D3El2LoJgsgV3F0bjkXuE0IN6i/Scavlyzm6R07SWFrujYIzVGdK3Ye+XLrgOT2oX6ehG0XTloQBy/LghwdM82mA5E+9TrL5LuUX2UVe2FarSsucW7Yrz6dSYJPjdxsb1PvqxsBXJGRVJr249GKzGQ0gfF4L9Yvu1FVFBRsx/e9ah9/O6ONiW3Gb2kaU407zQUB3Drkp6aP6HaPJ/g2/qsMrMQXqmyJMpJ+y/HgQFZjoJ7KDpuIEWwYpjGVnugR1EM/MFAW/5EHNXFjuCFXzLoLuDSv0KjC1HdLqMfAh7ya/wxfmUg65ceyyX61IE48Cfg7LIHV895zP8AmaTWjG/Hqozycx/nZBI6GQ2d2yHOJiZZNoPkvbEOvpPz4o0IkfbrWgSdTK9MgmMbAc+3hgDM6jhssLQG2VLp6oKO+3/D7pK7veqbpHmEAfd5QZltSOrMgDVl7vLn/ws0CMVR8RJCqXqXk7QvsM7klVqqV8Mnyp/Mk7iAW3cf1nWEVtIF+Qeg9Fz/DfLTud75zKkcGf10aRkIetSwoyqkA8tvDu8DjmN1NGa85wnfBrtK3QrYOgHXpxAgbjWPcXWpDwqKkGunF0TUViyubrDRjWEWvHF0b+g4eO X-Forefront-PRVS: 0157DEB61B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6069001)(7916002)(39410400002)(39840400002)(39450400003)(199003)(43544003)(24454002)(189002)(105586002)(42186005)(2950100002)(106356001)(54356999)(81156014)(76176999)(42882006)(6506006)(66066001)(6916009)(38730400001)(2906002)(4326007)(97756001)(8676002)(81166006)(9686002)(23726003)(47776003)(50986999)(1076002)(3846002)(6666003)(6116002)(101416001)(229853002)(61506002)(93886004)(110136003)(68736007)(7736002)(46406003)(33656002)(97736004)(8666005)(5660300001)(189998001)(25786008)(50466002)(92566002)(83506001)(305945005)(4001350100001)(18370500001)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0701MB1723; 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: =?us-ascii?Q?1; BY1PR0701MB1723; 23:0hXZNRKvZSQYGd1cfVJs8Va6KDJ3barmBpf33DF?= =?us-ascii?Q?Q23os37dphQq2laT0F/cxedz76o+eznJkZciTXKK1014Z3RMppx69z9HRh1i?= =?us-ascii?Q?Xt8FpAVurwIN7iB1xDL5jAo7BOAl9tny+O6jhrOUaHYaEGz4vo1IM/qxQhRZ?= =?us-ascii?Q?UPqp2wdJpugi8gZRzy/DXxWxqYn2M5zqTksFCvaWYjoU9vkLOUsujxGa4RqQ?= =?us-ascii?Q?rCk+TFKt4nGcmoBX1mGt6C6nG4DMPwHubinWVnRfcS5UyQpZPyZUsAHmRxdJ?= =?us-ascii?Q?C2xdhuhNyWFAr0yrOVd5Vf1neprWLyMm/ZHYnmgxSNYYSLUH7aP3F1hZtk9N?= =?us-ascii?Q?dwsnc3SQ5Us50H9UEYN1ofw41qcSocbhdm50K7kNDCq/RP2543Wrt6LdKwD5?= =?us-ascii?Q?swrabiuhcwK03C3sJ01nkGYAN4GqIN4UuyBvTS/A+0IjhAhQ5pyYMVElnrPp?= =?us-ascii?Q?+sLx3hGBwbN9k7rhs/U/1xvvLyk0oGJxSQ+VvFTqjUX7PE0yBgUjOBpm6RSA?= =?us-ascii?Q?nslZfvg0lNeBJWpBb+YLgHiYJLPwoqMV/GbeYuKllobtOriC+Kz2jQh9RxE6?= =?us-ascii?Q?KFAOI7FqUb9H+H2AIWSG7Ili8vzEOAl/k5o0mGeLRO+jCD/wvxmsWwMb1hxP?= =?us-ascii?Q?Z5Eu4bmuiAU92MGmhpzznCbrodZOsQjfsj+1UHaPUlh3aax4eRDI4+P5xCgo?= =?us-ascii?Q?KeN/Xj8TAn46/XJ2GTcvlt6hTosMtyMVAbGSyq342hjEZDNQYgyBRs3lV3ii?= =?us-ascii?Q?1yeMMfMI/FgBiIzMImkV4mLoaaumIywNNDyANtvt1enAIfam+ow6g2hAJis/?= =?us-ascii?Q?xurIipd8Po4jmZAPrVphpXLlcezIeLyL0a0xpu8GvHg8KggYrwU9mIPjQFiY?= =?us-ascii?Q?kYcW/ClGkyZXB3HKZPUrVS2HEyrylYGgxQYXAAe6cf0v4OF0gpXoZioiM5Zm?= =?us-ascii?Q?05c8Oas458Ip0QDh9bKF7jsIKI3A+xpRWXI/WGMf+jxVSHGfH8Xl5/udnpZa?= =?us-ascii?Q?RVqeLZXL9cVxqjNl7QI/MHHwi5gzEvZkCeNDZCaxi69pGMPAnGAMZUpi1trk?= =?us-ascii?Q?uL4b5lBOOAt3QClVBJ7/patW69EMOGVHpehzHwNoap+jGSWU+Gs6OprDBXy6?= =?us-ascii?Q?bw9B/EQaPHoDNgQh76otFWto+mcH3oAcL0T1ThVjZ1MRJiq5WpIjh9RMn2Zo?= =?us-ascii?Q?pnQefiYV8a1fjLGJstsiC3EFZnnUeR53KVRmZKepgf//NokJd3LpKGBoaZUO?= =?us-ascii?Q?DG4u3zpaHTiQdWP/y/JStt5y4Hxo8EtuH7TBBUa3WMiqppT6lP6wu6I4k7RX?= =?us-ascii?Q?BVGsMbdlZrab5P2tTBNcs+Z0b0oBqhBlVEiWdN43wfsUkjzQ9f7kmJQfPEi9?= =?us-ascii?Q?LISqQ1FL1Fki4qekQxU4dBSZB2KH3XU8x8AOAdpFISKH8WStL?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1723; 6:nmKBmZzaF7Qp2MErDyl+kEgqJrs7ejSzeSAjgofG2k9xY7D/yPE6rx9W7B3zIsg85E788EAER9aTYhLcyjRqUP4GGtPjIZjFQ+P+kxCnur3+mpH+KsCiIYM6vBpWomsCePIVEVafJ+AI+Vrp+jYu+XXDCO2VyFWr5MpuoJZfyNK0J57WYm+U3CIgSd8ceNLfr3xZKGCW8bwDvdi5EA/fa7trsSkXq4noyDVdbb7DCXRpSTLdWYowNShrHBn91zFYwftruZvWOgBsiPnwymn8eNgpMu9IgeeNtmb+bjrQyU73fXSONB6hzLUPRR40DDEf; 5:BVKvrbNF/rmodXqXmJ77Fj2ZE4ZAgBFVqZUMlJcrWAEMFxhEFm1Rez5KYHAHMYeMPrGeytPmBNxoYcZO1GAeVHHIpe7RSCRWrjbCXSITX1vsYa4dfOJGLUETJMP91+QruxNiuvfaty/yf/p/m9ei/Q==; 24:onlzZnsTpQUgOR8NczSJQCK8zLaI72U8heNb15cnCNoLY6QJJ0OrQxRky6jNXXwKh8r4tsAODYK/UgHyn572s8GBfYfgzCTeLpLHzWshYsM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1723; 7:9oSP6GrzjrLYJRNZbOhFV7EycIROXSIjP/S5YNO1b3U9IWpojSdeIzKboTShSVQCwOhUXcfAU7PRzQusRir9aC7vgMyXMtlB8iJwgUXFyEHY4cOelDl9VJo0jc8owqL6P3pCBBkyXo98U9j1myr77At6K0cziMBL/+aVarWS2z4ortzIbMkt1SlPe5agLFx2wBMUcMEND/jasV5zehuRJrVL1cb58AGTQafi8DkkhFkE81wzOjO74iakSqQ7BfQPIUheZd6oVhXofN0kOsnwiuqYBv2Fer5Vk3gCNHBWl0EoQTaNyjGcRgh3uCmTfTt7eV3ee52auTZFw3M5XuEnQy5r5dN7FxYmKJBDfx7+NH8= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2016 13:40:03.6261 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0701MB1723 Subject: Re: [dpdk-dev] [PATCH v2 1/6] eventdev: introduce event driven programming model 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, 15 Dec 2016 13:40:09 -0000 On Wed, Dec 14, 2016 at 03:19:22PM +0000, Bruce Richardson wrote: > On Tue, Dec 06, 2016 at 09:22:15AM +0530, Jerin Jacob wrote: > > In a polling model, lcores poll ethdev ports and associated > > rx queues directly to look for packet. In an event driven model, > > by contrast, lcores call the scheduler that selects packets for > > them based on programmer-specified criteria. Eventdev library > > adds support for event driven programming model, which offer > > applications automatic multicore scaling, dynamic load balancing, > > pipelining, packet ingress order maintenance and > > synchronization services to simplify application packet processing. > > > > By introducing event driven programming model, DPDK can support > > both polling and event driven programming models for packet processing, > > and applications are free to choose whatever model > > (or combination of the two) that best suits their needs. > > > > This patch adds the eventdev specification header file. > > > > Signed-off-by: Jerin Jacob > > --- > > > + * > > + * The *nb_events* parameter is the number of event objects to enqueue which are > > + * supplied in the *ev* array of *rte_event* structure. > > + * > > + * The rte_event_enqueue_burst() function returns the number of > > + * events objects it actually enqueued. A return value equal to *nb_events* > > + * means that all event objects have been enqueued. > > + * > > + * @param dev_id > > + * The identifier of the device. > > + * @param port_id > > + * The identifier of the event port. > > + * @param ev > > + * Points to an array of *nb_events* objects of type *rte_event* structure > > + * which contain the event object enqueue operations to be processed. > > + * @param nb_events > > + * The number of event objects to enqueue, typically number of > > + * rte_event_port_enqueue_depth() available for this port. > > + * > > + * @return > > + * The number of event objects actually enqueued on the event device. The > > + * return value can be less than the value of the *nb_events* parameter when > > + * the event devices queue is full or if invalid parameters are specified in a > > + * *rte_event*. If return value is less than *nb_events*, the remaining events > > + * at the end of ev[] are not consumed,and the caller has to take care of them > > + * > > + * @see rte_event_port_enqueue_depth() > > + */ > > +uint16_t > > +rte_event_enqueue_burst(uint8_t dev_id, uint8_t port_id, struct rte_event ev[], > > + uint16_t nb_events); > > + > One suggestion - do we want to make the ev[] array const, to disallow > drivers from modifying the events passed in? Since the event structure > is only 16B big, it should be small enough to be copied around in > scheduler instances, allow the original events to remain unmodified. Seems like a good idea to me. I will add it in v3. > > /Bruce