[PATCH 24.03 1/8] eventdev: add capability flags for supported sched types
Jerin Jacob
jerinjacobk at gmail.com
Mon Nov 20 18:48:14 CET 2023
On Mon, Nov 20, 2023 at 11:08 PM Bruce Richardson
<bruce.richardson at intel.com> wrote:
>
> Not all eventdev's support all scheduling types, for example, some may
> only support atomic scheduling or others only support ordered
> scheduling. There is currently no clear indication for each driver what
> sched types it supports, so add capability flags to be indicated on
> return from rte_event_dev_info_get() API.
>
> Similarly add the possible scheduling types to the capabilities table in
> the docs.
>
> Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
> ---
> doc/guides/eventdevs/features/default.ini | 3 +++
> lib/eventdev/rte_eventdev.h | 21 +++++++++++++++++++++
> 2 files changed, 24 insertions(+)
>
> diff --git a/doc/guides/eventdevs/features/default.ini b/doc/guides/eventdevs/features/default.ini
> index e980ae134a..1cc4303fe5 100644
> --- a/doc/guides/eventdevs/features/default.ini
> +++ b/doc/guides/eventdevs/features/default.ini
> @@ -6,6 +6,9 @@
> ; the features table in the documentation.
> ;
> [Scheduling Features]
> +atomic_scheduling =
> +ordered_scheduling =
> +parallel_scheduling =
> queue_qos =
> event_qos =
> distributed_sched =
> diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
> index ec9b02455d..9109de157e 100644
> --- a/lib/eventdev/rte_eventdev.h
> +++ b/lib/eventdev/rte_eventdev.h
> @@ -326,6 +326,27 @@ struct rte_event;
> * than one.
> */
>
> +#define RTE_EVENT_DEV_CAP_ATOMIC (1ULL << 13)
> +/**< Event device is capable of atomic scheduling.
> + * When this flag is set, the application can configure queues with scheduling type
> + * atomic on this event device.
> + * @see RTE_SCHED_TYPE_ATOMIC
> + */
> +
> +#define RTE_EVENT_DEV_CAP_ORDERED (1ULL << 13)
> +/**< Event device is capable of ordered scheduling.
> + * When this flag is set, the application can configure queues with scheduling type
> + * ordered on this event device.
> + * @see RTE_SCHED_TYPE_ORDERED
> + */
> +
> +#define RTE_EVENT_DEV_CAP_PARALLEL (1ULL << 13)
> +/**< Event device is capable of parallel scheduling.
> + * When this flag is set, the application can configure queues with scheduling type
> + * parallel on this event device.
> + * @see RTE_SCHED_TYPE_PARALLEL
> + */
All the caps definition is 1ULL << 13. It should be unique per capa.
> /* Event device priority levels */
> #define RTE_EVENT_DEV_PRIORITY_HIGHEST 0
> /**< Highest priority expressed across eventdev subsystem
> --
> 2.39.2
>
More information about the dev
mailing list