From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerin Jacob Subject: Re: [RFC] eventdev: add crypto adapter API header Date: Mon, 18 Dec 2017 12:00:17 +0530 Message-ID: <20171218063012.GA12857@jerin> References: <1510210453-61428-1-git-send-email-abhinandan.gujjar@intel.com> <20171129114153.GA16467@jerin> <9184057F7FC11744A2107296B6B8EB1E2BB1B296@FMSMSX108.amr.corp.intel.com> <20171214024910.GA10018@jerin> <9184057F7FC11744A2107296B6B8EB1E2BB1B9FF@FMSMSX108.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: "Gujjar, Abhinandan S" , "dev@dpdk.org" , "Vangati, Narender" , "Rao, Nikhil" , "hemant.agrawal@nxp.com" , "Doherty, Declan" , "nidadavolu.murthy@cavium.com" , "nithin.dabilpuram@cavium.com" , "narayanaprasad.athreya@cavium.com" To: "Eads, Gage" Return-path: Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0083.outbound.protection.outlook.com [104.47.34.83]) by dpdk.org (Postfix) with ESMTP id 49CBCE5D for ; Mon, 18 Dec 2017 07:30:56 +0100 (CET) Content-Disposition: inline In-Reply-To: <9184057F7FC11744A2107296B6B8EB1E2BB1B9FF@FMSMSX108.amr.corp.intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" -----Original Message----- > Date: Thu, 14 Dec 2017 18:52:02 +0000 > From: "Eads, Gage" > To: Jerin Jacob > CC: "Gujjar, Abhinandan S" , "dev@dpdk.org" > , "Vangati, Narender" , "Rao, > Nikhil" , "hemant.agrawal@nxp.com" > , "Doherty, Declan" , > "nidadavolu.murthy@cavium.com" , > "nithin.dabilpuram@cavium.com" , > "narayanaprasad.athreya@cavium.com" > Subject: RE: [RFC] eventdev: add crypto adapter API header > > > > > -----Original Message----- > > From: Jerin Jacob [mailto:jerin.jacob@caviumnetworks.com] > > Sent: Wednesday, December 13, 2017 8:49 PM > > To: Eads, Gage > > Cc: Gujjar, Abhinandan S ; dev@dpdk.org; > > Vangati, Narender ; Rao, Nikhil > > ; hemant.agrawal@nxp.com; Doherty, Declan > > ; nidadavolu.murthy@cavium.com; > > nithin.dabilpuram@cavium.com; narayanaprasad.athreya@cavium.com > > Subject: Re: [RFC] eventdev: add crypto adapter API header > > > > -----Original Message----- > > > Date: Wed, 13 Dec 2017 23:35:48 +0000 > > > From: "Eads, Gage" > > > To: Jerin Jacob , "Gujjar, Abhinandan S" > > > > > > CC: "dev@dpdk.org" , "Vangati, Narender" > > > , "Rao, Nikhil" , > > > "hemant.agrawal@nxp.com" , "Doherty, Declan" > > > , "nidadavolu.murthy@cavium.com" > > > , "nithin.dabilpuram@cavium.com" > > > , "narayanaprasad.athreya@cavium.com" > > > > > > Subject: RE: [RFC] eventdev: add crypto adapter API header > > > > > > Hey Jerin, > > > > Hey Gage, > > > > > > > > > > > > > > > > + > > > > > + /** > > > > > + * @warning > > > > > + * @b EXPERIMENTAL: this enum may change without prior notice > > > > > + * > > > > > + * Crypto event adapter type > > > > > + */ > > > > > +enum rte_event_crypto_adapter_type { > > > > > + RTE_EVENT_CRYPTO_ADAPTER_RX_ONLY = 1, > > > > > + /**< Start only Rx part of crypto adapter. > > > > > + * Packets dequeued from cryptodev are new to eventdev and > > > > > + * events will be treated as RTE_EVENT_OP_NEW */ > > > > > + RTE_EVENT_CRYPTO_ADAPTER_RX_TX, > > > > > + /**< Start both Rx & Tx part of crypto adapter. > > > > > + * Packet's event context will be retained and > > > > > + * event will be treated as RTE_EVENT_OP_FORWARD */ }; > > > > > > > > How about leveraging ev.op based schematics as mentioned above? > > > > > > That could work, but perhaps the ev.op should be configured once up front, as > > I see it being a function of the application architecture. A couple possible > > designs, for example: > > > - Worker enqueues into cryptodev, adapter polls for response: the adapter > > port would always use OP_NEW here. > > > - Worker sends a crypto request event to the adapter, which gives the > > > request to the cryptodev and polls for response: the adapter port > > > would always use OP_FWD here. (This ties in with my implicit release > > > patch (http://dpdk.org/ml/archives/dev/2017-December/083535.html)) > > > - Etc. > > > > Yes. Semantically both approaches will work. I was trying to avoid extra > > clutter(enum rte_event_crypto_adapter_type) in adapter API. > > I don't see any problem in moving ev.op to adapter configuration time if it helps > > the SW driver. > > > > IMO, We can change RTE_EVENT_CRYPTO_ADAPTER_RX_ONLY and > > RTE_EVENT_CRYPTO_ADAPTER_RX_TX to more appropriate name, something > > like, > > RTE_EVENT_CRYPTO_ADAPTER_TYPE_OP_NEW/RTE_EVENT_CRYPTO_ADAPTE > > R_TYPE_OP_FWD > > or something like that. > > > > I agree that the two naming schemes are equivalent, but since this option would control the adapter's behavior (Rx only vs. Rx + Tx), (IMO) I think Abhinandan's original names do a better job of conveying what effect these two options have on the adapter, compared to the op type names. The only concern with Rx/Tx terminology was, It is mostly used in the ethdev domain. In crypto domain, typically, we use enqueue/dequeue. The only difference between two modes is if adapter enqueue the events with RTE_EVENT_OP_NEW vs RTE_EVENT_OP_FORWARD then (IMO) we can change something related to that name to avoid adding a new terminology. BTW, Based on the earlier discussion, if we need to add opaque eventdev metadata to cryptodev then it may change ABI.If so, I think, we need to announce ABI change notice for cryptodev and plan cryptodev adapter for v18.05.