Commit a084980d authored by Patrick McHardy's avatar Patrick McHardy Committed by David S. Miller

[NET_SCHED]: kill PSCHED_SET_PASTPERFECT/PSCHED_IS_PASTPERFECT

Use direct assignment and comparison instead.
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 104e0878
...@@ -54,8 +54,7 @@ typedef long psched_tdiff_t; ...@@ -54,8 +54,7 @@ typedef long psched_tdiff_t;
#define PSCHED_TDIFF(tv1, tv2) (long)((tv1) - (tv2)) #define PSCHED_TDIFF(tv1, tv2) (long)((tv1) - (tv2))
#define PSCHED_TDIFF_SAFE(tv1, tv2, bound) \ #define PSCHED_TDIFF_SAFE(tv1, tv2, bound) \
min_t(long long, (tv1) - (tv2), bound) min_t(long long, (tv1) - (tv2), bound)
#define PSCHED_SET_PASTPERFECT(t) ((t) = 0) #define PSCHED_PASTPERFECT 0
#define PSCHED_IS_PASTPERFECT(t) ((t) == 0)
struct qdisc_watchdog { struct qdisc_watchdog {
struct hrtimer timer; struct hrtimer timer;
......
...@@ -151,7 +151,7 @@ static inline void red_set_parms(struct red_parms *p, ...@@ -151,7 +151,7 @@ static inline void red_set_parms(struct red_parms *p,
static inline int red_is_idling(struct red_parms *p) static inline int red_is_idling(struct red_parms *p)
{ {
return !PSCHED_IS_PASTPERFECT(p->qidlestart); return p->qidlestart != PSCHED_PASTPERFECT;
} }
static inline void red_start_of_idle_period(struct red_parms *p) static inline void red_start_of_idle_period(struct red_parms *p)
...@@ -161,7 +161,7 @@ static inline void red_start_of_idle_period(struct red_parms *p) ...@@ -161,7 +161,7 @@ static inline void red_start_of_idle_period(struct red_parms *p)
static inline void red_end_of_idle_period(struct red_parms *p) static inline void red_end_of_idle_period(struct red_parms *p)
{ {
PSCHED_SET_PASTPERFECT(p->qidlestart); p->qidlestart = PSCHED_PASTPERFECT;
} }
static inline void red_restart(struct red_parms *p) static inline void red_restart(struct red_parms *p)
......
...@@ -738,7 +738,7 @@ cbq_update_toplevel(struct cbq_sched_data *q, struct cbq_class *cl, ...@@ -738,7 +738,7 @@ cbq_update_toplevel(struct cbq_sched_data *q, struct cbq_class *cl,
if (cl && q->toplevel >= borrowed->level) { if (cl && q->toplevel >= borrowed->level) {
if (cl->q->q.qlen > 1) { if (cl->q->q.qlen > 1) {
do { do {
if (PSCHED_IS_PASTPERFECT(borrowed->undertime)) { if (borrowed->undertime == PSCHED_PASTPERFECT) {
q->toplevel = borrowed->level; q->toplevel = borrowed->level;
return; return;
} }
...@@ -824,7 +824,7 @@ cbq_update(struct cbq_sched_data *q) ...@@ -824,7 +824,7 @@ cbq_update(struct cbq_sched_data *q)
} else { } else {
/* Underlimit */ /* Underlimit */
PSCHED_SET_PASTPERFECT(cl->undertime); cl->undertime = PSCHED_PASTPERFECT;
if (avgidle > cl->maxidle) if (avgidle > cl->maxidle)
cl->avgidle = cl->maxidle; cl->avgidle = cl->maxidle;
else else
...@@ -845,7 +845,7 @@ cbq_under_limit(struct cbq_class *cl) ...@@ -845,7 +845,7 @@ cbq_under_limit(struct cbq_class *cl)
if (cl->tparent == NULL) if (cl->tparent == NULL)
return cl; return cl;
if (PSCHED_IS_PASTPERFECT(cl->undertime) || q->now >= cl->undertime) { if (cl->undertime == PSCHED_PASTPERFECT || q->now >= cl->undertime) {
cl->delayed = 0; cl->delayed = 0;
return cl; return cl;
} }
...@@ -868,8 +868,7 @@ cbq_under_limit(struct cbq_class *cl) ...@@ -868,8 +868,7 @@ cbq_under_limit(struct cbq_class *cl)
} }
if (cl->level > q->toplevel) if (cl->level > q->toplevel)
return NULL; return NULL;
} while (!PSCHED_IS_PASTPERFECT(cl->undertime) && } while (cl->undertime != PSCHED_PASTPERFECT && q->now < cl->undertime);
q->now < cl->undertime);
cl->delayed = 0; cl->delayed = 0;
return cl; return cl;
...@@ -1054,11 +1053,11 @@ cbq_dequeue(struct Qdisc *sch) ...@@ -1054,11 +1053,11 @@ cbq_dequeue(struct Qdisc *sch)
*/ */
if (q->toplevel == TC_CBQ_MAXLEVEL && if (q->toplevel == TC_CBQ_MAXLEVEL &&
PSCHED_IS_PASTPERFECT(q->link.undertime)) q->link.undertime == PSCHED_PASTPERFECT)
break; break;
q->toplevel = TC_CBQ_MAXLEVEL; q->toplevel = TC_CBQ_MAXLEVEL;
PSCHED_SET_PASTPERFECT(q->link.undertime); q->link.undertime = PSCHED_PASTPERFECT;
} }
/* No packets in scheduler or nobody wants to give them to us :-( /* No packets in scheduler or nobody wants to give them to us :-(
...@@ -1289,7 +1288,7 @@ cbq_reset(struct Qdisc* sch) ...@@ -1289,7 +1288,7 @@ cbq_reset(struct Qdisc* sch)
qdisc_reset(cl->q); qdisc_reset(cl->q);
cl->next_alive = NULL; cl->next_alive = NULL;
PSCHED_SET_PASTPERFECT(cl->undertime); cl->undertime = PSCHED_PASTPERFECT;
cl->avgidle = cl->maxidle; cl->avgidle = cl->maxidle;
cl->deficit = cl->quantum; cl->deficit = cl->quantum;
cl->cpriority = cl->priority; cl->cpriority = cl->priority;
...@@ -1650,7 +1649,7 @@ cbq_dump_class_stats(struct Qdisc *sch, unsigned long arg, ...@@ -1650,7 +1649,7 @@ cbq_dump_class_stats(struct Qdisc *sch, unsigned long arg,
cl->xstats.avgidle = cl->avgidle; cl->xstats.avgidle = cl->avgidle;
cl->xstats.undertime = 0; cl->xstats.undertime = 0;
if (!PSCHED_IS_PASTPERFECT(cl->undertime)) if (cl->undertime != PSCHED_PASTPERFECT)
cl->xstats.undertime = PSCHED_TDIFF(cl->undertime, q->now); cl->xstats.undertime = PSCHED_TDIFF(cl->undertime, q->now);
if (gnet_stats_copy_basic(d, &cl->bstats) < 0 || if (gnet_stats_copy_basic(d, &cl->bstats) < 0 ||
......
...@@ -532,7 +532,7 @@ static int tfifo_init(struct Qdisc *sch, struct rtattr *opt) ...@@ -532,7 +532,7 @@ static int tfifo_init(struct Qdisc *sch, struct rtattr *opt)
} else } else
q->limit = max_t(u32, sch->dev->tx_queue_len, 1); q->limit = max_t(u32, sch->dev->tx_queue_len, 1);
PSCHED_SET_PASTPERFECT(q->oldest); q->oldest = PSCHED_PASTPERFECT;
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment