12 #ifndef ODP_API_SPEC_SCHEDULE_H_
13 #define ODP_API_SPEC_SCHEDULE_H_
14 #include <odp/visibility_begin.h>
566 #include <odp/visibility_end.h>
ODP event API type definitions.
Standard C language types and definitions for ODP.
int odp_schedule_group_thrmask(odp_schedule_group_t group, odp_thrmask_t *thrmask)
Get a schedule group's thrmask.
int odp_schedule_multi_no_wait(odp_queue_t *from, odp_event_t events[], int num)
Schedule, do not wait for events.
void odp_schedule_order_wait(void)
Wait until the currently held scheduling context is the first in order.
int odp_schedule_multi(odp_queue_t *from, uint64_t wait, odp_event_t events[], int num)
Schedule multiple events.
void odp_schedule_order_lock_wait(uint32_t lock_index)
Asynchronous ordered context lock wait Wait for a previously started lock acquire operation to finish...
int odp_schedule_group_t
Scheduler thread group.
void odp_schedule_config_init(odp_schedule_config_t *config)
Initialize schedule configuration options.
int odp_schedule_group_join(odp_schedule_group_t group, const odp_thrmask_t *mask)
Join a schedule group.
void odp_schedule_order_lock_start(uint32_t lock_index)
Asynchronous ordered context lock Request an ordered context lock to be acquired.
odp_schedule_group_t odp_schedule_group_lookup(const char *name)
Look up a schedule group by name.
int odp_schedule_min_prio(void)
Minimum scheduling priority level.
int odp_schedule_group_destroy(odp_schedule_group_t group)
Schedule group destroy.
void odp_schedule_release_atomic(void)
Release the current atomic context.
int odp_schedule_group_leave(odp_schedule_group_t group, const odp_thrmask_t *mask)
Leave a schedule group.
void odp_schedule_order_unlock(uint32_t lock_index)
Release ordered context lock.
int odp_schedule_default_prio(void)
Default scheduling priority level.
void odp_schedule_pause(void)
Pause scheduling.
int odp_schedule_max_prio(void)
Maximum scheduling priority level.
void odp_schedule_prefetch(int num)
Prefetch events for next schedule call.
int odp_schedule_config(const odp_schedule_config_t *config)
Global schedule configuration.
uint64_t odp_schedule_group_to_u64(odp_schedule_group_t group)
Get printable value for schedule group handle.
int odp_schedule_multi_wait(odp_queue_t *from, odp_event_t events[], int num)
Schedule, wait for events.
void odp_schedule_release_ordered(void)
Release the current ordered context.
uint64_t odp_schedule_wait_time(uint64_t ns)
Schedule wait time.
int odp_schedule_capability(odp_schedule_capability_t *capa)
Query scheduler capabilities.
int odp_schedule_group_info(odp_schedule_group_t group, odp_schedule_group_info_t *info)
Retrieve information about a schedule group.
odp_schedule_group_t odp_schedule_group_create(const char *name, const odp_thrmask_t *mask)
Schedule group create.
int odp_schedule_num_prio(void)
Number of scheduling priorities.
odp_event_t odp_schedule(odp_queue_t *from, uint64_t wait)
Schedule an event.
void odp_schedule_print(void)
Print debug info about scheduler.
void odp_schedule_resume(void)
Resume scheduling.
void odp_schedule_order_unlock_lock(uint32_t unlock_index, uint32_t lock_index)
Release existing ordered context lock and acquire a new lock.
void odp_schedule_order_lock(uint32_t lock_index)
Acquire ordered context lock.
Schedule group information.