diff options
Diffstat (limited to 'include/litmus/gpu_affinity.h')
-rw-r--r-- | include/litmus/gpu_affinity.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/litmus/gpu_affinity.h b/include/litmus/gpu_affinity.h index d64a15cbf2a5..47da725717b0 100644 --- a/include/litmus/gpu_affinity.h +++ b/include/litmus/gpu_affinity.h | |||
@@ -31,6 +31,21 @@ 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; | ||
35 | lt_t val; | ||
36 | |||
37 | if(dist == MIG_NONE) { | ||
38 | dist = MIG_LOCAL; | ||
39 | } | ||
40 | |||
41 | val = t->rt_param.gpu_migration_est[dist].avg; | ||
42 | for(i = dist-1; i >= 0; --i) { | ||
43 | if(t->rt_param.gpu_migration_est[i].avg > val) { | ||
44 | val = t->rt_param.gpu_migration_est[i].avg; | ||
45 | } | ||
46 | } | ||
47 | |||
48 | #if 0 | ||
34 | // int i; | 49 | // int i; |
35 | // fpbuf_t temp = _fp_to_integer(t->rt_param.gpu_migration_est[dist].est); | 50 | // fpbuf_t temp = _fp_to_integer(t->rt_param.gpu_migration_est[dist].est); |
36 | // lt_t val = (temp >= 0) ? temp : 0; // never allow negative estimates... | 51 | // lt_t val = (temp >= 0) ? temp : 0; // never allow negative estimates... |
@@ -43,6 +58,7 @@ static inline lt_t get_gpu_estimate(struct task_struct* t, gpu_migration_dist_t | |||
43 | // for(i = dist-1; (val == 0) && (i >= MIG_LOCAL); --i) { | 58 | // for(i = dist-1; (val == 0) && (i >= MIG_LOCAL); --i) { |
44 | // val = _fp_to_integer(t->rt_param.gpu_migration_est[i].est); | 59 | // val = _fp_to_integer(t->rt_param.gpu_migration_est[i].est); |
45 | // } | 60 | // } |
61 | #endif | ||
46 | 62 | ||
47 | return ((val > 0) ? val : dist+1); | 63 | return ((val > 0) ? val : dist+1); |
48 | } | 64 | } |