Hi Patrick, Thanks for your comments.
Patrick McHardy <[EMAIL PROTECTED]> wrote on 07/20/2007 03:34:30 PM: > The queue length can be changed through multiple interfaces, if that > really is important you need to catch these cases too. I have a TODO comment in net-sysfs.c which is to catch this case. > > + } else { > > + dev->skb_blist = kmalloc(sizeof *dev->skb_blist, > > + GFP_KERNEL); > > > Why not simply put the head in struct net_device? It seems to me that > this could also be used for gso_skb. Without going into GSO, it is wasting some 32 bytes on i386 since most drivers don't export this API. > Queue purging should be done in dev_deactivate. I originally had it in dev_deactivate, but when I did a ifdown eth0, ifup eth0, the system panic'd. The first solution I thought was to initialize the skb_blist in dev_change_flags() rather than in register_netdev(), but then felt that a series of ifup/ifdown will unnecessarily check stuff/malloc/free/initialize stuff, and so thought of putting it in unregister_netdev (where it is balanced with register_netdev). Is there any reason to move this ? Thanks, - KK - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html