From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 ; 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 To: Nipun Gupta CC: "dev@dpdk.org" , "thomas.monjalon@6wind.com" , "bruce.richardson@intel.com" , Hemant Agrawal , "gage.eads@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> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: 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: 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 ; gage.eads@intel.com; > > harry.van.haaren@intel.com; Jerin Jacob > > 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 > > Acked-by: Bruce Richardson > > --- > > 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 > > > > > + > > +/** > > + * 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); > > + > > > > Regards, > Nipun