From patchwork Tue Nov 21 11:54:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 134508 X-Patchwork-Delegate: jerinj@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 16D064338E; Tue, 21 Nov 2023 12:55:08 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9B36642EAC; Tue, 21 Nov 2023 12:54:57 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 27B8142EA0 for ; Tue, 21 Nov 2023 12:54:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700567696; x=1732103696; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=/GXrvIGraFv+xLfXmBuQpNJVMIzFZNEnJ0uw3l5uffU=; b=PojK7d/bhXCPhuqxbzh1NcghUxb0GfNhYt/t/Nism34LsW/Lyk7wzQzP rHECqtrDiU+bKG36y7qa3R7HBTv/UKq5LeiCPosr123+tZAOwXal+SdOP 5F7IpDG5NdoINo8u7RMjnfOWpIl/06UNpKe62+WaB5nM0T29wvpHF5RFh vDkSUwb81a6ds0bXeu7AXnr0oQrxM0x2Mn90GRZthvMvRJ4EHpNfpLIkH y0YYB5AP5FxX7Y2idkd5Wi1YgSm9vdWGH53Ff6/B6O3GfHyYdB5M+yvLW gtJvTDfICYroxUIJ1mAeynirfWMhI6uWxlqs+DJiA0/wTzrDW5Ee995Tz g==; X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="456160786" X-IronPort-AV: E=Sophos;i="6.04,215,1695711600"; d="scan'208";a="456160786" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Nov 2023 03:54:55 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10900"; a="801511319" X-IronPort-AV: E=Sophos;i="6.04,215,1695711600"; d="scan'208";a="801511319" Received: from unknown (HELO silpixa00401385.ir.intel.com) ([10.237.214.153]) by orsmga001.jf.intel.com with ESMTP; 21 Nov 2023 03:54:54 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson , =?utf-8?q?Mattias_R=C3=B6?= =?utf-8?q?nnblom?= , Jerin Jacob Subject: [PATCH 24.03 v2 2/9] eventdev: increase flexibility of all-types flag Date: Tue, 21 Nov 2023 11:54:30 +0000 Message-Id: <20231121115437.96500-3-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231121115437.96500-1-bruce.richardson@intel.com> References: <20231120172606.505579-1-bruce.richardson@intel.com> <20231121115437.96500-1-bruce.richardson@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Rather than requiring that any device advertising the RTE_EVENT_DEV_CAP_QUEUE_ALL_TYPES flag support all of atomic, ordered and parallel scheduling, we can redefine the field so that it basically means that you don't need to specify the queue scheduling type at config time. Instead all types of supported events can be sent to all queues. Suggested-by: Mattias Rönnblom Signed-off-by: Bruce Richardson Acked-by: Jerin Jacob --- lib/eventdev/rte_eventdev.h | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) -- 2.39.2 diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h index d48957362c..1c5043de26 100644 --- a/lib/eventdev/rte_eventdev.h +++ b/lib/eventdev/rte_eventdev.h @@ -250,11 +250,20 @@ struct rte_event; * @see rte_event_dequeue_burst() */ #define RTE_EVENT_DEV_CAP_QUEUE_ALL_TYPES (1ULL << 3) -/**< Event device is capable of enqueuing events of any type to any queue. +/**< Event device is capable of accepting enqueued events, of any type + * advertised as supported by the device, to all destination queues. + * + * When this capability is set, the "schedule_type" field of the + * rte_event_queue_conf structure is ignored when a queue is being configured. + * * If this capability is not set, the queue only supports events of the - * *RTE_SCHED_TYPE_* type that it was created with. + * *RTE_SCHED_TYPE_* type specified in the rte_event_queue_conf structure + * at time of configuration. * - * @see RTE_SCHED_TYPE_* values + * @see RTE_SCHED_TYPE_ATOMIC + * @see RTE_SCHED_TYPE_ORDERED + * @see RTE_SCHED_TYPE_PARALLEL + * @see rte_event_queue_conf.schedule_type */ #define RTE_EVENT_DEV_CAP_BURST_MODE (1ULL << 4) /**< Event device is capable of operating in burst mode for enqueue(forward,