--- x/net/sched/sch_taprio.c +++ y/net/sched/sch_taprio.c @@ -991,12 +991,12 @@ first_run: rcu_assign_pointer(q->current_entry, next); spin_unlock(&q->current_entry_lock); - hrtimer_set_expires(&q->advance_timer, end_time); - rcu_read_lock(); __netif_schedule(sch); rcu_read_unlock(); + hrtimer_forward_now(&q->advance_timer, ns_to_ktime(NSEC_PER_USEC *2)); + return HRTIMER_RESTART; }