From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Jerin.Jacob@cavium.com>
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 <dev@dpdk.org>; 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 <jerin.jacob@caviumnetworks.com>
To: Bruce Richardson <bruce.richardson@intel.com>
CC: <dev@dpdk.org>, <thomas.monjalon@6wind.com>, <hemant.agrawal@nxp.com>,
 <gage.eads@intel.com>, <harry.van.haaren@intel.com>
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: <BY1PR0701MB172364233D4F0B185B35B148819D0@BY1PR0701MB1723.namprd07.prod.outlook.com>
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 <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=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 <jerin.jacob@caviumnetworks.com>
> > ---
> <snip>
> > + *
> > + * 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