From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Jerin.Jacob@cavium.com>
Received: from NAM03-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam03on0064.outbound.protection.outlook.com [104.47.40.64])
 by dpdk.org (Postfix) with ESMTP id 1785B9E3
 for <dev@dpdk.org>; Thu,  2 Feb 2017 15:09:30 +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=ac334PITR+TKBYQIUfTa4EwSM3RLANdFzXqhZqwfEJo=;
 b=b5rcwHdZ7+TUouu9RvqunUrVxiMM3UrFW1Dzo0kQQQIpkAmLbW054FeJG5efCBSAb7heL/fsaHeydx3czt54rQZd5dqL1Ku4OjGAlo5gV4Gj9DyLpNv0+l/OBLO1trepr1HVHoNnujp0YGQ+ahf9bspRCecJU00/CriuyR7tNMc=
Authentication-Results: spf=none (sender IP is )
 smtp.mailfrom=Jerin.Jacob@cavium.com; 
Received: from localhost.localdomain (111.93.218.67) by
 BY1PR0701MB1722.namprd07.prod.outlook.com (10.162.111.141) with Microsoft
 SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.860.13; Thu, 2 Feb
 2017 14:09:25 +0000
Date: Thu, 2 Feb 2017 19:39:12 +0530
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: Nipun Gupta <nipun.gupta@nxp.com>
CC: "dev@dpdk.org" <dev@dpdk.org>, "thomas.monjalon@6wind.com"
 <thomas.monjalon@6wind.com>, "bruce.richardson@intel.com"
 <bruce.richardson@intel.com>, Hemant Agrawal <hemant.agrawal@nxp.com>,
 "gage.eads@intel.com" <gage.eads@intel.com>, "harry.van.haaren@intel.com"
 <harry.van.haaren@intel.com>
Message-ID: <20170202140911.GA26986@localhost.localdomain>
References: <1480996340-29871-1-git-send-email-jerin.jacob@caviumnetworks.com>
 <1482312326-2589-1-git-send-email-jerin.jacob@caviumnetworks.com>
 <1482312326-2589-2-git-send-email-jerin.jacob@caviumnetworks.com>
 <AM5PR0401MB2514C21BEE5E1D063C897FBCE64C0@AM5PR0401MB2514.eurprd04.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <AM5PR0401MB2514C21BEE5E1D063C897FBCE64C0@AM5PR0401MB2514.eurprd04.prod.outlook.com>
User-Agent: Mutt/1.7.1 (2016-10-04)
X-Originating-IP: [111.93.218.67]
X-ClientProxiedBy: BM1PR01CA0049.INDPRD01.PROD.OUTLOOK.COM (10.163.199.21) To
 BY1PR0701MB1722.namprd07.prod.outlook.com (10.162.111.141)
