> Ok, booting fine to me;
> if you receive this email, it must have worked. OTOH, if you
> didnt receive this it probably failed ;-> (as the presenter
> said "if you cant hear me in the far corner please raise your hand").
>
> clip away ...

+static inline int
+handle_dev_requeue(struct sk_buff *skb, struct net_device *dev, struct
Qdisc *q)
+{
+
+       if (unlikely(q == &noop_qdisc))
+               kfree_skb(skb);
+       else if (skb->next)
+               dev->gso_skb = skb;
+       else
+               q->ops->requeue(skb, q);
+       /* XXX: Could netif_schedule fail? Or is that fact we are
+        * requeueing imply the hardware path is closed
+        * and even if we fail, some interupt will wake us
+       */
+       netif_schedule(dev);
+       return 0;
+}

The current requeue calls in qdisc_restart() returns a value of 1 to the
upper layer.  If you return 0, the __qdisc_run() won't break from the
while() it seems if you have to successfully requeue a packet.


-static inline int qdisc_restart(struct net_device *dev)
+int
+qdisc_restart(struct net_device *dev)
 {

Why is this no longer defined static?


+       /* we need to refresh q because it may be invalid since we
droped 

<nitpick>
droped = dropped
</nitpick>

That's all I have for now.  I'll try applying it for kicks and see what
happens.

Thanks,

-PJ Waskiewicz
-
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

Reply via email to