diff options
Diffstat (limited to 'include/litmus/rt_param.h')
-rw-r--r-- | include/litmus/rt_param.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/include/litmus/rt_param.h b/include/litmus/rt_param.h index 0198884eab86..a441badd30cc 100644 --- a/include/litmus/rt_param.h +++ b/include/litmus/rt_param.h | |||
@@ -144,6 +144,17 @@ typedef struct feedback_est{ | |||
144 | fp_t accum_err; | 144 | fp_t accum_err; |
145 | } feedback_est_t; | 145 | } feedback_est_t; |
146 | 146 | ||
147 | |||
148 | #define AVG_EST_WINDOW_SIZE 20 | ||
149 | |||
150 | typedef struct avg_est{ | ||
151 | lt_t history[AVG_EST_WINDOW_SIZE]; | ||
152 | uint16_t count; | ||
153 | uint16_t idx; | ||
154 | lt_t sum; | ||
155 | lt_t avg; | ||
156 | } avg_est_t; | ||
157 | |||
147 | /* RT task parameters for scheduling extensions | 158 | /* RT task parameters for scheduling extensions |
148 | * These parameters are inherited during clone and therefore must | 159 | * These parameters are inherited during clone and therefore must |
149 | * be explicitly set up before the task set is launched. | 160 | * be explicitly set up before the task set is launched. |
@@ -190,12 +201,10 @@ struct rt_param { | |||
190 | long unsigned int held_gpus; // bitmap of held GPUs. | 201 | long unsigned int held_gpus; // bitmap of held GPUs. |
191 | 202 | ||
192 | #ifdef CONFIG_LITMUS_AFFINITY_LOCKING | 203 | #ifdef CONFIG_LITMUS_AFFINITY_LOCKING |
193 | fp_t gpu_fb_param_a[MIG_LAST+1]; | 204 | avg_est_t gpu_migration_est[MIG_LAST+1]; |
194 | fp_t gpu_fb_param_b[MIG_LAST+1]; | ||
195 | 205 | ||
196 | gpu_migration_dist_t gpu_migration; | 206 | gpu_migration_dist_t gpu_migration; |
197 | int last_gpu; | 207 | int last_gpu; |
198 | feedback_est_t gpu_migration_est[MIG_LAST+1]; // local, near, med, far | ||
199 | 208 | ||
200 | lt_t accum_gpu_time; | 209 | lt_t accum_gpu_time; |
201 | lt_t gpu_time_stamp; | 210 | lt_t gpu_time_stamp; |