diff options
author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2016-02-14 09:12:22 -0500 |
---|---|---|
committer | Bjoern Brandenburg <bbb@mpi-sws.org> | 2016-03-08 10:12:50 -0500 |
commit | ff0e731b2a9789c78349659602b485d38de78bde (patch) | |
tree | df47f0cb37e90705f498e53e9ec890cfce4d0381 /include/litmus | |
parent | a83a958e62cb903e14bc458a5ace4b9f380fc802 (diff) |
LITMUS^RT core: add next_became_invalid() callback
Diffstat (limited to 'include/litmus')
-rw-r--r-- | include/litmus/sched_plugin.h | 8 |
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. */ |
36 | typedef bool (*should_wait_for_stack_t)(struct task_struct *next); | 36 | typedef 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. */ | ||
41 | typedef 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; |