X-MS-Office365-Filtering-Correlation-Id: d93775fa-89ed-4b14-1792-08d44b751951
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001);
 SRVR:BY1PR0701MB1722; 
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722;
 3:kQ4l+MQINbinblJSEd3Q+s1/NKwhOqptY5x9inxboIehnBNdE70synRlJ/ziL6n+9H5fC+3dTExndNpbQ2DrVyYCM1vhPxi0V9l3KeghIO0mKV0oy2ss4XxWtPHPHeobT7o+GPnFg6LrYG5qXPDnAh0oUojRTp52ipuEE5SNJZ+Tzv97WSB8zgBMPCFgyI0Z1FSiXJm7c5rm/OQ4yP/a/N7qUPn/NTF1JGGto437HWNdGlyS3aj6c+FMEWCPfxxJQGrwwjA7QSgXkPucz/0xdA==;
 25:a9nXUbrdcdcOrO5C4hCoWGoHsIyVaUhFlpXk2fUI06s4IoiVQuN0j9RSY94ekaM26TufbQerqt/kzx2AJmcChgVxvgorOkPX9owINcU5SS676O6JI9tgQmXfuAS5T83ahflv6xB/7K5kIXFw8nzTl/A9ncJO9up7RI2q7LudpfKP71I0FntGhd/OBex+TiivDVK6kwAjeWF6pzVxgruztBnp9rkqF3sgmgAFf5wt6fkb5cqEj7H4Xq0FVoblE7hlHpRE8fmwFZZZXTYsi0Ok3/hjMYQ4GhVigE1ywvgeQDZNfC9XuyBdjo2hTp1As3tQPPI7c7E8gIdGY+/rh7njxBUpJpKyz0o/V78jfi97Tl+0AxIK9/H5RBBnol67nNAjDl6sqjSY7ePDX/oFrGlWUd78a2bNu9DKF9APNVdX6d+NBiUDUC76l3YPB+3aAiwDh89BYvjeoXfh5Fgtl+3c6Q==
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722;
 31:mF+MQ9La0gcUiYdt8yFwLzS1cRJJi1hywxrYB+K9sim7eGPGuW7VFohaoAb8cvdpswGNwN9NaRe78Z5qXPZSfxZPFnl0OWgDwgPcZIUvG8X9FQQ9Erm0xpn5CLbA4459H3lBfQw6mdlEaBE14bkhJNTPuzFchVKe8OGKH9xYEWd0G4xns/Y88azdT2hc+/xHhgixQrAez1Ska7hxxS5zRiVS0dC6+oXFFKTzz5uY9F2UzTOz4wU4k4cjf9FfB6NU6l7nUvfutopgC3hCDtKZnmVnpw1mfH1Gz58H5WowY7k=;
 20:8ouL3zolcTHTtcR0kqkpaDZp4Pt9nfHmQb6Itpc+N4IpOyR7V9BSDufZjLlXoXGZ3UhAmDrC26656CIhisczn991/A9EzKlZZhz6J/jrNg90ZWhrixQSoRcjT1NMZSJ1MT/Bo3UoSWq2wur1hiQ2QryihwZnkRMN2BwirZ5bVdXfQIl8XJziKNwADcxQZcIL+UQDb6AEBAbVyoD2YB+y9uVnhzZ91LfJmo/YaCa+2Tzs3PBk1z4YByZvQ7lnjQ6/pnVfYhZ9xSkWatW2FzIUcP8Qfs2p+VNlE26kwcE3R0Hn2yoab/3hM+nLCI1PdBMc068fAc7k6cT9T0u6fTkKSk7vnu/ezxSJxvikG9b8nIrId4oGyybeAyD4gbowuJItDJ7jUFbKfwIk01CdYPdlbo5rz7bNMSZebciQB/4ugXHmOvAmXZYtO89ba8HwW0KB3jQ+fd5u0kTnYQ/Jxqs0ORienjM7ISBJtF3tZTsGb994VcDkLHesLK6OQed21P71cnKvKKnGecWS0C7nyCVR6r6HauUQJNiCOMYanDQ1F7NrHEbCphDzd1mmS7C5sAtx/zxMSEvK41i+KMioqS/GGwo4h1NWZFmw9d3HXJRdp/o=
X-Microsoft-Antispam-PRVS: <BY1PR0701MB17221D4E07B9E84F8720901D814C0@BY1PR0701MB1722.namprd07.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:(278428928389397)(185117386973197)(228905959029699); 
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6041248)(20161123562025)(20161123555025)(20161123560025)(20161123558025)(20161123564025)(6072148);
 SRVR:BY1PR0701MB1722; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0701MB1722; 
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722;
 4:f6MR+4ZgG2suDkAv9lMTHcC+EDQsn+CJIxRH5dbKykVnqsHlX761asXSpSJL5CGwebPN2w1b8iiq+XPpKGb9kjZeLSddt9yG9OunvKvEyxOU5YbfSN9igEbVTujv3EcwAwwsaEm7X+GuCnkUoAGbF9yea7Ye+rwk5AjRZrKPDdEdrC5bBz78b/HyKyY9xHPWOWzM8++VSY+M3oLPyM+enTQPttTuMTVYk1STWWjipdB4jv2+dBzNikOtgRS2wWz+Wc0tzx7QsL9kiWGDZUObmpXp9RX6Cm/ldFM9pFE0bQ/q7VWZDDh7zwnzgp/Di/NYGZSIM4ITv8CnjFwp0UwgTyH9ebrDzGK7MDYWFMnLStlq2i8eB7Z/JHYMkpfUohrYzaIXDTCXRizWB4gt64MPJaQH3MIvQ1yXMoEnacI7nTdVBK+bYRQoRzQdm26299ENjpsz8lT+ZJyeyO2d+h1wpZ2aNbiOznjRVGx81vjRB97VFy1yqpXDRP2jB+UyASvMmRHAkmb5fLRLzJAi71Kjugc2SK3SRtfmKNFUTVJmwxklGUqgc84/+ZNWhnig/dWss9ybEeoc2sUTXxZWELuOs0voa2XOat/uqaXwENvq//pVjQ7DLvD8NCrlAMkIUxc/bpzVKQ9oev5GSh+WmCbUtLkOvi8Ke9azFBraEGunv/ByAybJdbgxmy/zVeJ11aeMx2vfce0f954bBWptUy3EY3UEpoKb7/Pxtuy5591/UCg=
