aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorBjoern Brandenburg <bbb@mpi-sws.org>2014-07-16 10:52:13 -0400
committerNamhoon Kim <namhoonk@cs.unc.edu>2014-11-03 21:57:36 -0500
commit277dbeea9af1ca31add69636aef4b18892e54646 (patch)
treeee842b28bd2e674721d04c04b97c5d1ea5f49141 /include
parent70f269792d87c26f03a93c6715ea351c2eee62a3 (diff)
Add reservation creation API to plugin interface & syscalls
Diffstat (limited to 'include')
-rw-r--r--include/litmus/sched_plugin.h9
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. */
78typedef void (*synchronous_release_at_t)(lt_t time_zero); 78typedef 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. */
82typedef long (*reservation_create_t)(int reservation_type, void* __user config);
83typedef 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;