Thread (17 messages) 17 messages, 5 authors, 2008-08-01

Re: Kernel WARNING: at net/core/dev.c:1330 __netif_schedule+0x2c/0x98()

From: Jarek Poplawski <hidden>
Date: 2008-08-01 07:36:28
Also in: linux-wireless, lkml

Possibly related (same subject, not in this thread)

On Fri, Aug 01, 2008 at 12:01:46AM -0700, David Miller wrote:
From: Jarek Poplawski <redacted>
Date: Fri, 1 Aug 2008 07:01:50 +0000
quoted
On Fri, Aug 01, 2008 at 06:48:10AM +0000, Jarek Poplawski wrote:
quoted
On Thu, Jul 31, 2008 at 05:29:32AM -0700, David Miller wrote:
...
quoted
quoted
diff --git a/net/core/dev.c b/net/core/dev.c
index 63d6bcd..69320a5 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4200,6 +4200,7 @@ static void netdev_init_queues(struct net_device *dev)
 {
 	netdev_init_one_queue(dev, &dev->rx_queue, NULL);
 	netdev_for_each_tx_queue(dev, netdev_init_one_queue, NULL);
+	spin_lock_init(&dev->tx_global_lock);
This will probably need some lockdep annotations similar to
_xmit_lock.
...BTW, we probably could also consider some optimization here: the
xmit_lock of the first queue could be treated as special, and only
the owner could do such a freezing. This would save changes of
functionality to non mq devices. On the other hand, it would need
remembering about this special treatment (so, eg. a separate lockdep
initialization than all the others).
I think special casing the zero's queue's lock is a bad idea.
Having a real top-level synchronizer is a powerful tool and
we could use it for other things.
Sure, if there is really no problem with lockdep here, there is no
need for this at all.

Thanks for the explanations,
Jarek P.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help