On Tue, 2017-04-04 at 18:52 -0700, Cong Wang wrote: > diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c > index 1a2f9e9..4725d2f 100644 > --- a/net/sched/sch_generic.c > +++ b/net/sched/sch_generic.c > @@ -925,7 +925,7 @@ void dev_deactivate_many(struct list_head *head) > /* Wait for outstanding qdisc_run calls. */ > list_for_each_entry(dev, head, close_list) > while (some_qdisc_is_busy(dev)) > - yield(); > + cond_resched(); > }
That won't help, cond_resched() has the same impact upon a lone SCHED_FIFO task as yield() does.. none. -Mike