diff options
author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2014-07-16 10:52:13 -0400 |
---|---|---|
committer | Namhoon Kim <namhoonk@cs.unc.edu> | 2014-11-03 21:57:36 -0500 |
commit | 277dbeea9af1ca31add69636aef4b18892e54646 (patch) | |
tree | ee842b28bd2e674721d04c04b97c5d1ea5f49141 /include | |
parent | 70f269792d87c26f03a93c6715ea351c2eee62a3 (diff) |
Add reservation creation API to plugin interface & syscalls
Diffstat (limited to 'include')
-rw-r--r-- | include/litmus/sched_plugin.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/litmus/sched_plugin.h b/include/litmus/sched_plugin.h index 0ccccd6ae1af..cb663b84dd38 100644 --- a/include/litmus/sched_plugin.h +++ b/include/litmus/sched_plugin.h | |||
@@ -77,6 +77,11 @@ typedef long (*wait_for_release_at_t)(lt_t release_time); | |||
77 | /* Informs the plugin when a synchronous release takes place. */ | 77 | /* Informs the plugin when a synchronous release takes place. */ |
78 | typedef void (*synchronous_release_at_t)(lt_t time_zero); | 78 | typedef void (*synchronous_release_at_t)(lt_t time_zero); |
79 | 79 | ||
80 | /* Reservation creation/removal backends. Meaning of reservation_type and | ||
81 | * reservation_id are entirely plugin-specific. */ | ||
82 | typedef long (*reservation_create_t)(int reservation_type, void* __user config); | ||
83 | typedef long (*reservation_destroy_t)(unsigned int reservation_id, int cpu); | ||
84 | |||
80 | /************************ misc routines ***********************/ | 85 | /************************ misc routines ***********************/ |
81 | 86 | ||
82 | 87 | ||
@@ -109,6 +114,10 @@ struct sched_plugin { | |||
109 | task_exit_t task_exit; | 114 | task_exit_t task_exit; |
110 | task_cleanup_t task_cleanup; | 115 | task_cleanup_t task_cleanup; |
111 | 116 | ||
117 | /* Reservation support */ | ||
118 | reservation_create_t reservation_create; | ||
119 | reservation_destroy_t reservation_destroy; | ||
120 | |||
112 | #ifdef CONFIG_LITMUS_LOCKING | 121 | #ifdef CONFIG_LITMUS_LOCKING |
113 | /* locking protocols */ | 122 | /* locking protocols */ |
114 | allocate_lock_t allocate_lock; | 123 | allocate_lock_t allocate_lock; |