[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070720.194743.71090882.davem@davemloft.net>
Date: Fri, 20 Jul 2007 19:47:43 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: kaber@...sh.net
Cc: peter.p.waskiewicz.jr@...el.com, arekm@...en.pl,
netdev@...r.kernel.org
Subject: Re: ~3 hours old git tree: Virtual device lo asks to queue packet!
From: Patrick McHardy <kaber@...sh.net>
Date: Thu, 19 Jul 2007 12:11:10 +0200
> The easiest fix would be to use egress_subqueue[1] in struct
> net_device, but I think that may cause warnings with newer gccs
> when using a constant index that is > 0. OTOH using constant
> indices doesn't seem to make much sense for the subqueue array.
>
> Arkadiusz, does this patch fix the problem?
I've applied this, but long term we should either:
1) Make loopback_dev dynamically allocated just like every
other netdev, so make loopback_init() a postcore_initcall()
to make sure that is setup early enough.
Then have to walk over the tree making everything able
to handle the fact that it's a pointer. Several data
structures are compile time initialized to "&loopback_dev"
for example, and therefore will have to be transformed into
a run-time initialization.
2) Pick some arbitrary limit for the queues, and just have that
many of them allocated in every netdev.
I like #2 because it allows us to get back the netdev_priv()
optimization.
-
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