[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20140306.160622.59358366688518505.davem@davemloft.net>
Date: Thu, 06 Mar 2014 16:06:22 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: mkl@...gutronix.de
Cc: linux-rt-users@...r.kernel.org, linux-kernel@...r.kernel.org,
netdev@...r.kernel.org, kernel@...gutronix.de
Subject: Re: [PATCH] net: sched: dev_deactivate_many(): use msleep(1)
instead of yield() to wait for outstanding qdisc_run calls
From: Marc Kleine-Budde <mkl@...gutronix.de>
Date: Wed, 5 Mar 2014 00:49:47 +0100
> @@ -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.
The intent of a yield() call, like this one here, is unambiguously
that the current thread cannot do anything until some other thread
gets onto the cpu and makes forward progress.
Therefore it should allow lower priority threads to run, not just
equal or higher priority ones.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists