On Thu, 2014-03-06 at 16:06 -0500, David Miller wrote:
From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: Wed, 5 Mar 2014 00:49:47 +0100
quoted
@@ -839,7 +839,7 @@ void dev_deactivate_many(struct list_head *head)
/* Wait for outstanding qdisc_run calls. */
list_for_each_entry(dev, head, unreg_list)
while (some_qdisc_is_busy(dev))
- yield();
+ msleep(1)
}
I don't understand this.
yield() should really _mean_ yield.
It does, but yield() semantics make it useless for what you want to do..
and pretty much undefined for anything other than SCHED_FIFO. If you
really want to give up the CPU to any old body, you have to sleep.
-Mike