From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Verma, Shally" Subject: Re: [PATCH] compressdev: add feature flag to specify where processing is done Date: Tue, 20 Nov 2018 05:17:19 +0000 Message-ID: References: <1542677988-3876-1-git-send-email-fiona.trahe@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Cc: "akhil.goyal@nxp.com" , "tomaszx.jozwiak@intel.com" , "Gupta, Ashish" , "lee.daly@intel.com" To: Fiona Trahe , "dev@dpdk.org" Return-path: Received: from NAM04-CO1-obe.outbound.protection.outlook.com (mail-eopbgr690070.outbound.protection.outlook.com [40.107.69.70]) by dpdk.org (Postfix) with ESMTP id EAD462BD5 for ; Tue, 20 Nov 2018 06:17:24 +0100 (CET) In-Reply-To: <1542677988-3876-1-git-send-email-fiona.trahe@intel.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" HI Fiona >-----Original Message----- >From: Fiona Trahe >Sent: 20 November 2018 07:10 >To: dev@dpdk.org >Cc: akhil.goyal@nxp.com; tomaszx.jozwiak@intel.com; Verma, Shally ; Gupta, Ashish >; lee.daly@intel.com; fiona.trahe@intel.com >Subject: [PATCH] compressdev: add feature flag to specify where processing= is done > >External Email > >A new device feature flag, RTE_COMPDEV_FF_SW_OP_DONE_IN_DEQUEUE >is added. A PMD which processes operations using a software >acceleration engine should set this if the bulk of the >processing is done during the dequeue. It should leave it >cleared if the bulk of the processing is done during the >enqueue (default). >An application may find this useful for tuning. Help me understand a bit , so how does it work when: 1. PMD do ops processing only at enqueue , will not set this flag? 2. PMD do ops processing only at dequeue, then? 3. PMD can do op processing both at enqueue and dequeue and in such case, = can set this flag to indicate this support? So that app can choose? if supported then app set this feature flag on PMD and PMD take it as a hin= t to know application preference of processing point or PMD always do bulk = processing at chosen point? And why specific to SW PMD, I see HW PMD can do use this feature flag?! Thanks Shally > >Signed-off-by: Fiona Trahe >--- > lib/librte_compressdev/rte_compressdev.c | 2 ++ > lib/librte_compressdev/rte_compressdev.h | 8 ++++++++ > 2 files changed, 10 insertions(+) > >diff --git a/lib/librte_compressdev/rte_compressdev.c b/lib/librte_compres= sdev/rte_compressdev.c >index 10101eb..90d6862 100644 >--- a/lib/librte_compressdev/rte_compressdev.c >+++ b/lib/librte_compressdev/rte_compressdev.c >@@ -66,6 +66,8 @@ rte_compressdev_get_feature_name(uint64_t flag) > return "CPU_AVX512"; > case RTE_COMPDEV_FF_CPU_NEON: > return "CPU_NEON"; >+ case RTE_COMPDEV_FF_SW_OP_DONE_IN_DEQUEUE: >+ return "OP_DONE_IN_DEQ"; > default: > return NULL; > } >diff --git a/lib/librte_compressdev/rte_compressdev.h b/lib/librte_compres= sdev/rte_compressdev.h >index 7b68170..0fc8ed1 100644 >--- a/lib/librte_compressdev/rte_compressdev.h >+++ b/lib/librte_compressdev/rte_compressdev.h >@@ -73,6 +73,14 @@ rte_compressdev_capability_get(uint8_t dev_id, > /**< Utilises CPU SIMD AVX512 instructions */ > #define RTE_COMPDEV_FF_CPU_NEON (1ULL << 5) > /**< Utilises CPU NEON instructions */ >+#define RTE_COMPDEV_FF_SW_OP_DONE_IN_DEQUEUE (1ULL << 6) >+/**< Only applicable when RTE_COMPDEV_FF_HW_ACCELERATED flag >+ * is not set. A PMD which processes operations using a software >+ * acceleration engine should set this if the bulk of the >+ * processing is done during the dequeue. It should leave it >+ * cleared if the processing is done during the enqueue (default). >+ * An application may find this useful for tuning. >+ */ > > /** > * Get the name of a compress device feature flag. >-- >2.7.4