Definition in file rt_scheduler.h.
Include dependency graph for rt_scheduler.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Classes | |
struct | rts_scheduler_data |
struct | rts_schedule |
Typedefs | |
typedef rts_scheduler_data * | rts_scheduler_data_t |
typedef void * | rts_schedulable_t |
An opaque reference to scheduler specific data. | |
typedef rts_schedule * | rts_schedule_t |
Enumerations | |
enum | { RSDB_RESERVATIONS } |
enum | { RSDF_RESERVATIONS = (1L << RSDB_RESERVATIONS) } |
enum | rts_reserve_mode_t { RTS_RSV_MIN, RTS_RSV_SOFT, RTS_RSV_HARD, RTS_RSV_MAX } |
The reservation mode. More... | |
Functions | |
int | rts_query_scheduler (rts_scheduler_data_t rsd_out) |
Get information about the underlying scheduler. | |
int | rts_grab_schedulable (rts_schedulable_t *rs_out, pid_t member, const char *name) |
Grab a reference to a schedulable entity. | |
int | rts_release_schedulable (rts_schedulable_t rs) |
Release a reference to a schedulable entity. | |
int | rts_set_schedule (rts_schedulable_t rsa, rts_schedule_t rs) |
Set the real-time schedule for a schedulable. | |
int | rts_get_schedule (rts_schedulable_t rsa, rts_schedule_t rs_out) |
Get the real-time schedule for a schedulable. | |
int | rts_clear_schedule (rts_schedulable_t rsa) |
Clear the real-time schedule for a schedulable and return it to a best-effort scheduler. |
|
An opaque reference to scheduler specific data. The schedulable is used to collect multiple processes under a single schedulable entity. For example, TimeSys Linux schedules a "resource set", which in turn, schedules a process in that set.
Definition at line 73 of file rt_scheduler.h. Referenced by main(), rts_clear_schedule(), rts_get_schedule(), rts_grab_schedulable(), rts_release_schedulable(), and rts_set_schedule(). |
|
Definition at line 37 of file rt_scheduler.h. |
|
The reservation mode.
Definition at line 118 of file rt_scheduler.h. |
|
Clear the real-time schedule for a schedulable and return it to a best-effort scheduler.
Definition at line 71 of file rt_scheduler_unix.c. References NULL_RESERVE, rk_cpu_reserve_delete(), rts_schedulable_rk::rsr_CPUReserve, rts_schedulable_rk::rsr_ResourceSet, rts_schedulable_rk_t, and rts_schedulable_t. Referenced by StrictPolicyImpl::RedistributeCPU(), WeightedPolicyImpl::RedistributeCPU(), StrictPolicyImpl::RemoveTask(), and WeightedPolicyImpl::RemoveTask(). |
Here is the call graph for this function:
|
Get the real-time schedule for a schedulable.
Definition at line 64 of file rt_scheduler_unix.c. References cpu_reserve_attr::compute_time, ensure, NULL_RESERVE, NULL_RESOURCE_SET, cpu_reserve_attr::period, cpu_reserve_attr::reserve_type, rk_cpu_reserve_get_attr(), rts_schedulable_rk::rsr_CPUReserve, rts_schedulable_rk::rsr_ResourceSet, RSV_HARD, RSV_SOFT, RTS_RSV_HARD, RTS_RSV_SOFT, rts_schedulable_rk_t, rts_schedulable_t, and rk_reserve_param::sch_mode. |
Here is the call graph for this function:
|
Grab a reference to a schedulable entity. The current semantics of this function are as follows:
Definition at line 41 of file rt_scheduler_unix.c. References NULL_RESERVE, NULL_RESOURCE_SET, rk_cpu_reserve_delete(), rk_proc_get_rset(), rk_reserve_t, rk_resource_set_attach_process(), rk_resource_set_create(), rk_resource_set_get_by_name(), rk_resource_set_get_cpu_rsv(), rk_resource_set_get_num_procs(), rts_schedulable_rk::rsr_Flags, rts_schedulable_rk::rsr_ResourceSet, RSRF_OWNER, rts_release_schedulable(), rts_repair_resource_sets(), rts_schedulable_rk_t, and rts_schedulable_t. Referenced by StrictPolicyImpl::AddTask(), WeightedPolicyImpl::AddTask(), and main(). |
Here is the call graph for this function:
|
Get information about the underlying scheduler. This function is mostly about making it possible to do run-time adaptation to the scheduler's capabilities.
Definition at line 25 of file rt_scheduler_unix.c. References RSDF_RESERVATIONS. Referenced by main(). |
|
Release a reference to a schedulable entity. The current semantics of this function are as follows:
Definition at line 50 of file rt_scheduler_unix.c. References NULL_RESERVE, NULL_RESOURCE_SET, rk_cpu_reserve_delete(), rk_resource_set_destroy(), rts_schedulable_rk::rsr_CPUReserve, rts_schedulable_rk::rsr_Flags, rts_schedulable_rk::rsr_ResourceSet, RSRF_OWNER, rts_schedulable_rk_t, and rts_schedulable_t. Referenced by main(), StrictPolicyImpl::RemoveTask(), WeightedPolicyImpl::RemoveTask(), and rts_grab_schedulable(). |
Here is the call graph for this function:
|
Set the real-time schedule for a schedulable.
Definition at line 57 of file rt_scheduler_unix.c. References ensure, NULL_RESERVE, NULL_RESOURCE_SET, RK_ANY_CPU, rk_cpu_reserve_create(), rk_cpu_reserve_ctl(), rk_resource_set_get_cpu_rsv(), rts_schedulable_rk::rsr_CPUReserve, rts_schedulable_rk::rsr_ResourceSet, RSV_HARD, RSV_SOFT, RTS_RSV_HARD, RTS_RSV_MAX, RTS_RSV_MIN, RTS_RSV_SOFT, rts_schedulable_rk_t, and rts_schedulable_t. Referenced by StrictPolicyImpl::RedistributeCPU(), and WeightedPolicyImpl::RedistributeCPU(). |
Here is the call graph for this function: