diff options
Diffstat (limited to 'include/net/red.h')
-rw-r--r-- | include/net/red.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/include/net/red.h b/include/net/red.h index a4eb37946f2c..3cf31d466a81 100644 --- a/include/net/red.h +++ b/include/net/red.h | |||
@@ -151,17 +151,17 @@ static inline void red_set_parms(struct red_parms *p, | |||
151 | 151 | ||
152 | static inline int red_is_idling(struct red_parms *p) | 152 | static inline int red_is_idling(struct red_parms *p) |
153 | { | 153 | { |
154 | return !PSCHED_IS_PASTPERFECT(p->qidlestart); | 154 | return p->qidlestart != PSCHED_PASTPERFECT; |
155 | } | 155 | } |
156 | 156 | ||
157 | static inline void red_start_of_idle_period(struct red_parms *p) | 157 | static inline void red_start_of_idle_period(struct red_parms *p) |
158 | { | 158 | { |
159 | PSCHED_GET_TIME(p->qidlestart); | 159 | p->qidlestart = psched_get_time(); |
160 | } | 160 | } |
161 | 161 | ||
162 | static inline void red_end_of_idle_period(struct red_parms *p) | 162 | static inline void red_end_of_idle_period(struct red_parms *p) |
163 | { | 163 | { |
164 | PSCHED_SET_PASTPERFECT(p->qidlestart); | 164 | p->qidlestart = PSCHED_PASTPERFECT; |
165 | } | 165 | } |
166 | 166 | ||
167 | static inline void red_restart(struct red_parms *p) | 167 | static inline void red_restart(struct red_parms *p) |
@@ -177,8 +177,8 @@ static inline unsigned long red_calc_qavg_from_idle_time(struct red_parms *p) | |||
177 | long us_idle; | 177 | long us_idle; |
178 | int shift; | 178 | int shift; |
179 | 179 | ||
180 | PSCHED_GET_TIME(now); | 180 | now = psched_get_time(); |
181 | us_idle = PSCHED_TDIFF_SAFE(now, p->qidlestart, p->Scell_max); | 181 | us_idle = psched_tdiff_bounded(now, p->qidlestart, p->Scell_max); |
182 | 182 | ||
183 | /* | 183 | /* |
184 | * The problem: ideally, average length queue recalcultion should | 184 | * The problem: ideally, average length queue recalcultion should |