On Mon, Jul 14, 2008 at 05:00:11AM -0700, David Miller wrote:
From: Jarek Poplawski <redacted>
Date: Mon, 14 Jul 2008 11:49:13 +0000
quoted
On 03-07-2008 09:03, David Miller wrote:
quoted
We schedule queues, not the device, for output queue
processing in BH.
...
quoted
diff --git a/net/core/dev.c b/net/core/dev.c
index 8e38948..c5e3532 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1323,13 +1323,14 @@ static void dev_queue_xmit_nit(struct sk_buff *skb, struct net_device *dev)
void __netif_schedule(struct net_device *dev)
{
if (!test_and_set_bit(__LINK_STATE_SCHED, &dev->state)) {
Isn't this bit supposed to be set/tested per queue as well, or do I
miss something?
That shoule not happen until my later patches which switch that all
over.
See patch 5/13 which I posted on Thursday, Jul 10. That's when the
transition from "global queue state + per-queue state" into "only
per-queue state" happens.
Until that point, we have to keep the existing quasi-multi-queue
semantics in order to not break drivers etc.
I've just wondered how this 1-13/13 step can work without this...
Jarek P.