|
@@ -617,7 +617,7 @@ static enum hrtimer_restart cbq_undelay(struct hrtimer *timer)
|
|
|
|
|
|
time = ktime_set(0, 0);
|
|
time = ktime_set(0, 0);
|
|
time = ktime_add_ns(time, PSCHED_TICKS2NS(now + delay));
|
|
time = ktime_add_ns(time, PSCHED_TICKS2NS(now + delay));
|
|
- hrtimer_start(&q->delay_timer, time, HRTIMER_MODE_ABS);
|
|
|
|
|
|
+ hrtimer_start(&q->delay_timer, time, HRTIMER_MODE_ABS_PINNED);
|
|
}
|
|
}
|
|
|
|
|
|
qdisc_unthrottled(sch);
|
|
qdisc_unthrottled(sch);
|
|
@@ -1386,7 +1386,7 @@ static int cbq_init(struct Qdisc *sch, struct nlattr *opt)
|
|
q->link.minidle = -0x7FFFFFFF;
|
|
q->link.minidle = -0x7FFFFFFF;
|
|
|
|
|
|
qdisc_watchdog_init(&q->watchdog, sch);
|
|
qdisc_watchdog_init(&q->watchdog, sch);
|
|
- hrtimer_init(&q->delay_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS);
|
|
|
|
|
|
+ hrtimer_init(&q->delay_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_PINNED);
|
|
q->delay_timer.function = cbq_undelay;
|
|
q->delay_timer.function = cbq_undelay;
|
|
q->toplevel = TC_CBQ_MAXLEVEL;
|
|
q->toplevel = TC_CBQ_MAXLEVEL;
|
|
q->now = psched_get_time();
|
|
q->now = psched_get_time();
|