diff options
Diffstat (limited to 'include/litmus/sched_plugin.h')
-rw-r--r-- | include/litmus/sched_plugin.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/litmus/sched_plugin.h b/include/litmus/sched_plugin.h index 6e7cabdddae8..b5d1ae7bc3b6 100644 --- a/include/litmus/sched_plugin.h +++ b/include/litmus/sched_plugin.h | |||
@@ -53,6 +53,10 @@ typedef void (*task_block_t) (struct task_struct *task); | |||
53 | */ | 53 | */ |
54 | typedef void (*task_exit_t) (struct task_struct *); | 54 | typedef void (*task_exit_t) (struct task_struct *); |
55 | 55 | ||
56 | /* called early before the caller holds the runqueue lock */ | ||
57 | typedef void (*pre_setsched_t) (struct task_struct *, int policy); | ||
58 | |||
59 | |||
56 | /* Called when the current task attempts to create a new lock of a given | 60 | /* Called when the current task attempts to create a new lock of a given |
57 | * protocol type. */ | 61 | * protocol type. */ |
58 | typedef long (*allocate_lock_t) (struct litmus_lock **lock, int type, | 62 | typedef long (*allocate_lock_t) (struct litmus_lock **lock, int type, |
@@ -93,6 +97,8 @@ struct sched_plugin { | |||
93 | task_block_t task_block; | 97 | task_block_t task_block; |
94 | task_exit_t task_exit; | 98 | task_exit_t task_exit; |
95 | 99 | ||
100 | pre_setsched_t pre_setsched; | ||
101 | |||
96 | #ifdef CONFIG_LITMUS_LOCKING | 102 | #ifdef CONFIG_LITMUS_LOCKING |
97 | /* locking protocols */ | 103 | /* locking protocols */ |
98 | allocate_lock_t allocate_lock; | 104 | allocate_lock_t allocate_lock; |