[v3,2/9] eventdev: clarify all-types flag documentation

Message ID 20231212113223.31147-3-bruce.richardson@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Jerin Jacob
Headers
Series document scheduling types for eventdev drivers |

Checks

Context Check Description
ci/checkpatch warning coding style issues

Commit Message

Bruce Richardson Dec. 12, 2023, 11:32 a.m. UTC
  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 <hofors@lysator.liu.se>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
---
 lib/eventdev/rte_eventdev.h | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)
  

Comments

Jerin Jacob Dec. 13, 2023, 12:50 p.m. UTC | #1
On Tue, Dec 12, 2023 at 6:58 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> 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 <hofors@lysator.liu.se>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> Acked-by: Jerin Jacob <jerinj@marvell.com>

Series applied to dpdk-next-net-eventdev/for-main with following fixes. Thanks


[for-main]dell[dpdk-next-eventdev] $ ./devtools/checkpatches.sh -n 9
&& ./devtools/check-git-log.sh -n 9

### [PATCH] eventdev: clarify all-types flag documentation

WARNING:REPEATED_WORD: Possible repeated word: 'the'
#33: FILE: lib/eventdev/rte_eventdev.h:258:
+ * Instead the the "sched_type" field of each event enqueued is used to

total: 0 errors, 1 warnings, 25 lines checked


Contributor name/email mismatch with .mailmap:
        Mattias Rönnblom <hofors@lysator.liu.se> is not the primary
email address
  
Mattias Rönnblom Dec. 13, 2023, 1:20 p.m. UTC | #2
On 2023-12-12 12:32, Bruce Richardson wrote:
> 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 <hofors@lysator.liu.se>

Please use <mattias.ronnblom@ericsson.com>.

> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> Acked-by: Jerin Jacob <jerinj@marvell.com>
> ---
>   lib/eventdev/rte_eventdev.h | 17 ++++++++++++++---
>   1 file changed, 14 insertions(+), 3 deletions(-)
> 
> diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
> index d48957362c..35865f017f 100644
> --- a/lib/eventdev/rte_eventdev.h
> +++ b/lib/eventdev/rte_eventdev.h
> @@ -250,11 +250,22 @@ 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.
> + * Instead the the "sched_type" field of each event enqueued is used to

"The the" -> "the".

> + * select the scheduling to be performed on that event.
> + *
>    * 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,
  

Patch

diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
index d48957362c..35865f017f 100644
--- a/lib/eventdev/rte_eventdev.h
+++ b/lib/eventdev/rte_eventdev.h
@@ -250,11 +250,22 @@  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.
+ * Instead the the "sched_type" field of each event enqueued is used to
+ * select the scheduling to be performed on that event.
+ *
  * 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,