Go to the source code of this file.
Defines | |
#define | l4cpu_reserve_name "cpu_res" |
Functions | |
int | l4cpu_reserve_add (l4_threadid_t thread, const char *name, int prio, int period, int *wcet, int deadline, int *id) |
Make a reservation. | |
int | l4cpu_reserve_delayed_preempt (l4_threadid_t thread, int id, int prio, int *delay) |
Add delayed preemption reservation for a thread, internal function. | |
int | l4cpu_reserve_change (l4_threadid_t thread, int id, int new_prio, int *new_wcet, int new_deadline) |
Change the reservation of a thread. | |
int | l4cpu_reserve_delete_thread (l4_threadid_t thread) |
Remove the reservations of a thread. | |
int | l4cpu_reserve_delete_task (l4_threadid_t task) |
Remove the reservations of a task. | |
int | l4cpu_reserve_begin_strictly_periodic (l4_threadid_t thread, l4_kernel_clock_t clock) |
Start strictly periodic execution. | |
int | l4cpu_reserve_begin_strictly_periodic_self (l4_threadid_t me) |
Start strictly periodic execution of own thread ASAP. | |
int | l4cpu_reserve_begin_strictly_periodic_self_deprecated (l4_threadid_t me, l4_kernel_clock_t clock) |
Deprecated version with timeout, which is unsafe. | |
int | l4cpu_reserve_begin_minimal_periodic (l4_threadid_t thread, l4_kernel_clock_t clock) |
Start periodic execution with minimal interrelease times. | |
int | l4cpu_reserve_begin_minimal_periodic_self (l4_threadid_t thread) |
Start periodic execution with minimal interrelease times, own thread. | |
int | l4cpu_reserve_begin_minimal_periodic_self_deprecated (l4_threadid_t thread, l4_kernel_clock_t clock) |
int | l4cpu_reserve_end_periodic (l4_threadid_t thread) |
Stop periodic execution. | |
int | l4cpu_reserve_watch (l4_threadid_t thread, unsigned **addr) |
Watch exception IPCs for the given thread. | |
int | l4cpu_reserve_scheds_count (void) |
Return the number of reservations made. | |
int | l4cpu_reserve_scheds_get (int idx, char **name, l4_threadid_t *thread, l4_threadid_t *creator, int *id, int *prio, int *period, int *wcet, int *deadline) |
Return a given reservation. | |
int | l4cpu_reserve_time_demand (l4_threadid_t thread, int id) |
Return response time of given thread. | |
int | l4cpu_dp_reserve_task (int *duration) |
Delayed Preemption: Reserve a duration for the whole task. | |
int | l4cpu_dp_remove (void) |
Delayed preemption: Cancel a reservation. | |
int | l4cpu_dp_active (void) |
Return if DP is currently running. | |
void | l4cpu_dp_start_callback (void) __attribute__((weak)) |
Callback for start of DP section. | |
int | l4cpu_dp_begin (void) |
Delayed preemption: Start a delayed preemption
After making a dp reservation with l4cpu_dp_reserve_task(), a thread can start an uninterruptible execution. Calls to this function may be nested, and the last call to l4cpu_dp_end() actually leaves the uninterruptible section. | |
void | l4cpu_dp_stop_callback (unsigned diff, void *eip) __attribute__((weak)) |
Callback for end of DP section. | |
int | l4cpu_dp_end (void) |
Delayed preemption: End a delayed preemption
When calling this function, and un-nesting all previous calls to l4cpu_dp_begin(), the thread may be preempted by the kernel again. | |
int | l4cpu_reserve_dump (void) |
Get the reservations at the reservation server and dump them. | |
int | l4cpu_reserve_wait_periodic (l4_threadid_t parent) |
int | l4cpu_reserve_wait_periodic_ready (int mode, l4_threadid_t child, l4_kernel_clock_t clock) |
Variables | |
void * | l4cpu_dp_pc |
Definition in file include/sched.h.
#define l4cpu_reserve_name "cpu_res" |
int l4cpu_dp_active | ( | void | ) |
Return if DP is currently running.
Definition at line 53 of file delayed_preempt.c.
References preempt_counter.
void l4cpu_dp_start_callback | ( | void | ) |
Callback for start of DP section.
This function is called if an delayed preemption actually starts.
Referenced by l4cpu_dp_begin().
void l4cpu_dp_stop_callback | ( | unsigned | diff, | |
void * | eip | |||
) |
Callback for end of DP section.
This function is called if an delayed preemption actually ends, this is when all nested start calls have their stop calls.
diff | the time the delayed preemption was active | |
eip | the eip that started the delayed preemption |
Referenced by l4cpu_dp_end().
int l4cpu_reserve_begin_minimal_periodic_self_deprecated | ( | l4_threadid_t | thread, | |
l4_kernel_clock_t | clock | |||
) |
int l4cpu_reserve_begin_strictly_periodic_self_deprecated | ( | l4_threadid_t | me, | |
l4_kernel_clock_t | clock | |||
) |
Deprecated version with timeout, which is unsafe.
Definition at line 160 of file clientlib.c.
References server_id, and server_init().
int l4cpu_reserve_dump | ( | void | ) |
Get the reservations at the reservation server and dump them.
Definition at line 21 of file convenience.c.
References l4cpu_reserve_scheds_count(), l4cpu_reserve_scheds_get(), and thread.
int l4cpu_reserve_time_demand | ( | l4_threadid_t | thread, | |
int | id | |||
) |
Return response time of given thread.
thread | thread id | |
id | timeslice id |
>=0 | worst-case response time according to given reservations | |
-L4_ETIME | response-time larger than period (or deadline, if set) of the thread | |
-L4_EINVAL | thread/timeslice not registered. |
Definition at line 291 of file clientlib.c.
References server_id, and server_init().
int l4cpu_reserve_wait_periodic | ( | l4_threadid_t | parent | ) |
Definition at line 20 of file startperiodic.c.
int l4cpu_reserve_wait_periodic_ready | ( | int | mode, | |
l4_threadid_t | child, | |||
l4_kernel_clock_t | clock | |||
) |
Definition at line 45 of file startperiodic.c.
References l4cpu_reserve_begin_minimal_periodic(), and l4cpu_reserve_begin_strictly_periodic().
void* l4cpu_dp_pc |