From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id A8C3D2C2A for ; Thu, 30 Mar 2017 17:59:29 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=intel.com; i=@intel.com; q=dns/txt; s=intel; t=1490889569; x=1522425569; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=4GbbAyduW0EhMiVatgUYUZ53KfC+kc6//WFsxmnbgkc=; b=R1LCE1WUFBfR4d8ykXnJC02T2SSG5QJNhxlJ0NaF+ItcRu26tXYhkjPm oi+wO99sPE63Yz95iylSCt7CiB5MGQ==; Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Mar 2017 08:59:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,247,1486454400"; d="scan'208";a="71954234" Received: from irsmsx154.ger.corp.intel.com ([163.33.192.96]) by orsmga004.jf.intel.com with ESMTP; 30 Mar 2017 08:59:27 -0700 Received: from irsmsx102.ger.corp.intel.com ([169.254.2.153]) by IRSMSX154.ger.corp.intel.com ([169.254.12.233]) with mapi id 14.03.0319.002; Thu, 30 Mar 2017 16:59:26 +0100 From: "Van Haaren, Harry" To: Jerin Jacob CC: "dev@dpdk.org" , "thomas.monjalon@6wind.com" , "hemant.agrawal@nxp.com" , "Richardson, Bruce" Thread-Topic: [dpdk-dev] [PATCH] doc: add eventdev library to programmers guide Thread-Index: AQHSnbCW6sI8z/3lDkWmuWZd7y9/HKGtaSQAgAA0+bA= Date: Thu, 30 Mar 2017 15:59:26 +0000 Message-ID: References: <1489598478-149390-1-git-send-email-harry.van.haaren@intel.com> <20170330133631.kymfnawnzoq7uv7h@localhost.localdomain> In-Reply-To: <20170330133631.kymfnawnzoq7uv7h@localhost.localdomain> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOGJjZTFlYzMtOGVmMy00MjA2LWIxYTAtNDg3MzUyY2NmZmY0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6InVjSTBaSndVWmpaOHhlU1V2VHVQNlFLM01KTnBkVzdwZTF1NmdwTWZySEk9In0= x-ctpclassification: CTP_IC x-originating-ip: [163.33.239.181] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH] doc: add eventdev library to programmers guide 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, 30 Mar 2017 15:59:30 -0000 > From: Jerin Jacob [mailto:jerin.jacob@caviumnetworks.com] > Sent: Thursday, March 30, 2017 2:37 PM > To: Van Haaren, Harry > Cc: dev@dpdk.org; thomas.monjalon@6wind.com; hemant.agrawal@nxp.com; Rich= ardson, Bruce > > Subject: Re: [dpdk-dev] [PATCH] doc: add eventdev library to programmers = guide >=20 > On Wed, Mar 15, 2017 at 05:21:18PM +0000, Harry van Haaren wrote: > > This commit adds an entry in the programmers guide > > explaining the eventdev library. > > > > The rte_event struct, queues and ports are explained. > > An API walktrough of a simple two stage atomic pipeline > > provides the reader with a step by step overview of the > > expected usage of the Eventdev API. >=20 >=20 > Thanks Harry for writing this document. > Overall it looks good. Thanks for the thanks! > I have a few thoughts on this document and next steps of eventdev: >=20 > 1) Need more use cases and associated example applications >=20 > The initial version talks only about queue based event pipelining, > I think, we need to add another use case like following in the eventdev > programmers guide with associated example applications. > a) automatic multicore scaling > b) dynamic load balancing, > c) flow based pipelining > d) packet ingress order maintenance > e) synchronization services. Agreed some sample apps would ease starting to use the eventdev API. > 2) ethdev integration is pending. >=20 > There are some ethdev(NIC) HW features associated with HW eventdev > implementations. For example, The given example in the programming > guide has dedicated Rx and Tx cores, In HW ethdev and HW eventdev case, >=20 > - NIC HW can produce and inject the events to eventdev. No need for > additional Rx core push the data to eventdev on those HW > - In Some NIC HW without SW lock, multiple cores can access the same tx q= ueue > hence the need for additional TX core may not valid on those HW. Right - these details will need to be worked out as the PMDs are developed. =20 > IMO, Addressing all the use case with generic example application and > ethdev integration with eventdev would call for minor changes in the > eventdev API and the programmer guide content. =20 Yes a generic sample app would be great, I'll post the sample app that we'v= e been using for testing the SW PMD to patchwork in the next weeks if possi= ble. It is a multi-stage pipeline based application, similar to that descri= bed in the prog-guide documentation. > Considering the above points, I would like to share the current > eventdev status and propose the next step for eventdev. >=20 > Current eventdev status: > 1) Eventdev specification more or less complete > 2) Two eventdev driver implementations are ready(completed the review) al= ong > with unit test cases. > a) An eventdev SW driver from Intel > b) An eventdev HW driver from Cavium >=20 > Pending work: > 1) More generic example applications with additional eventdev uses case > backed by programming guide. > IMO, programming guide will be complete only with generic example > applications.IMHO, we can add the programming guide once we have generic = examples > 2) Minor change in eventdev specification to accommodate ethdev integrati= on > and example generic application with ethdev and eventdev for packet > forwarding. >=20 > If noone is working this, I am planning to work on item 1 and 2 to > complete eventdev work. Generic sample apps that work with all PMDs would be great, as above I'll s= hare the example pipeline app asap. Regarding API changes, yes we can deal with them as they arise during imple= mentation. > Based on the above status, I would like to merge eventdev to DPDK > v17.05 with EXPERIMENTAL tag and address pending work in v17.08 and > remove the EXPERIMENTAL tag. >=20 > Thomas and all, >=20 > Thoughts ? >=20 > NOTE: >=20 > Keeping the EXPERIMENTAL status to allow minor change in the API without > ABI issue when we address the pending work and I guess NXP eventdev also > lined up for v17.08 and they may need a minor change in the API This seems a good suggestion to me, as it enables us to move quickly in ter= ms of API/ABI (if required for new/updated PMDs) but still ensures that the= eventdev becomes available to DPDK mainline users too. No objections to this approach here, -Harry