From patchwork Fri Dec 15 11:26:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liang, Ma" X-Patchwork-Id: 32311 X-Patchwork-Delegate: jerinj@marvell.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7EF911B03F; Fri, 15 Dec 2017 12:26:37 +0100 (CET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id D4C4A1B16D for ; Fri, 15 Dec 2017 12:26:33 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Dec 2017 03:26:33 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.45,404,1508828400"; d="scan'208";a="2943803" Received: from silpixa00398162.ir.intel.com (HELO silpixa00398162.ger.corp.intel.com) ([10.237.223.171]) by orsmga007.jf.intel.com with ESMTP; 15 Dec 2017 03:26:31 -0800 From: Liang Ma To: jerin.jacob@caviumnetworks.com Cc: dev@dpdk.org, harry.van.haaren@intel.com, bruce.richardson@intel.com, deepak.k.jain@intel.com, john.geary@intel.com, peter.mccarthy@intel.com, seanbh@gmail.com Date: Fri, 15 Dec 2017 11:26:26 +0000 Message-Id: <1513337189-137661-6-git-send-email-liang.j.ma@intel.com> X-Mailer: git-send-email 2.7.5 In-Reply-To: <1513337189-137661-1-git-send-email-liang.j.ma@intel.com> References: <1513337189-137661-1-git-send-email-liang.j.ma@intel.com> Subject: [dpdk-dev] [PATCH v2 5/8] lib/librte_eventdev: extend the eventdev capability flags 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" this commitd add three new eventdev capability flags RTE_EVENT_DEV_CAP_NONSEQ_MODE Event device is capable of operating in none sequential mode. The path of the event is not necessary to be sequential. Application can change the path of event at runtime.if the flag is not set, then event each event will follow a path from queue 0 to queue 1 to queue 2 etc. If the flag is set, events may be sent to queues in any order.If the flag is not set, the eventdev will return an error when the application enqueues an event for a qid which is not the next in the sequence. RTE_EVENT_DEV_CAP_RUNTIME_PORT_LINK Event device is capable of configuring the queue/port link at runtime. if the flag is not set, the eventdev queue/port linkis only can be configured during initialization. RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT Event device is capable of setting up the link between multiple queue with single port. if the flag is not set, the eventdev can only map a single queue to each port or map a signle queue to many port. Signed-off-by: Liang Ma Signed-off-by: Peter, Mccarthy --- lib/librte_eventdev/rte_eventdev.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte_eventdev.h index f1949ff..b18215b 100644 --- a/lib/librte_eventdev/rte_eventdev.h +++ b/lib/librte_eventdev/rte_eventdev.h @@ -283,6 +283,28 @@ struct rte_mbuf; /* we just use mbuf pointers; no need to include rte_mbuf.h */ * @see rte_event_dequeue_burst() rte_event_enqueue_burst() */ +#define RTE_EVENT_DEV_CAP_NONSEQ_MODE (1ULL << 5) +/**< Event device is capable of operating in none sequential mode. The path + * of the event is not necessary to be sequential. Application can change + * the path of event at runtime.if the flag is not set, then event each event + * will follow a path from queue 0 to queue 1 to queue 2 etc. If the flag is + * set, events may be sent to queues in any order.If the flag is not set, the + * eventdev will return an error when the application enqueues an event for a + * qid which is not the next in the sequence. + */ + +#define RTE_EVENT_DEV_CAP_RUNTIME_PORT_LINK (1ULL << 6) +/**< Event device is capable of configuring the queue/port link at runtime. + * if the flag is not set, the eventdev queue/port link is only can be + * configured during initialization. + */ + +#define RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT (1ULL << 7) +/**< Event device is capable of setting up the link between multiple queue + * with single port. if the flag is not set, the eventdev can only map a + * single queue to each port or map a signle queue to many port. + */ + /* Event device priority levels */ #define RTE_EVENT_DEV_PRIORITY_HIGHEST 0 /**< Highest priority expressed across eventdev subsystem