diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2011-01-28 14:22:27 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2011-01-28 14:30:43 -0500 |
commit | b8be8fb192541fad88983ef6f9270cec1b51b59a (patch) | |
tree | 0ea9d579aa284cd156f228dc0e76da801c6792ee /include/litmus/sched_plugin.h | |
parent | d11808b5c6b032de4284281ed2ff77ae697a4ebd (diff) |
Generalizd architecture for GEDF-style scheduelrs to reduce code redundancy.wip-refactored-gedf
This patch hoists nearly all of the non-GEDF specific code (decision
making (GEDF) vs. carrying out decisions (non-specific)) out of
sched_gsn_edf.c and into a new generic sched_global_plugin architecture.
A new struct, sched_global_plugin, provides the needed hooks for other
GEDF-style schedulers to reuse the non-scheduler-specific code.
You may conceptualize this new architecture (in OO-terms) as:
* sched_plugin is the parent of sched_global_plugin.
* sched_global_plugin is the parent of gsn_edf_plugin.
* Both sched_plugin and sched_global_plugin are "pure virtual"
This patch drastically reduces the amount of code needed to support
G-EDF, EDZL, (Adaptive) EDZL, etc.
Diffstat (limited to 'include/litmus/sched_plugin.h')
-rw-r--r-- | include/litmus/sched_plugin.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/litmus/sched_plugin.h b/include/litmus/sched_plugin.h index 2d856d587041..6899816ea321 100644 --- a/include/litmus/sched_plugin.h +++ b/include/litmus/sched_plugin.h | |||
@@ -23,7 +23,7 @@ struct pi_semaphore { | |||
23 | 23 | ||
24 | /************************ setup/tear down ********************/ | 24 | /************************ setup/tear down ********************/ |
25 | 25 | ||
26 | typedef long (*activate_plugin_t) (void); | 26 | typedef long (*activate_plugin_t) (void* plugin); |
27 | typedef long (*deactivate_plugin_t) (void); | 27 | typedef long (*deactivate_plugin_t) (void); |
28 | 28 | ||
29 | 29 | ||