36#ifndef _RTEMS_TEST_SCHEDULER_H
37#define _RTEMS_TEST_SCHEDULER_H
55 T_SCHEDULER_ADD_PROCESSOR,
57 T_SCHEDULER_ASK_FOR_HELP,
59 T_SCHEDULER_CANCEL_JOB,
60 T_SCHEDULER_CLEAN_STICKY,
61 T_SCHEDULER_INITIALIZE,
62 T_SCHEDULER_MAKE_STICKY,
63 T_SCHEDULER_MAP_PRIORITY,
64 T_SCHEDULER_NODE_DESTROY,
65 T_SCHEDULER_NODE_INITIALIZE,
67 T_SCHEDULER_RECONSIDER_HELP_REQUEST,
68 T_SCHEDULER_RELEASE_JOB,
69 T_SCHEDULER_REMOVE_PROCESSOR,
71 T_SCHEDULER_SET_AFFINITY,
72 T_SCHEDULER_START_IDLE,
74 T_SCHEDULER_UNMAP_PRIORITY,
76 T_SCHEDULER_UPDATE_PRIORITY,
77 T_SCHEDULER_WITHDRAW_NODE,
79} T_scheduler_operation;
85 T_scheduler_operation operation;
98 Thread_Scheduler_state next_state;
121 Processor_mask affinity;
183void T_scheduler_set_event_handler(T_scheduler_event_handler,
void *);
188 T_scheduler_operation,
size_t *);
261#define T_SCHEDULER_ENTRY_POINTS { T_scheduler_initialize, \
262 T_scheduler_schedule, T_scheduler_yield, T_scheduler_block, \
263 T_scheduler_unblock, T_scheduler_update_priority, \
264 T_scheduler_map_priority, T_scheduler_unmap_priority, \
265 T_scheduler_ask_for_help, T_scheduler_reconsider_help_request, \
266 T_scheduler_withdraw_node, T_scheduler_make_sticky, \
267 T_scheduler_clean_sticky, T_scheduler_pin, T_scheduler_unpin, \
268 T_scheduler_add_processor, T_scheduler_remove_processor, \
269 T_scheduler_node_initialize, T_scheduler_node_destroy, \
270 T_scheduler_release_job, T_scheduler_cancel_job, \
271 T_scheduler_start_idle, T_scheduler_set_affinity }
273#define T_SCHEDULER_ENTRY_POINTS { T_scheduler_initialize, \
274 T_scheduler_schedule, T_scheduler_yield, T_scheduler_block, \
275 T_scheduler_unblock, T_scheduler_update_priority, \
276 T_scheduler_map_priority, T_scheduler_unmap_priority, \
277 T_scheduler_node_initialize, T_scheduler_node_destroy, \
278 T_scheduler_release_job, T_scheduler_cancel_job, \
279 T_scheduler_start_idle }
uint64_t Priority_Control
The thread priority control.
Definition: priority.h:91
Status_Control
Status codes.
Definition: status.h:111
This header file provides the interfaces of the Processor Mask.
This header file provides interfaces of the Scheduler Handler which are used by the implementation an...
Per CPU Core Structure.
Definition: percpu.h:384
The priority node to build up a priority aggregation.
Definition: priority.h:112
Scheduler node for per-thread data.
Definition: schedulernode.h:94
The scheduler operations.
Definition: scheduler.h:62
Definition: test-scheduler.h:81
Definition: test-scheduler.h:148
Definition: test-scheduler.h:153
Definition: test-scheduler.h:138
Definition: test-scheduler.h:158
Definition: test-scheduler.h:143
Definition: test-scheduler.h:133
Thread queue context for the thread queue methods.
Definition: threadq.h:216
Scheduler control.
Definition: scheduler.h:335
This header file provides interfaces of the RTEMS Test Framework.