diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-09-20 18:57:20 -0400 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-09-20 18:57:20 -0400 |
commit | 150c1d5ed8541f3a2bfcde3d5f3174b9af4ab4fc (patch) | |
tree | 7970735e676afc237e40e0971119001429bf56ae /include/litmus/gpu_affinity.h | |
parent | 33cb64c787070d6b60a02ea40064d717d3b9dc07 (diff) |
Generalized GPU cost predictors + EWMA. (untested)wip-gpu-rtas12
Diffstat (limited to 'include/litmus/gpu_affinity.h')
-rw-r--r-- | include/litmus/gpu_affinity.h | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/include/litmus/gpu_affinity.h b/include/litmus/gpu_affinity.h index d64a15cbf2a5..a2abc4c1fd7c 100644 --- a/include/litmus/gpu_affinity.h +++ b/include/litmus/gpu_affinity.h | |||
@@ -31,18 +31,20 @@ static inline lt_t get_gpu_time(struct task_struct* t) | |||
31 | 31 | ||
32 | static inline lt_t get_gpu_estimate(struct task_struct* t, gpu_migration_dist_t dist) | 32 | static inline lt_t get_gpu_estimate(struct task_struct* t, gpu_migration_dist_t dist) |
33 | { | 33 | { |
34 | // int i; | 34 | lt_t val = 0; |
35 | // fpbuf_t temp = _fp_to_integer(t->rt_param.gpu_migration_est[dist].est); | 35 | |
36 | // lt_t val = (temp >= 0) ? temp : 0; // never allow negative estimates... | 36 | switch(t->rt_param.prediction_mode) { |
37 | lt_t val = t->rt_param.gpu_migration_est[dist].avg; | 37 | case SIMPLE_AVG: |
38 | 38 | case CC_BRUTE_AVG: | |
39 | // WARN_ON(temp < 0); | 39 | case CC_MR_AVG: |
40 | 40 | val = t->rt_param.gpu_avg_est[dist].center_line; | |
41 | // lower-bound a distant migration to be at least equal to the level | 41 | break; |
42 | // below it. | 42 | case SIMPLE_EWMA: |
43 | // for(i = dist-1; (val == 0) && (i >= MIG_LOCAL); --i) { | 43 | case CC_BRUTE_EWMA: |
44 | // val = _fp_to_integer(t->rt_param.gpu_migration_est[i].est); | 44 | case CC_MR_EWMA: |
45 | // } | 45 | val = t->rt_param.gpu_ewma_est[dist].center_line; |
46 | break; | ||
47 | } | ||
46 | 48 | ||
47 | return ((val > 0) ? val : dist+1); | 49 | return ((val > 0) ? val : dist+1); |
48 | } | 50 | } |