aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus/rt_param.h
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2010-11-26 15:49:50 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2010-11-26 15:49:50 -0500
commita58179081abb08862bef0d2fa9f3dc90ac89a74d (patch)
tree430bb77433d2d7f8316bdc1fad4974a69abf0a0e /include/litmus/rt_param.h
parent1baad08397910f4dee59e071808d74ea4ff8cf11 (diff)
Implementation of Adaptive-EDZL
This patch introduces the Adaptive-EDZL (AEDZL) scheduler. AEDZL uses feedback-control to estimate job execution time. This improves the detection of zero-laxity points if WCETs are not tight.
Diffstat (limited to 'include/litmus/rt_param.h')
-rw-r--r--include/litmus/rt_param.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/litmus/rt_param.h b/include/litmus/rt_param.h
index 53741727d5d0..d1a1f6ab523a 100644
--- a/include/litmus/rt_param.h
+++ b/include/litmus/rt_param.h
@@ -33,6 +33,14 @@ typedef enum {
33 PRECISE_ENFORCEMENT /* NOT IMPLEMENTED - enforced with hrtimers */ 33 PRECISE_ENFORCEMENT /* NOT IMPLEMENTED - enforced with hrtimers */
34} budget_policy_t; 34} budget_policy_t;
35 35
36#ifdef CONFIG_PLUGIN_AEDZL
37typedef long fpbuf_t;
38typedef struct
39{
40 fpbuf_t val;
41} fp_t;
42#endif
43
36struct rt_task { 44struct rt_task {
37 lt_t exec_cost; 45 lt_t exec_cost;
38 lt_t period; 46 lt_t period;
@@ -40,6 +48,11 @@ struct rt_task {
40 unsigned int cpu; 48 unsigned int cpu;
41 task_class_t cls; 49 task_class_t cls;
42 budget_policy_t budget_policy; /* ignored by pfair */ 50 budget_policy_t budget_policy; /* ignored by pfair */
51
52#ifdef CONFIG_PLUGIN_AEDZL
53 fp_t util_est;
54 fp_t accum_err;
55#endif
43}; 56};
44 57
45/* The definition of the data that is shared between the kernel and real-time 58/* The definition of the data that is shared between the kernel and real-time