aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus
diff options
context:
space:
mode:
authorBjoern Brandenburg <bbb@mpi-sws.org>2016-02-14 09:12:22 -0500
committerBjoern Brandenburg <bbb@mpi-sws.org>2016-03-08 10:12:50 -0500
commitff0e731b2a9789c78349659602b485d38de78bde (patch)
treedf47f0cb37e90705f498e53e9ec890cfce4d0381 /include/litmus
parenta83a958e62cb903e14bc458a5ace4b9f380fc802 (diff)
LITMUS^RT core: add next_became_invalid() callback
Diffstat (limited to 'include/litmus')
-rw-r--r--include/litmus/sched_plugin.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/litmus/sched_plugin.h b/include/litmus/sched_plugin.h
index 1906a139e6e9..2021e817b243 100644
--- a/include/litmus/sched_plugin.h
+++ b/include/litmus/sched_plugin.h
@@ -35,6 +35,11 @@ typedef void (*finish_switch_t)(struct task_struct *prev);
35 * the scheduler is invoked again. */ 35 * the scheduler is invoked again. */
36typedef bool (*should_wait_for_stack_t)(struct task_struct *next); 36typedef bool (*should_wait_for_stack_t)(struct task_struct *next);
37 37
38/* After dropping the lock to facilitate a pull migration, the task
39 * state may have changed. In this case, the core notifies the plugin
40 * with this callback and then invokes the scheduler again. */
41typedef void (*next_became_invalid_t)(struct task_struct *next);
42
38/********************* task state changes ********************/ 43/********************* task state changes ********************/
39 44
40/* Called to setup a new real-time task. 45/* Called to setup a new real-time task.
@@ -109,7 +114,10 @@ struct sched_plugin {
109 /* scheduler invocation */ 114 /* scheduler invocation */
110 schedule_t schedule; 115 schedule_t schedule;
111 finish_switch_t finish_switch; 116 finish_switch_t finish_switch;
117
118 /* control over pull migrations */
112 should_wait_for_stack_t should_wait_for_stack; 119 should_wait_for_stack_t should_wait_for_stack;
120 next_became_invalid_t next_became_invalid;
113 121
114 /* syscall backend */ 122 /* syscall backend */
115 complete_job_t complete_job; 123 complete_job_t complete_job;