aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/litmus.c
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2011-01-28 14:22:27 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2011-01-28 14:30:43 -0500
commitb8be8fb192541fad88983ef6f9270cec1b51b59a (patch)
tree0ea9d579aa284cd156f228dc0e76da801c6792ee /litmus/litmus.c
parentd11808b5c6b032de4284281ed2ff77ae697a4ebd (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 'litmus/litmus.c')
-rw-r--r--litmus/litmus.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/litmus/litmus.c b/litmus/litmus.c
index 8efd3f9ef7ee..744880c90eb5 100644
--- a/litmus/litmus.c
+++ b/litmus/litmus.c
@@ -416,7 +416,7 @@ int switch_sched_plugin(struct sched_plugin* plugin)
416 ret = litmus->deactivate_plugin(); 416 ret = litmus->deactivate_plugin();
417 if (0 != ret) 417 if (0 != ret)
418 goto out; 418 goto out;
419 ret = plugin->activate_plugin(); 419 ret = plugin->activate_plugin(plugin);
420 if (0 != ret) { 420 if (0 != ret) {
421 printk(KERN_INFO "Can't activate %s (%d).\n", 421 printk(KERN_INFO "Can't activate %s (%d).\n",
422 plugin->plugin_name, ret); 422 plugin->plugin_name, ret);