netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Virtual device lo asks to queue packet! since -git15
@ 2007-07-21  7:49 Andi Kleen
  2007-07-21 16:49 ` Virtual device lo asks to queue packet! since -git15 II Andi Kleen
  2007-07-21 18:53 ` Virtual device lo asks to queue packet! since -git15 David Miller
  0 siblings, 2 replies; 5+ messages in thread
From: Andi Kleen @ 2007-07-21  7:49 UTC (permalink / raw)
  To: netdev


FYI

Since -git15 (probably David's merge) I see a lot of 

Virtual device lo asks to queue packet!
Virtual device lo asks to queue packet!
Virtual device lo asks to queue packet!
Virtual device lo asks to queue packet!
Virtual device lo asks to queue packet!
Virtual device lo asks to queue packet!

during a LTP run on a nfsroot system

-Andi
 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Virtual device lo asks to queue packet! since -git15 II
  2007-07-21  7:49 Virtual device lo asks to queue packet! since -git15 Andi Kleen
@ 2007-07-21 16:49 ` Andi Kleen
  2007-07-21 16:54   ` Evgeniy Polyakov
  2007-07-21 18:53 ` Virtual device lo asks to queue packet! since -git15 David Miller
  1 sibling, 1 reply; 5+ messages in thread
From: Andi Kleen @ 2007-07-21 16:49 UTC (permalink / raw)
  To: netdev

On Saturday 21 July 2007 09:49:22 Andi Kleen wrote:
> 
> FYI
> 
> Since -git15 (probably David's merge) I see a lot of 
> 
> Virtual device lo asks to queue packet!
> Virtual device lo asks to queue packet!
> Virtual device lo asks to queue packet!
> Virtual device lo asks to queue packet!
> Virtual device lo asks to queue packet!
> Virtual device lo asks to queue packet!
> 
> during a LTP run on a nfsroot system


... and my firefox just hung itself up trying to connect to localhost:111
(in -git16 now)

Network definitely seems to have issues

-Andi


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Virtual device lo asks to queue packet! since -git15 II
  2007-07-21 16:49 ` Virtual device lo asks to queue packet! since -git15 II Andi Kleen
@ 2007-07-21 16:54   ` Evgeniy Polyakov
  0 siblings, 0 replies; 5+ messages in thread
From: Evgeniy Polyakov @ 2007-07-21 16:54 UTC (permalink / raw)
  To: Andi Kleen; +Cc: netdev

On Sat, Jul 21, 2007 at 06:49:30PM +0200, Andi Kleen (ak@suse.de) wrote:
> On Saturday 21 July 2007 09:49:22 Andi Kleen wrote:
> > 
> > FYI
> > 
> > Since -git15 (probably David's merge) I see a lot of 
> > 
> > Virtual device lo asks to queue packet!
> > Virtual device lo asks to queue packet!
> > Virtual device lo asks to queue packet!
> > Virtual device lo asks to queue packet!
> > Virtual device lo asks to queue packet!
> > Virtual device lo asks to queue packet!
> > 
> > during a LTP run on a nfsroot system
> 
> 
> ... and my firefox just hung itself up trying to connect to localhost:111
> (in -git16 now)
> 
> Network definitely seems to have issues

It should be in David's tree already.
Patrick fixed this with folowing patch:

[NET]: Fix loopback multiqueue bug

The loopback device is not allocated through netdev_alloc_mq and thus
has no room for the subqueue states reserved. Change the net_device
subqueue array to always include at least one element.

Signed-off-by: Patrick McHardy <kaber@trash.net>

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index da7a13c..bf9399c 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -575,7 +575,7 @@ struct net_device
 
 	/* The TX queue control structures */
 	unsigned int			egress_subqueue_count;
-	struct net_device_subqueue	egress_subqueue[0];
+	struct net_device_subqueue	egress_subqueue[1];
 };
 #define to_net_dev(d) container_of(d, struct net_device, dev)
 
diff --git a/net/core/dev.c b/net/core/dev.c
index 13a0d9f..4af0207 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3619,7 +3619,7 @@ struct net_device *alloc_netdev_mq(int sizeof_priv, const char *name,
 
 	/* ensure 32-byte alignment of both the device and private area */
 	alloc_size = (sizeof(*dev) + NETDEV_ALIGN_CONST +
-		     (sizeof(struct net_device_subqueue) * queue_count)) &
+		     (sizeof(struct net_device_subqueue) * (queue_count - 1))) &
 		     ~NETDEV_ALIGN_CONST;
 	alloc_size += sizeof_priv + NETDEV_ALIGN_CONST;
 
@@ -3637,7 +3637,7 @@ struct net_device *alloc_netdev_mq(int sizeof_priv, const char *name,
 		dev->priv = ((char *)dev +
 			     ((sizeof(struct net_device) +
 			       (sizeof(struct net_device_subqueue) *
-				queue_count) + NETDEV_ALIGN_CONST)
+				(queue_count - 1)) + NETDEV_ALIGN_CONST)
 			      & ~NETDEV_ALIGN_CONST));
 	}
 

> -Andi

-- 
	Evgeniy Polyakov

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: Virtual device lo asks to queue packet! since -git15
  2007-07-21  7:49 Virtual device lo asks to queue packet! since -git15 Andi Kleen
  2007-07-21 16:49 ` Virtual device lo asks to queue packet! since -git15 II Andi Kleen
@ 2007-07-21 18:53 ` David Miller
  2007-07-21 21:17   ` Andi Kleen
  1 sibling, 1 reply; 5+ messages in thread
From: David Miller @ 2007-07-21 18:53 UTC (permalink / raw)
  To: ak; +Cc: netdev

From: Andi Kleen <ak@suse.de>
Date: Sat, 21 Jul 2007 09:49:22 +0200

> Since -git15 (probably David's merge) I see a lot of 
> 
> Virtual device lo asks to queue packet!
> Virtual device lo asks to queue packet!
> Virtual device lo asks to queue packet!
> Virtual device lo asks to queue packet!
> Virtual device lo asks to queue packet!
> Virtual device lo asks to queue packet!
> 
> during a LTP run on a nfsroot system

Yes I have a fix pending in my tree for this.

commit 31ce72a6b1c7635259cf522459539c0611f2c50c
Author: Patrick McHardy <kaber@trash.net>
Date:   Fri Jul 20 19:45:45 2007 -0700

    [NET]: Fix loopback crashes when multiqueue is enabled.
    
    From: Patrick McHardy <kaber@trash.net>
    
    Signed-off-by: David S. Miller <davem@davemloft.net>

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 9820ca1..4a616d7 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -575,7 +575,7 @@ struct net_device
 
 	/* The TX queue control structures */
 	unsigned int			egress_subqueue_count;
-	struct net_device_subqueue	egress_subqueue[0];
+	struct net_device_subqueue	egress_subqueue[1];
 };
 #define to_net_dev(d) container_of(d, struct net_device, dev)
 
diff --git a/net/core/dev.c b/net/core/dev.c
index 38212c3..ee40355 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3624,7 +3624,7 @@ struct net_device *alloc_netdev_mq(int sizeof_priv, const char *name,
 
 	/* ensure 32-byte alignment of both the device and private area */
 	alloc_size = (sizeof(*dev) + NETDEV_ALIGN_CONST +
-		     (sizeof(struct net_device_subqueue) * queue_count)) &
+		     (sizeof(struct net_device_subqueue) * (queue_count - 1))) &
 		     ~NETDEV_ALIGN_CONST;
 	alloc_size += sizeof_priv + NETDEV_ALIGN_CONST;
 
@@ -3642,7 +3642,7 @@ struct net_device *alloc_netdev_mq(int sizeof_priv, const char *name,
 		dev->priv = ((char *)dev +
 			     ((sizeof(struct net_device) +
 			       (sizeof(struct net_device_subqueue) *
-				queue_count) + NETDEV_ALIGN_CONST)
+				(queue_count - 1)) + NETDEV_ALIGN_CONST)
 			      & ~NETDEV_ALIGN_CONST));
 	}
 

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: Virtual device lo asks to queue packet! since -git15
  2007-07-21 18:53 ` Virtual device lo asks to queue packet! since -git15 David Miller
@ 2007-07-21 21:17   ` Andi Kleen
  0 siblings, 0 replies; 5+ messages in thread
From: Andi Kleen @ 2007-07-21 21:17 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

On Saturday 21 July 2007 20:53:04 David Miller wrote:
> From: Andi Kleen <ak@suse.de>
> Date: Sat, 21 Jul 2007 09:49:22 +0200
> 
> > Since -git15 (probably David's merge) I see a lot of 
> > 
> > Virtual device lo asks to queue packet!
> > Virtual device lo asks to queue packet!
> > Virtual device lo asks to queue packet!
> > Virtual device lo asks to queue packet!
> > Virtual device lo asks to queue packet!
> > Virtual device lo asks to queue packet!
> > 
> > during a LTP run on a nfsroot system
> 
> Yes I have a fix pending in my tree for this.

Thanks. Could this explain the firefox hangs too? 

-Andi

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-07-21 21:17 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-21  7:49 Virtual device lo asks to queue packet! since -git15 Andi Kleen
2007-07-21 16:49 ` Virtual device lo asks to queue packet! since -git15 II Andi Kleen
2007-07-21 16:54   ` Evgeniy Polyakov
2007-07-21 18:53 ` Virtual device lo asks to queue packet! since -git15 David Miller
2007-07-21 21:17   ` Andi Kleen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).