Shirley> From the code work through, if defering rotting packet
    Shirley> process by return (missed_event &&
    Shirley> netif_rx_reschedule(dev, 0)); Then the same dev->poll can
    Shirley> be added to per cpu poll list twice: one is from
    Shirley> netif_rx_reschedule, one is from napi return 1. That
    Shirley> might explains packets out of order: when one poll
    Shirley> finishes and reset LINK SCHED bit and the next interrupt
    Shirley> runs on other cpu.

I don't think so.  It's completely normal for dev->poll() to return 1
when there's more work to be done, so the networking core will just
move the device to the tail of the poll list.  So I don't see why it
would make a difference if we actually do any work after
netif_rx_reschedule() or not.

On the other hand I still don't see why it helps to drop out of the
poll routine immediately even though we know there is more work to be
done, and the networking stack has told us it could handle more packets.

 - R.

_______________________________________________
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to