API Reference Manual  1.45.1
api/spec/schedule_types.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (c) 2015-2018 Linaro Limited
3  * Copyright (c) 2023 Nokia
4  */
5 
12 #ifndef ODP_API_SPEC_SCHEDULE_TYPES_H_
13 #define ODP_API_SPEC_SCHEDULE_TYPES_H_
14 #include <odp/visibility_begin.h>
15 
16 #include <odp/api/std_types.h>
17 #include <odp/api/thrmask.h>
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
175 
177 typedef struct odp_schedule_param_t {
182 
187 
192 
196  uint32_t lock_count;
198 
205 
210  uint32_t max_groups;
211 
213  uint32_t max_prios;
214 
217  uint32_t max_queues;
218 
223  uint32_t max_queue_size;
224 
231  uint32_t max_flow_id;
232 
236 
240 
244 
246 
250 typedef struct odp_schedule_config_t {
255  uint32_t num_queues;
256 
262  uint32_t queue_size;
263 
281  uint32_t max_flow_id;
282 
284  struct {
291 
298 
305 
307 
309 
314  const char *name;
317 
322 #ifdef __cplusplus
323 }
324 #endif
325 
326 #include <odp/visibility_end.h>
327 #endif
Standard C language types and definitions for ODP.
ODP thread masks.
int odp_schedule_sync_t
Scheduler synchronization method.
int odp_schedule_prio_t
Scheduling priority level.
int odp_schedule_group_t
Scheduler thread group.
struct odp_schedule_config_t odp_schedule_config_t
Schedule configuration.
struct odp_schedule_param_t odp_schedule_param_t
Scheduler parameters.
struct odp_schedule_capability_t odp_schedule_capability_t
Scheduler capabilities.
struct odp_schedule_group_info_t odp_schedule_group_info_t
Schedule group information.
bool odp_bool_t
Boolean type.
odp_support_t
ODP support.
uint32_t max_flow_id
Maximum flow ID per queue.
odp_support_t order_wait
Order wait support.
uint32_t max_groups
Maximum number of scheduling groups.
uint32_t max_queues
Maximum number of scheduled (ODP_BLOCKING) queues of the default size.
odp_support_t waitfree_queues
Wait-free (ODP_NONBLOCKING_WF) queues support.
odp_support_t lockfree_queues
Lock-free (ODP_NONBLOCKING_LF) queues support.
uint32_t max_queue_size
Maximum number of events a scheduled (ODP_BLOCKING) queue can store simultaneously.
uint32_t max_ordered_locks
Maximum number of ordered locks per queue.
uint32_t max_prios
Number of scheduling priorities.
Schedule configuration.
odp_bool_t worker
ODP_SCHED_GROUP_WORKER.
uint32_t num_queues
Maximum number of scheduled queues to be supported.
odp_bool_t control
ODP_SCHED_GROUP_CONTROL.
struct odp_schedule_config_t::@140 sched_group
Enable/disable predefined scheduling groups.
odp_bool_t all
ODP_SCHED_GROUP_ALL.
uint32_t queue_size
Maximum number of events required to be stored simultaneously in scheduled queue.
uint32_t max_flow_id
Maximum flow ID per queue.
Schedule group information.
const char * name
Schedule group name.
odp_thrmask_t thrmask
Thread mask of the schedule group.
Scheduler parameters.
odp_schedule_group_t group
Thread group.
odp_schedule_prio_t prio
Priority level.
uint32_t lock_count
Ordered lock count for this queue.
odp_schedule_sync_t sync
Synchronization method.