X-Forefront-PRVS: 02065A9E77
X-Forefront-Antispam-Report: SFV:NSPM;
 SFS:(10009020)(4630300001)(6009001)(6069001)(7916002)(39450400003)(13464003)(199003)(189002)(24454002)(76176999)(81156014)(305945005)(6506006)(53936002)(55016002)(25786008)(8656002)(97756001)(42186005)(105586002)(106356001)(38730400001)(83506001)(68736007)(54906002)(33656002)(7736002)(110136003)(229853002)(9686003)(3846002)(50466002)(66066001)(4001350100001)(6116002)(2906002)(97736004)(101416001)(2950100002)(5009440100003)(47776003)(42882006)(6916009)(6666003)(5660300001)(93886004)(8676002)(46406003)(1076002)(50986999)(92566002)(23726003)(54356999)(189998001)(81166006)(4326007)(61506002)(7099028)(18370500001);
 DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0701MB1722; 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; BY1PR0701MB1722;
 23:/fdqHpVkYhwxHw7+Owf7qKFV4PDyWQWTrFDtBp1?=
 =?us-ascii?Q?gfmLV5E+BMj7LPbyZoTI4m2gv+GDrOeWGYBoGNWxILgdLW0iBi2UIg9WNVad?=
 =?us-ascii?Q?wfxvN/0IuGS74jIqbehxweLjaZFkuvqVjckv3nThr4w4RPvX5e7/2Pc76MJ6?=
 =?us-ascii?Q?Jdpvff0Xa0OoInAEAWzxlTeaeqDervc6uYh4RNT6sBjDJvQQO75SkzR+jSyA?=
 =?us-ascii?Q?+vWJEmTl668CjpDbQOu+994jsd1evllXFwde1oCfT7baYL2jQxanoNEn0Vo4?=
 =?us-ascii?Q?+gP0oIYzdzoBsQ49X9O0NvIbIgjD30THiR05AfibLUfEWTsyh5tCTbGyerxq?=
 =?us-ascii?Q?yZhZ39k7CdjA2yMugT9jGQAerA2ra4Xb4iE68gmmAX2dDGgKdPkrvpX5ZfMD?=
 =?us-ascii?Q?61smBAYdmJmbCsJ+IQ7Mm1Q/6NTBSN7HPzz0z+ibW78Z3PTHnmLI7Y30VD/y?=
 =?us-ascii?Q?KqZXhbb/uP/KcBxpbqZBojpuMyRLBHnqGDfMwH9e62d8hN/LCzhtFgpd45ED?=
 =?us-ascii?Q?2G4WR2dK7I7oMlJY3GXmawGPdYiSA8NaCbuGka5frJJWwJDOILRcjSEbZJ74?=
 =?us-ascii?Q?jHgCELeFkkI57eh4g/GOjGutitawhQA0GBsWcdpWbbZFQK9GKsYzB2+ct/nm?=
 =?us-ascii?Q?rn4Z+I80AbXDrUYYXV/lLF5ThDE89eiSpUdwsdPa6/do0z3ppC8OjcchuDaY?=
 =?us-ascii?Q?eTtZwLOhw9b4gMZ3tr/1bFEQMC3gJ/6iDukY3iDMiADJzDHISXEP8KgrmO6Z?=
 =?us-ascii?Q?ft7+ZlpvO+XU2GViCovFDw/GXULCefz9U3T4USUNcOiFrmZtJgwJPWzNo0xD?=
 =?us-ascii?Q?ny9ta3KqEKloNKuzsUL1FT2q68EgYSRgZKSoQAr55M1kUt6vXTMJBBDO2CGO?=
 =?us-ascii?Q?jb9oSEy70N6X0i7+4KOljjYYA2NoInyijwmI1IIIoBThtwjG52JnpvkIUU+x?=
 =?us-ascii?Q?xwwpjtaIWyabS2Sf1hs2M90QgLpZGmDCw/R7YZhdEu9+YCe6oU7blSQYH1d9?=
 =?us-ascii?Q?OL9WVnmRdu7mnv6zFk0rEKjlmxdg+DtY9+JNN54lgCwNuYQeNbXWX/fLT3Lb?=
 =?us-ascii?Q?TndrwIEKF9Y6dabY38vRdGzh9SSHuLpHtwerTVOX2SPO6Emie7A/bJ5p9uXt?=
 =?us-ascii?Q?N5MbMneFp9zJ/O6kJ7DgqumT2pUpDRoBT13r3NMELcTgZrRjQk1a0dhAVGnG?=
 =?us-ascii?Q?+8e29nsJn0g6Aoy1poJCsSNk8mAC24rbYHkfbI+OjB+qYv/yv3stoybhdLvT?=
 =?us-ascii?Q?kmXOgik6F5iTFPv6blgq5Cq9jkv+2GGPRtjZANCHe8yN/4Ro7fYOHKQ4AtDZ?=
 =?us-ascii?Q?hH92NkraGPrL45A+xj0veiwr7/zR+vJSe6EYOVWhkUmnKqF2z7bnVfdFydU/?=
 =?us-ascii?Q?91iZff5qTtHTL/MKsITOvgaIfRc/WcMUs9UIK3/cu+aHpRQup?=
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722;
 6:psG4U8Hm+itydNMiBf/r1AmXfMr73m5Tb0ddk+3gWorsI6aMvmyhdo/5htf2zOzcA/K0kVALUcKfbufiIxEQ5/QvRicy0azi8MqPrSsme/r1MWrkARNp998kfvbw21FOzo80inQsaU8jejWkI5coB4UnEvQS2QEB/LG7R//xX6cp7rfKgcymn6mfAWcTduvd9PxSGGemMW/YAMlEmq8qRrQbejQrcn7mfl2tNxu2ZGzi6SbcqQ3zQa38wIEkbYrxGtcsVTxpbclbinnA9UqPJ9anfxbMJCNgyuDkW7OyRFPap7GqlIgLgvCi/Nh/Qu1YFhzaOtKGjs2px9+WFX/8OmQaZVbNkZIkleMAIw598z+2d0R55oMQmrSaeyK/VZA5NMH9viE6liHZakmvp96LJXoEUXH5COZUXISEQeHewAM=;
 5:2jaLNFe1EScQVCCjSXII9lANbVAr2OYF2ywyz9u2Avz384tvVUp0yax7cOFD++fBGIbTbsbN+NvohS+sTSMNxjjoS/xDFLfTBkEIa4gd4gL97X25/SdBBEh2lbmX6/vYZOuAKA3I5gco0l/X79X1sQ==;
 24:jAaIENqWLssx8h5YWhgaSSpgAbEbuefdQV9Xe5ULu/6BZIIUt3k81sQfpaQZ5WrIyXFs7zbx2V9lePtVkll5ZkAbBePyE3KQaANCEfJanuk=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722;
 7:1X7dINDmWUO+d5TUIgXS7YbZHfHJgI9LtpvYc53Q8Ed11BtQxPU25CZ0Bo2DkqRNN9kFkn2w4dfiT90xt4mTrvVNGiCbZu7AqSCX63s/Iasb+qlA6Deyzoh024mjSS7D+xXzBMS6w/4vAFByLE3gFLUulT3Fx97eX/t5T1LU9vvcgy2qBPLizQ2kZxlXPBTbe4CP9Vp+abWfG+d0okyb+zAQJ+9dkuugIHU1vpGC9LAZcI+JEBxPlDAlEY39fkCS2a+Mdm8d75PZidG6UGiuWUo05+vRxjFuRjGANO7MufubA3zcXBGda4ByrAFSWV/Mwfm/5HlnWhdnrDeMN/9Gm1edDBZZrhrn59Fz3IQdzpL76SUx2DbRMGqCLXrLvHJaVuH9kXgGw4PxEEdePvzREsLBB5r5K6lvp750oznYyvR8XshLdatK2q7ns7QBagedKAQ+mYfORQhGFoezLPJ57jF3+35ezobIqQ8Uv6GpJhAzIK9IcFZDgv596cBlhBUZWISntAMAnx05CNVLHC2lORPuNQgIt+/H5NkYPlq5UCKbnl3AFLM68QdYI249KEex
X-OriginatorOrg: caviumnetworks.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2017 14:09:25.0905 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0701MB1722
Subject: Re: [dpdk-dev] [PATCH v4 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, 02 Feb 2017 14:09:30 -0000

On Thu, Feb 02, 2017 at 11:18:52AM +0000, Nipun Gupta wrote:
> Hi,
> 
> I had a few queries/comments regarding the eventdev patches.
> 
> Please see inline.
> 
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jerin Jacob
> > Sent: Wednesday, December 21, 2016 14:55
> > To: dev@dpdk.org
> > Cc: thomas.monjalon@6wind.com; bruce.richardson@intel.com; Hemant
> > Agrawal <hemant.agrawal@nxp.com>; gage.eads@intel.com;
> > harry.van.haaren@intel.com; Jerin Jacob <jerin.jacob@caviumnetworks.com>	
> > Subject: [dpdk-dev] [PATCH v4 1/6] eventdev: introduce event driven
> > programming model
> > 
> > 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>
> > Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> >  MAINTAINERS                        |    3 +
> >  doc/api/doxy-api-index.md          |    1 +
> >  doc/api/doxy-api.conf              |    1 +
> >  lib/librte_eventdev/rte_eventdev.h | 1275
> > ++++++++++++++++++++++++++++++++++++
> >  4 files changed, 1280 insertions(+)
> >  create mode 100644 lib/librte_eventdev/rte_eventdev.h
> 
> <snip>
> 
> > +
> > +/**
> > + * Event device information
> > + */
> > +struct rte_event_dev_info {
> > +	const char *driver_name;	/**< Event driver name */
> > +	struct rte_pci_device *pci_dev;	/**< PCI information */
> 
> With 'rte_device' in place (rte_dev.h), should we not have 'rte_device' instead of 'rte_pci_device' here?

Yes. Please post a patch to fix this. As the time of merging to
next-eventdev tree it was not the case.

> 
> > + * The number of events dequeued is the number of scheduler contexts held by
> > + * this port. These contexts are automatically released in the next
> > + * rte_event_dequeue_burst() invocation, or invoking
> > rte_event_enqueue_burst()
> > + * with RTE_EVENT_OP_RELEASE operation can be used to release the
> > + * contexts early.
> > + *
> > + * @param dev_id
> > + *   The identifier of the device.
> > + * @param port_id
> > + *   The identifier of the event port.
> > + * @param[out] ev
> > + *   Points to an array of *nb_events* objects of type *rte_event* structure
> > + *   for output to be populated with the dequeued event objects.
> > + * @param nb_events
> > + *   The maximum number of event objects to dequeue, typically number of
> > + *   rte_event_port_dequeue_depth() available for this port.
> > + *
> > + * @param timeout_ticks
> > + *   - 0 no-wait, returns immediately if there is no event.
> > + *   - >0 wait for the event, if the device is configured with
> > + *   RTE_EVENT_DEV_CFG_PER_DEQUEUE_TIMEOUT then this function will
> > wait until
> > + *   the event available or *timeout_ticks* time.
> 
> Just for understanding - Is expectation that rte_event_dequeue_burst() will wait till timeout
> unless requested number of events (nb_events) are not received on the event port?

Yes. If you need any change then a send RFC patch for the header file
change.

> 
> > + *   if the device is not configured with
> > RTE_EVENT_DEV_CFG_PER_DEQUEUE_TIMEOUT
> > + *   then this function will wait until the event available or
> > + *   *dequeue_timeout_ns* ns which was previously supplied to
> > + *   rte_event_dev_configure()
> > + *
> > + * @return
> > + * The number of event objects actually dequeued from the port. The return
> > + * value can be less than the value of the *nb_events* parameter when the
> > + * event port's queue is not full.
> > + *
> > + * @see rte_event_port_dequeue_depth()
> > + */
> > +uint16_t
> > +rte_event_dequeue_burst(uint8_t dev_id, uint8_t port_id, struct rte_event
> > ev[],
> > +			uint16_t nb_events, uint64_t timeout_ticks);
> > +
> 
> <Snip>
> 
> Regards,
> Nipun